From 187546e84e185bea6652507eb230b592e0f94b2e Mon Sep 17 00:00:00 2001 From: Nishant Sharma Date: Wed, 9 Oct 2024 15:45:58 +0530 Subject: [PATCH v3 2/2] Test Cases Changes --- contrib/postgres_fdw/expected/postgres_fdw.out | 24 ++++++++++++++++++++++++ contrib/postgres_fdw/sql/postgres_fdw.sql | 21 +++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.out index f2bcd6a..d1e3bd9 100644 --- a/contrib/postgres_fdw/expected/postgres_fdw.out +++ b/contrib/postgres_fdw/expected/postgres_fdw.out @@ -139,6 +139,24 @@ CREATE FOREIGN TABLE ft7 ( c2 int NOT NULL, c3 text ) SERVER loopback3 OPTIONS (schema_name 'S 1', table_name 'T 4'); +CREATE FOREIGN TABLE ft8 ( + c1 int OPTIONS (column_name '') NOT NULL, + c2 int NOT NULL, + c3 text +) SERVER loopback3 OPTIONS (schema_name 'S 1', table_name 'T 4'); +ERROR: cannot use empty value for option "column_name" +CREATE FOREIGN TABLE ft8 ( + c1 int NOT NULL, + c2 int NOT NULL, + c3 text +) SERVER loopback3 OPTIONS (schema_name '', table_name 'T 4'); +ERROR: cannot use empty value for option "schema_name" +CREATE FOREIGN TABLE ft8 ( + c1 int NOT NULL, + c2 int NOT NULL, + c3 text +) SERVER loopback3 OPTIONS (schema_name 'S 1', table_name ''); +ERROR: cannot use empty value for option "table_name" -- =================================================================== -- tests for validator -- =================================================================== @@ -196,10 +214,16 @@ ALTER USER MAPPING FOR public SERVER testserver1 -- permitted to check validation. ALTER USER MAPPING FOR public SERVER testserver1 OPTIONS (ADD sslkey 'value', ADD sslcert 'value'); +ALTER FOREIGN TABLE ft1 OPTIONS (schema_name '', table_name 'T 1'); +ERROR: cannot use empty value for option "schema_name" +ALTER FOREIGN TABLE ft1 OPTIONS (schema_name 'S 1', table_name ''); +ERROR: cannot use empty value for option "table_name" ALTER FOREIGN TABLE ft1 OPTIONS (schema_name 'S 1', table_name 'T 1'); ALTER FOREIGN TABLE ft2 OPTIONS (schema_name 'S 1', table_name 'T 1'); ALTER FOREIGN TABLE ft1 ALTER COLUMN c1 OPTIONS (column_name 'C 1'); ALTER FOREIGN TABLE ft2 ALTER COLUMN c1 OPTIONS (column_name 'C 1'); +ALTER FOREIGN TABLE ft2 ALTER COLUMN c2 OPTIONS (column_name ''); +ERROR: cannot use empty value for option "column_name" \det+ List of foreign tables Schema | Table | Server | FDW options | Description diff --git a/contrib/postgres_fdw/sql/postgres_fdw.sql b/contrib/postgres_fdw/sql/postgres_fdw.sql index 372fe6d..c8073b2 100644 --- a/contrib/postgres_fdw/sql/postgres_fdw.sql +++ b/contrib/postgres_fdw/sql/postgres_fdw.sql @@ -153,6 +153,24 @@ CREATE FOREIGN TABLE ft7 ( c3 text ) SERVER loopback3 OPTIONS (schema_name 'S 1', table_name 'T 4'); +CREATE FOREIGN TABLE ft8 ( + c1 int OPTIONS (column_name '') NOT NULL, + c2 int NOT NULL, + c3 text +) SERVER loopback3 OPTIONS (schema_name 'S 1', table_name 'T 4'); + +CREATE FOREIGN TABLE ft8 ( + c1 int NOT NULL, + c2 int NOT NULL, + c3 text +) SERVER loopback3 OPTIONS (schema_name '', table_name 'T 4'); + +CREATE FOREIGN TABLE ft8 ( + c1 int NOT NULL, + c2 int NOT NULL, + c3 text +) SERVER loopback3 OPTIONS (schema_name 'S 1', table_name ''); + -- =================================================================== -- tests for validator -- =================================================================== @@ -213,10 +231,13 @@ ALTER USER MAPPING FOR public SERVER testserver1 ALTER USER MAPPING FOR public SERVER testserver1 OPTIONS (ADD sslkey 'value', ADD sslcert 'value'); +ALTER FOREIGN TABLE ft1 OPTIONS (schema_name '', table_name 'T 1'); +ALTER FOREIGN TABLE ft1 OPTIONS (schema_name 'S 1', table_name ''); ALTER FOREIGN TABLE ft1 OPTIONS (schema_name 'S 1', table_name 'T 1'); ALTER FOREIGN TABLE ft2 OPTIONS (schema_name 'S 1', table_name 'T 1'); ALTER FOREIGN TABLE ft1 ALTER COLUMN c1 OPTIONS (column_name 'C 1'); ALTER FOREIGN TABLE ft2 ALTER COLUMN c1 OPTIONS (column_name 'C 1'); +ALTER FOREIGN TABLE ft2 ALTER COLUMN c2 OPTIONS (column_name ''); \det+ -- Test that alteration of server options causes reconnection -- 1.8.3.1