aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2002-06-17 07:00:27 +0000
committerBruce Momjian <bruce@momjian.us>2002-06-17 07:00:27 +0000
commit10f05d81273a9fa35878a4fc75b8dacca0b15dcc (patch)
treebfa6a69821ddf2ffd7e299bbceac8f04d4b8bf5d /src/backend/parser
parentf91ee129a76d8d175af334a3e3236f04ce94e471 (diff)
downloadpostgresql-10f05d81273a9fa35878a4fc75b8dacca0b15dcc.tar.gz
postgresql-10f05d81273a9fa35878a4fc75b8dacca0b15dcc.zip
Merge ALTER GROUP ADD/DROP rules by creating add_drop action.
Diffstat (limited to 'src/backend/parser')
-rw-r--r--src/backend/parser/gram.y38
1 files changed, 18 insertions, 20 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 4b5d22ad9f0..c983a2fcf7c 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.324 2002/06/17 05:40:32 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.325 2002/06/17 07:00:24 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -152,7 +152,7 @@ static void doNegateFloat(Value *v);
simple_select
%type <node> alter_column_default
-%type <ival> drop_behavior, opt_drop_behavior
+%type <ival> add_drop, drop_behavior, opt_drop_behavior
%type <list> createdb_opt_list, createdb_opt_item
%type <boolean> opt_equal
@@ -200,17 +200,19 @@ static void doNegateFloat(Value *v);
%type <chr> TriggerOneEvent
%type <list> stmtblock, stmtmulti,
- OptTableElementList, OptInherit, definition, opt_distinct,
- opt_definition, func_args, func_args_list, func_as, createfunc_opt_list
+ OptTableElementList, OptInherit, definition,
+ opt_distinct, opt_definition, func_args,
+ func_args_list, func_as, createfunc_opt_list
oper_argtypes, RuleActionList, RuleActionMulti,
opt_column_list, columnList, opt_name_list,
- sort_clause, sortby_list, index_params, index_list, name_list,
- from_clause, from_list, opt_array_bounds, qualified_name_list,
- any_name, any_name_list, any_operator, expr_list, dotted_name, attrs,
+ sort_clause, sortby_list, index_params, index_list,
+ name_list, from_clause, from_list, opt_array_bounds,
+ qualified_name_list, any_name, any_name_list,
+ any_operator, expr_list, dotted_name, attrs,
target_list, update_target_list, insert_column_list,
- insert_target_list,
- def_list, opt_indirection, group_clause, TriggerFuncArgs,
- select_limit, opt_select_limit
+ insert_target_list, def_list, opt_indirection,
+ group_clause, TriggerFuncArgs, select_limit,
+ opt_select_limit
%type <range> into_clause, OptTempTableName
@@ -709,24 +711,20 @@ OptGroupElem: USER user_list
*
*****************************************************************************/
-AlterGroupStmt: ALTER GROUP_P UserId ADD USER user_list
+AlterGroupStmt: ALTER GROUP_P UserId add_drop USER user_list
{
AlterGroupStmt *n = makeNode(AlterGroupStmt);
n->name = $3;
- n->action = +1;
- n->listUsers = $6;
- $$ = (Node *)n;
- }
- | ALTER GROUP_P UserId DROP USER user_list
- {
- AlterGroupStmt *n = makeNode(AlterGroupStmt);
- n->name = $3;
- n->action = -1;
+ n->action = $4;
n->listUsers = $6;
$$ = (Node *)n;
}
;
+add_drop: ADD { $$ = +1; }
+ | DROP { $$ = -1; }
+ ;
+
/*****************************************************************************
*