From: Simon Riggs Date: Tue, 18 Apr 2017 09:42:10 +0000 (+0100) Subject: Allow COMMENT ON COLUMN with partitioned tables X-Git-Tag: REL_10_BETA1~234 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=51175f3638524231405e674e40bde159b0b76727;p=postgresql Allow COMMENT ON COLUMN with partitioned tables Amit Langote --- diff --git a/src/backend/commands/comment.c b/src/backend/commands/comment.c index b5569bddaf..1c17927c49 100644 --- a/src/backend/commands/comment.c +++ b/src/backend/commands/comment.c @@ -94,7 +94,8 @@ CommentObject(CommentStmt *stmt) relation->rd_rel->relkind != RELKIND_VIEW && relation->rd_rel->relkind != RELKIND_MATVIEW && relation->rd_rel->relkind != RELKIND_COMPOSITE_TYPE && - relation->rd_rel->relkind != RELKIND_FOREIGN_TABLE) + relation->rd_rel->relkind != RELKIND_FOREIGN_TABLE && + relation->rd_rel->relkind != RELKIND_PARTITIONED_TABLE) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("\"%s\" is not a table, view, materialized view, composite type, or foreign table", diff --git a/src/test/regress/expected/create_table.out b/src/test/regress/expected/create_table.out index 6f8645ddbd..b6c75d2e81 100644 --- a/src/test/regress/expected/create_table.out +++ b/src/test/regress/expected/create_table.out @@ -669,3 +669,22 @@ Number of partitions: 3 (Use \d+ to list them.) -- cleanup DROP TABLE parted, list_parted, range_parted, list_parted2, range_parted2, range_parted3; +-- comments on partitioned tables columns +CREATE TABLE parted_col_comment (a int, b text) PARTITION BY LIST (a); +COMMENT ON TABLE parted_col_comment IS 'Am partitioned table'; +COMMENT ON COLUMN parted_col_comment.a IS 'Partition key'; +SELECT obj_description('parted_col_comment'::regclass); + obj_description +---------------------- + Am partitioned table +(1 row) + +\d+ parted_col_comment + Table "public.parted_col_comment" + Column | Type | Collation | Nullable | Default | Storage | Stats target | Description +--------+---------+-----------+----------+---------+----------+--------------+--------------- + a | integer | | | | plain | | Partition key + b | text | | | | extended | | +Partition key: LIST (a) + +DROP TABLE parted_col_comment; diff --git a/src/test/regress/sql/create_table.sql b/src/test/regress/sql/create_table.sql index 1f0fa8e16d..b00d9e87b8 100644 --- a/src/test/regress/sql/create_table.sql +++ b/src/test/regress/sql/create_table.sql @@ -597,3 +597,11 @@ CREATE TABLE part_c_1_10 PARTITION OF part_c FOR VALUES FROM (1) TO (10); -- cleanup DROP TABLE parted, list_parted, range_parted, list_parted2, range_parted2, range_parted3; + +-- comments on partitioned tables columns +CREATE TABLE parted_col_comment (a int, b text) PARTITION BY LIST (a); +COMMENT ON TABLE parted_col_comment IS 'Am partitioned table'; +COMMENT ON COLUMN parted_col_comment.a IS 'Partition key'; +SELECT obj_description('parted_col_comment'::regclass); +\d+ parted_col_comment +DROP TABLE parted_col_comment;