Fix get_object_address argument type for extension statement
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 12 Jan 2015 18:32:48 +0000 (15:32 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 12 Jan 2015 18:32:48 +0000 (15:32 -0300)
Commit 3f88672a4 neglected to update the AlterExtensionContentsStmt
production in the grammar to use TypeName to represent types when
passing objects to get_object_address.

Reported as a pg_upgrade failure by Jeff Janes.

src/backend/parser/gram.y

index 679e1bb5ae4bb3d1a0be2ebaf010bc7ae9b31322..36dac299144ba8425d42730bae9076814fb164d7 100644 (file)
@@ -3907,13 +3907,13 @@ AlterExtensionContentsStmt:
                                        n->objname = $6;
                                        $$ = (Node *)n;
                                }
-                       | ALTER EXTENSION name add_drop DOMAIN_P any_name
+                       | ALTER EXTENSION name add_drop DOMAIN_P Typename
                                {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
                                        n->extname = $3;
                                        n->action = $4;
                                        n->objtype = OBJECT_DOMAIN;
-                                       n->objname = $6;
+                                       n->objname = list_make1($6);
                                        $$ = (Node *)n;
                                }
                        | ALTER EXTENSION name add_drop FUNCTION function_with_argtypes
@@ -4082,13 +4082,13 @@ AlterExtensionContentsStmt:
                                        n->objname = list_make1(makeString($6));
                                        $$ = (Node *)n;
                                }
-                       | ALTER EXTENSION name add_drop TYPE_P any_name
+                       | ALTER EXTENSION name add_drop TYPE_P Typename
                                {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
                                        n->extname = $3;
                                        n->action = $4;
                                        n->objtype = OBJECT_TYPE;
-                                       n->objname = $6;
+                                       n->objname = list_make1($6);
                                        $$ = (Node *)n;
                                }
                ;