]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
ecpg: Restore detection of unsupported COPY FROM STDIN.
authorFujii Masao <fujii@postgresql.org>
Tue, 14 Jan 2025 16:24:24 +0000 (01:24 +0900)
committerFujii Masao <fujii@postgresql.org>
Tue, 14 Jan 2025 16:25:31 +0000 (01:25 +0900)
The ecpg command includes code to warn about unsupported COPY FROM STDIN
statements in input files. However, since commit 3d009e45bd,
this functionality has been broken due to a bug introduced in that commit,
causing ecpg to fail to detect the statement.

This commit resolves the issue, restoring ecpg's ability to detect
COPY FROM STDIN and issue a warning as intended.

Back-patch to all supported versions.

Author: Ryo Kanbayashi
Reviewed-by: Hayato Kuroda, Tom Lane
Discussion: https://postgr.es/m/CANOn0Ez_t5uDCUEV8c1YORMisJiU5wu681eEVZzgKwOeiKhkqQ@mail.gmail.com

src/interfaces/ecpg/preproc/ecpg.addons

index 94f7d4a3ec2b0ac053089f9fb2ad2c40f342a54e..4bb4b9ead73064103fbca65f5f2b8df3dc211cae 100644 (file)
@@ -248,7 +248,7 @@ ECPG: where_or_current_clauseWHERECURRENT_POFcursor_name block
                $$ = cat_str(2,mm_strdup("where current of"), cursor_marker);
        }
 ECPG: CopyStmtCOPYopt_binaryqualified_nameopt_column_listcopy_fromopt_programcopy_file_namecopy_delimiteropt_withcopy_optionswhere_clause addon
-                       if (strcmp($6, "from") == 0 &&
+                       if (strcmp($5, "from") == 0 &&
                           (strcmp($7, "stdin") == 0 || strcmp($7, "stdout") == 0))
                                mmerror(PARSE_ERROR, ET_WARNING, "COPY FROM STDIN is not implemented");
 ECPG: var_valueNumericOnly addon