Use grammar symbol function_with_argtypes consistently
authorPeter Eisentraut <peter_e@gmx.net>
Thu, 15 Sep 2016 17:00:00 +0000 (12:00 -0500)
committerPeter Eisentraut <peter_e@gmx.net>
Thu, 1 Dec 2016 22:37:42 +0000 (17:37 -0500)
Instead of sometimes referring to a function signature like func_name
func_args, use the existing function_with_argtypes symbol, which
combines the two.

Reviewed-by: Alvaro Herrera <alvherre@2ndquadrant.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
src/backend/parser/gram.y

index 367bc2ecff0b57fa38348f6653801599cea9011c..d6666839bc2b749621a7d610d217a136f7be777a 100644 (file)
@@ -5414,21 +5414,21 @@ opclass_item:
                                        n->order_family = $5;
                                        $$ = (Node *) n;
                                }
-                       | FUNCTION Iconst func_name func_args
+                       | FUNCTION Iconst function_with_argtypes
                                {
                                        CreateOpClassItem *n = makeNode(CreateOpClassItem);
                                        n->itemtype = OPCLASS_ITEM_FUNCTION;
-                                       n->name = $3;
-                                       n->args = extractArgTypes($4);
+                                       n->name = $3->funcname;
+                                       n->args = $3->funcargs;
                                        n->number = $2;
                                        $$ = (Node *) n;
                                }
-                       | FUNCTION Iconst '(' type_list ')' func_name func_args
+                       | FUNCTION Iconst '(' type_list ')' function_with_argtypes
                                {
                                        CreateOpClassItem *n = makeNode(CreateOpClassItem);
                                        n->itemtype = OPCLASS_ITEM_FUNCTION;
-                                       n->name = $6;
-                                       n->args = extractArgTypes($7);
+                                       n->name = $6->funcname;
+                                       n->args = $6->funcargs;
                                        n->number = $2;
                                        n->class_args = $4;
                                        $$ = (Node *) n;
@@ -5828,13 +5828,13 @@ CommentStmt:
                                        n->comment = $7;
                                        $$ = (Node *) n;
                                }
-                       | COMMENT ON FUNCTION func_name func_args IS comment_text
+                       | COMMENT ON FUNCTION function_with_argtypes IS comment_text
                                {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_FUNCTION;
-                                       n->objname = $4;
-                                       n->objargs = extractArgTypes($5);
-                                       n->comment = $7;
+                                       n->objname = $4->funcname;
+                                       n->objargs = $4->funcargs;
+                                       n->comment = $6;
                                        $$ = (Node *) n;
                                }
                        | COMMENT ON OPERATOR any_operator oper_argtypes IS comment_text
@@ -6046,15 +6046,15 @@ SecLabelStmt:
                                        n->label = $9;
                                        $$ = (Node *) n;
                                }
-                       | SECURITY LABEL opt_provider ON FUNCTION func_name func_args
+                       | SECURITY LABEL opt_provider ON FUNCTION function_with_argtypes
                          IS security_label
                                {
                                        SecLabelStmt *n = makeNode(SecLabelStmt);
                                        n->provider = $3;
                                        n->objtype = OBJECT_FUNCTION;
-                                       n->objname = $6;
-                                       n->objargs = extractArgTypes($7);
-                                       n->label = $9;
+                                       n->objname = $6->funcname;
+                                       n->objargs = $6->funcargs;
+                                       n->label = $8;
                                        $$ = (Node *) n;
                                }
                        | SECURITY LABEL opt_provider ON LARGE_P OBJECT_P NumericOnly
@@ -7284,24 +7284,24 @@ opt_restrict:
  *****************************************************************************/
 
 RemoveFuncStmt:
-                       DROP FUNCTION func_name func_args opt_drop_behavior
+                       DROP FUNCTION function_with_argtypes opt_drop_behavior
                                {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_FUNCTION;
-                                       n->objects = list_make1($3);
-                                       n->arguments = list_make1(extractArgTypes($4));
-                                       n->behavior = $5;
+                                       n->objects = list_make1($3->funcname);
+                                       n->arguments = list_make1($3->funcargs);
+                                       n->behavior = $4;
                                        n->missing_ok = false;
                                        n->concurrent = false;
                                        $$ = (Node *)n;
                                }
-                       | DROP FUNCTION IF_P EXISTS func_name func_args opt_drop_behavior
+                       | DROP FUNCTION IF_P EXISTS function_with_argtypes opt_drop_behavior
                                {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_FUNCTION;
-                                       n->objects = list_make1($5);
-                                       n->arguments = list_make1(extractArgTypes($6));
-                                       n->behavior = $7;
+                                       n->objects = list_make1($5->funcname);
+                                       n->arguments = list_make1($5->funcargs);
+                                       n->behavior = $6;
                                        n->missing_ok = true;
                                        n->concurrent = false;
                                        $$ = (Node *)n;