RE: ecpg command does not warn COPY ... FROM STDIN;

From: "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>
To: 'Ryo Kanbayashi' <kanbayashi(dot)dev(at)gmail(dot)com>
Cc: "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: RE: ecpg command does not warn COPY ... FROM STDIN;
Date: 2025-01-08 13:35:51
Message-ID: OS7PR01MB149680266F200CC96D0EF3FC3F5122@OS7PR01MB14968.jpnprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2025-01-08 13:36:08 Re: CREATE TABLE NOT VALID for check and foreign key
Previous Message Heikki Linnakangas 2025-01-08 13:10:03 Re: Reorder shutdown sequence, to flush pgstats later