Remove the check for COPY TO STDIN and COPY FROM STDOUT from ecpg.

The backend grammar treats STDIN and STDOUT completely interchangeable, so
that the above accepted. Arguably that was a mistake the backend grammar,
but it's not ecpg's business to second guess that.
This commit is contained in:
Heikki Linnakangas 2013-02-26 19:30:15 +02:00
parent 8337e3b457
commit 0a4fe8a318

View File

@ -193,15 +193,9 @@ ECPG: where_or_current_clauseWHERECURRENT_POFcursor_name block
$$ = cat_str(2,mm_strdup("where current of"), cursor_marker); $$ = cat_str(2,mm_strdup("where current of"), cursor_marker);
} }
ECPG: CopyStmtCOPYopt_binaryqualified_nameopt_column_listopt_oidscopy_fromcopy_file_namecopy_delimiteropt_withcopy_options addon ECPG: CopyStmtCOPYopt_binaryqualified_nameopt_column_listopt_oidscopy_fromcopy_file_namecopy_delimiteropt_withcopy_options addon
if (strcmp($6, "to") == 0 && strcmp($7, "stdin") == 0) if (strcmp($6, "from") == 0 &&
mmerror(PARSE_ERROR, ET_ERROR, "COPY TO STDIN is not possible"); (strcmp($7, "stdin") == 0 || strcmp($7, "stdout") == 0))
else if (strcmp($6, "from") == 0 && strcmp($7, "stdout") == 0)
mmerror(PARSE_ERROR, ET_ERROR, "COPY FROM STDOUT is not possible");
else if (strcmp($6, "from") == 0 && strcmp($7, "stdin") == 0)
mmerror(PARSE_ERROR, ET_WARNING, "COPY FROM STDIN is not implemented"); mmerror(PARSE_ERROR, ET_WARNING, "COPY FROM STDIN is not implemented");
ECPG: CopyStmtCOPYselect_with_parensTOcopy_file_nameopt_withcopy_options addon
if (strcmp($4, "stdin") == 0)
mmerror(PARSE_ERROR, ET_ERROR, "COPY TO STDIN is not possible");
ECPG: var_valueNumericOnly addon ECPG: var_valueNumericOnly addon
if ($1[0] == '$') if ($1[0] == '$')
{ {