Attached patch fixes the oversight that COMMENT ON COLUMN is not allowed
on partitioned tables columns.
Thanks,
Amit
>From cfc0717478f2a73087c85d67d73e557aaccb4f78 Mon Sep 17 00:00:00 2001
From: amit
Date: Tue, 18 Apr 2017 14:48:37 +0900
Subject: [PATCH] Allow COMMENT ON partitioned table columns
---
src/backend/commands/comment.c | 3 ++-
src/test/regress/expected/create_table.out | 19 +++
src/test/regress/sql/create_table.sql | 8
3 files changed, 29 insertions(+), 1 deletion(-)
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;
--
2.11.0
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers