summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHeikki Linnakangas2025-12-10 17:27:02 +0000
committerHeikki Linnakangas2025-12-10 17:27:02 +0000
commit343693c3c116688970be550fcbf15f7ddf55525b (patch)
treec4713690b4bb395b915cd1f88d821fe90eaa7ce1 /src
parenteebec3ca4b5ef13d01837966f51b391143670131 (diff)
Improve DDL deparsing test
1. The test initially focuses on the "parent" table, then switches to the "part" table, and goes back to the "parent" table. That seems a little weird, so move the tests around so that all the commands on the "parent" table are done first, followed by the "part" table. 2. ALTER TABLE ALTER COLUMN SET EXPRESSION was not tested, so add that. Author: jian he <jian.universality@gmail.com> Reviewed-by: Chao Li <li.evan.chao@gmail.com> Discussion: https://www.postgresql.org/message-id/CACJufxFDi7fnwB-8xXd_ExML7-7pKbTaK4j46AJ=4-14DXvtVg@mail.gmail.com
Diffstat (limited to 'src')
-rw-r--r--src/test/modules/test_ddl_deparse/expected/alter_table.out41
-rw-r--r--src/test/modules/test_ddl_deparse/sql/alter_table.sql27
2 files changed, 36 insertions, 32 deletions
diff --git a/src/test/modules/test_ddl_deparse/expected/alter_table.out b/src/test/modules/test_ddl_deparse/expected/alter_table.out
index 50d0354a341..f1c6f05fe17 100644
--- a/src/test/modules/test_ddl_deparse/expected/alter_table.out
+++ b/src/test/modules/test_ddl_deparse/expected/alter_table.out
@@ -41,25 +41,6 @@ ALTER TABLE parent ADD CONSTRAINT a_pos CHECK (a > 0);
NOTICE: merging constraint "a_pos" with inherited definition
NOTICE: DDL test: type alter table, tag ALTER TABLE
NOTICE: subcommand: type ADD CONSTRAINT (and recurse) desc constraint a_pos on table parent
-CREATE TABLE part (
- a int
-) PARTITION BY RANGE (a);
-NOTICE: DDL test: type simple, tag CREATE TABLE
-CREATE TABLE part1 PARTITION OF part FOR VALUES FROM (1) to (100);
-NOTICE: DDL test: type simple, tag CREATE TABLE
-CREATE TABLE part2 (a int);
-NOTICE: DDL test: type simple, tag CREATE TABLE
-ALTER TABLE part ATTACH PARTITION part2 FOR VALUES FROM (101) to (200);
-NOTICE: DDL test: type alter table, tag ALTER TABLE
-NOTICE: subcommand: type ATTACH PARTITION desc table part2
-ALTER TABLE part DETACH PARTITION part2;
-NOTICE: DDL test: type alter table, tag ALTER TABLE
-NOTICE: subcommand: type DETACH PARTITION desc table part2
-DROP TABLE part2;
-ALTER TABLE part ADD PRIMARY KEY (a);
-NOTICE: DDL test: type alter table, tag ALTER TABLE
-NOTICE: subcommand: type ADD CONSTRAINT (and recurse) desc constraint part_a_not_null on table part
-NOTICE: subcommand: type ADD INDEX desc index part_pkey
ALTER TABLE parent ALTER COLUMN a SET NOT NULL;
NOTICE: DDL test: type alter table, tag ALTER TABLE
NOTICE: subcommand: type SET NOT NULL (and recurse) desc constraint parent_a_not_null on table parent
@@ -117,11 +98,33 @@ NOTICE: DDL test: type alter table, tag ALTER TABLE
NOTICE: subcommand: type ALTER COLUMN SET DEFAULT desc column c of table parent
NOTICE: subcommand: type ALTER COLUMN SET DEFAULT desc column c of table child
NOTICE: subcommand: type ALTER COLUMN SET DEFAULT desc column c of table grandchild
+CREATE TABLE part (
+ a int
+) PARTITION BY RANGE (a);
+NOTICE: DDL test: type simple, tag CREATE TABLE
+CREATE TABLE part1 PARTITION OF part FOR VALUES FROM (1) to (100);
+NOTICE: DDL test: type simple, tag CREATE TABLE
+CREATE TABLE part2 (a int);
+NOTICE: DDL test: type simple, tag CREATE TABLE
+ALTER TABLE part ATTACH PARTITION part2 FOR VALUES FROM (101) to (200);
+NOTICE: DDL test: type alter table, tag ALTER TABLE
+NOTICE: subcommand: type ATTACH PARTITION desc table part2
+ALTER TABLE part DETACH PARTITION part2;
+NOTICE: DDL test: type alter table, tag ALTER TABLE
+NOTICE: subcommand: type DETACH PARTITION desc table part2
+DROP TABLE part2;
+ALTER TABLE part ADD PRIMARY KEY (a);
+NOTICE: DDL test: type alter table, tag ALTER TABLE
+NOTICE: subcommand: type ADD CONSTRAINT (and recurse) desc constraint part_a_not_null on table part
+NOTICE: subcommand: type ADD INDEX desc index part_pkey
CREATE TABLE tbl (
a int generated always as (b::int * 2) stored,
b text
);
NOTICE: DDL test: type simple, tag CREATE TABLE
+ALTER TABLE tbl ALTER COLUMN a SET EXPRESSION AS (b::int * 3);
+NOTICE: DDL test: type alter table, tag ALTER TABLE
+NOTICE: subcommand: type SET EXPRESSION desc column a of table tbl
ALTER TABLE tbl ALTER COLUMN a DROP EXPRESSION;
NOTICE: DDL test: type alter table, tag ALTER TABLE
NOTICE: subcommand: type DROP EXPRESSION desc column a of table tbl
diff --git a/src/test/modules/test_ddl_deparse/sql/alter_table.sql b/src/test/modules/test_ddl_deparse/sql/alter_table.sql
index 9ad1cf908d4..380ba266075 100644
--- a/src/test/modules/test_ddl_deparse/sql/alter_table.sql
+++ b/src/test/modules/test_ddl_deparse/sql/alter_table.sql
@@ -24,19 +24,6 @@ ALTER TABLE ONLY grandchild ADD CONSTRAINT a_pos CHECK (a > 0);
-- Constraint, with recursion
ALTER TABLE parent ADD CONSTRAINT a_pos CHECK (a > 0);
-CREATE TABLE part (
- a int
-) PARTITION BY RANGE (a);
-
-CREATE TABLE part1 PARTITION OF part FOR VALUES FROM (1) to (100);
-
-CREATE TABLE part2 (a int);
-ALTER TABLE part ATTACH PARTITION part2 FOR VALUES FROM (101) to (200);
-ALTER TABLE part DETACH PARTITION part2;
-DROP TABLE part2;
-
-ALTER TABLE part ADD PRIMARY KEY (a);
-
ALTER TABLE parent ALTER COLUMN a SET NOT NULL;
ALTER TABLE parent ALTER COLUMN a DROP NOT NULL;
ALTER TABLE parent ALTER COLUMN a SET NOT NULL;
@@ -62,11 +49,25 @@ ALTER TABLE parent ALTER COLUMN c TYPE numeric;
ALTER TABLE parent ALTER COLUMN c SET DEFAULT 0;
+CREATE TABLE part (
+ a int
+) PARTITION BY RANGE (a);
+
+CREATE TABLE part1 PARTITION OF part FOR VALUES FROM (1) to (100);
+
+CREATE TABLE part2 (a int);
+ALTER TABLE part ATTACH PARTITION part2 FOR VALUES FROM (101) to (200);
+ALTER TABLE part DETACH PARTITION part2;
+DROP TABLE part2;
+
+ALTER TABLE part ADD PRIMARY KEY (a);
+
CREATE TABLE tbl (
a int generated always as (b::int * 2) stored,
b text
);
+ALTER TABLE tbl ALTER COLUMN a SET EXPRESSION AS (b::int * 3);
ALTER TABLE tbl ALTER COLUMN a DROP EXPRESSION;
ALTER TABLE tbl ALTER COLUMN b SET COMPRESSION pglz;