From 262c1a42dcd36831a964099659026fb9cec0eecc Mon Sep 17 00:00:00 2001
From: Robert Haas <rhaas@postgresql.org>
Date: Tue, 19 Oct 2010 07:21:58 -0400
Subject: [PATCH] Unbreak comments on composite type attributes.

Report and diagnosis by Peter Eisentraut.
---
 src/backend/catalog/objectaddress.c       | 2 +-
 src/test/regress/expected/create_type.out | 4 ++++
 src/test/regress/sql/create_type.sql      | 3 +++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c
index 93f5ac6beee..77f0208ccd1 100644
--- a/src/backend/catalog/objectaddress.c
+++ b/src/backend/catalog/objectaddress.c
@@ -473,7 +473,7 @@ get_object_address_attribute(ObjectType objtype, List *objname,
 	/* Extract relation name and open relation. */
 	attname = strVal(lfirst(list_tail(objname)));
 	relname = list_truncate(list_copy(objname), list_length(objname) - 1);
-	relation = heap_openrv(makeRangeVarFromNameList(relname), lockmode);
+	relation = relation_openrv(makeRangeVarFromNameList(relname), lockmode);
 	reloid = RelationGetRelid(relation);
 
 	/* Look up attribute and construct return value. */
diff --git a/src/test/regress/expected/create_type.out b/src/test/regress/expected/create_type.out
index 1d3a22612d3..9d3a82e153a 100644
--- a/src/test/regress/expected/create_type.out
+++ b/src/test/regress/expected/create_type.out
@@ -97,6 +97,10 @@ COMMENT ON TYPE bad IS 'bad comment';
 ERROR:  type "bad" does not exist
 COMMENT ON TYPE default_test_row IS 'good comment';
 COMMENT ON TYPE default_test_row IS NULL;
+COMMENT ON COLUMN default_test_row.nope IS 'bad comment';
+ERROR:  column "nope" of relation "default_test_row" does not exist
+COMMENT ON COLUMN default_test_row.f1 IS 'good comment';
+COMMENT ON COLUMN default_test_row.f1 IS NULL;
 -- Check shell type create for existing types
 CREATE TYPE text_w_default;		-- should fail
 ERROR:  type "text_w_default" already exists
diff --git a/src/test/regress/sql/create_type.sql b/src/test/regress/sql/create_type.sql
index b9cd7af1ab8..c667313c715 100644
--- a/src/test/regress/sql/create_type.sql
+++ b/src/test/regress/sql/create_type.sql
@@ -95,6 +95,9 @@ SELECT * FROM get_default_test();
 COMMENT ON TYPE bad IS 'bad comment';
 COMMENT ON TYPE default_test_row IS 'good comment';
 COMMENT ON TYPE default_test_row IS NULL;
+COMMENT ON COLUMN default_test_row.nope IS 'bad comment';
+COMMENT ON COLUMN default_test_row.f1 IS 'good comment';
+COMMENT ON COLUMN default_test_row.f1 IS NULL;
 
 -- Check shell type create for existing types
 CREATE TYPE text_w_default;		-- should fail
-- 
GitLab