Fix get_object_address argument type for extension statement
authorAlvaro Herrera <[email protected]>
Mon, 12 Jan 2015 18:32:48 +0000 (15:32 -0300)
committerAlvaro Herrera <[email protected]>
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;
                }
        ;