Dear Kanbayashi-san,
> I found a code validation bug in master branch.
>
> Now, ecpg does not support 'EXEC SQL COPY ... FROM STDIN ... ;' and
> code for warning it exits.
>
> https://github.com/postgres/postgres/blob/7b27f5fd36cb3270e8ac25aefd73b55
> 2663d1392/src/interfaces/ecpg/preproc/ecpg.addons#L242-L245
> ---
> ECPG: addon CopyStmt COPY opt_binary qualified_name opt_column_list
> copy_from opt_program copy_file_name copy_delimiter opt_with
> copy_options where_clause
> if (strcmp(@6, "from") == 0 &&
> (strcmp(@7, "stdin") == 0 || strcmp(@7, "stdout") == 0))
> mmerror(PARSE_ERROR, ET_WARNING, "COPY FROM STDIN is not
> implemented");
> ---
>
> But it is not working.
> ecpg command fails to notice though code like above exits on pgc code.
Good catch. I have a comment about the fix.
The parser accepts a statement like "COPY ... FROM STDOUT", and ISTM it is not either
implemented yet. However, the warning message only mentions STDIN case even STDOUT
is specified.
EXEC SQL COPY foo FROM STDOUT;
->
WARNING: COPY FROM STDIN is not implemented
I feel we can change like "COPY FROM STDIN/STDOUT...", or prepare two messages.
Thought?
Best regards,
Hayato Kuroda
FUJITSU LIMITED