From a34297926c9fec113eadf49f6429729bd5ab991a Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 17 Oct 2024 07:21:43 +0900 Subject: [PATCH] Rewrite some regression queries for option checks with COPY Some queries in copy2 are there to check various option combinations, and used "stdin" or "stdout" incompatible with the COPY TO or FROM clauses combined with them, which was confusing. This commit rewrites these queries to use a compatible grammar. The coverage of the tests is unchanged. Like the original commit 451d1164b9d0, backpatch down to 16 where these have been introduced. A follow-up commit will rely on this area of the tests for a bug fix. Author: Joel Jacobson Reviewed-by: Zhang Mingli Discussion: https://postgr.es/m/65030d1d-5f90-4fa4-92eb-f5f50389858e@app.fastmail.com Backpatch-through: 16 --- src/test/regress/expected/copy2.out | 14 +++++++------- src/test/regress/sql/copy2.sql | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/test/regress/expected/copy2.out b/src/test/regress/expected/copy2.out index faf1a4d1b0c..9a74820ee85 100644 --- a/src/test/regress/expected/copy2.out +++ b/src/test/regress/expected/copy2.out @@ -78,21 +78,21 @@ ERROR: conflicting or redundant options LINE 1: COPY x from stdin (encoding 'sql_ascii', encoding 'sql_ascii... ^ -- incorrect options -COPY x to stdin (format BINARY, delimiter ','); +COPY x from stdin (format BINARY, delimiter ','); ERROR: cannot specify DELIMITER in BINARY mode -COPY x to stdin (format BINARY, null 'x'); +COPY x from stdin (format BINARY, null 'x'); ERROR: cannot specify NULL in BINARY mode -COPY x to stdin (format TEXT, force_quote(a)); +COPY x from stdin (format TEXT, force_quote(a)); ERROR: COPY force quote available only in CSV mode COPY x from stdin (format CSV, force_quote(a)); ERROR: COPY force quote only available using COPY TO -COPY x to stdout (format TEXT, force_not_null(a)); +COPY x from stdin (format TEXT, force_not_null(a)); ERROR: COPY force not null available only in CSV mode -COPY x to stdin (format CSV, force_not_null(a)); +COPY x to stdout (format CSV, force_not_null(a)); ERROR: COPY force not null only available using COPY FROM -COPY x to stdout (format TEXT, force_null(a)); +COPY x from stdin (format TEXT, force_null(a)); ERROR: COPY force null available only in CSV mode -COPY x to stdin (format CSV, force_null(a)); +COPY x to stdout (format CSV, force_null(a)); ERROR: COPY force null only available using COPY FROM -- too many columns in column list: should fail COPY x (a, b, c, d, e, d, c) from stdin; diff --git a/src/test/regress/sql/copy2.sql b/src/test/regress/sql/copy2.sql index d759635068c..cf3828c16e6 100644 --- a/src/test/regress/sql/copy2.sql +++ b/src/test/regress/sql/copy2.sql @@ -68,14 +68,14 @@ COPY x from stdin (convert_selectively (a), convert_selectively (b)); COPY x from stdin (encoding 'sql_ascii', encoding 'sql_ascii'); -- incorrect options -COPY x to stdin (format BINARY, delimiter ','); -COPY x to stdin (format BINARY, null 'x'); -COPY x to stdin (format TEXT, force_quote(a)); +COPY x from stdin (format BINARY, delimiter ','); +COPY x from stdin (format BINARY, null 'x'); +COPY x from stdin (format TEXT, force_quote(a)); COPY x from stdin (format CSV, force_quote(a)); -COPY x to stdout (format TEXT, force_not_null(a)); -COPY x to stdin (format CSV, force_not_null(a)); -COPY x to stdout (format TEXT, force_null(a)); -COPY x to stdin (format CSV, force_null(a)); +COPY x from stdin (format TEXT, force_not_null(a)); +COPY x to stdout (format CSV, force_not_null(a)); +COPY x from stdin (format TEXT, force_null(a)); +COPY x to stdout (format CSV, force_null(a)); -- too many columns in column list: should fail COPY x (a, b, c, d, e, d, c) from stdin; -- 2.39.5