Skip to content
Snippets Groups Projects
Commit 3d564953 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Improve rule action ordering in gram.y, more cleanups.

parent e25f9e4f
Branches
Tags
No related merge requests found
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.327 2002/06/17 20:38:04 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.328 2002/06/18 00:28:11 momjian Exp $
* *
* HISTORY * HISTORY
* AUTHOR DATE MAJOR EVENT * AUTHOR DATE MAJOR EVENT
...@@ -659,14 +659,8 @@ OptUserElem: ...@@ -659,14 +659,8 @@ OptUserElem:
} }
; ;
user_list: user_list ',' UserId user_list: user_list ',' UserId { $$ = lappend($1, makeString($3)); }
{ | UserId { $$ = makeList1(makeString($1)); }
$$ = lappend($1, makeString($3));
}
| UserId
{
$$ = makeList1(makeString($1));
}
; ;
...@@ -913,8 +907,7 @@ var_list_or_default: ...@@ -913,8 +907,7 @@ var_list_or_default:
| DEFAULT { $$ = NIL; } | DEFAULT { $$ = NIL; }
; ;
var_list: var_list: var_value { $$ = makeList1($1); }
var_value { $$ = makeList1($1); }
| var_list ',' var_value { $$ = lappend($1, $3); } | var_list ',' var_value { $$ = lappend($1, $3); }
; ;
...@@ -1654,8 +1647,9 @@ opt_column_list: ...@@ -1654,8 +1647,9 @@ opt_column_list:
| /*EMPTY*/ { $$ = NIL; } | /*EMPTY*/ { $$ = NIL; }
; ;
columnList: columnList ',' columnElem { $$ = lappend($1, $3); } columnList:
| columnElem { $$ = makeList1($1); } columnElem { $$ = makeList1($1); }
| columnList ',' columnElem { $$ = lappend($1, $3); }
; ;
columnElem: ColId columnElem: ColId
...@@ -1742,8 +1736,8 @@ OptCreateAs: ...@@ -1742,8 +1736,8 @@ OptCreateAs:
; ;
CreateAsList: CreateAsList:
CreateAsList ',' CreateAsElement { $$ = lappend($1, $3); } CreateAsElement { $$ = makeList1($1); }
| CreateAsElement { $$ = makeList1($1); } | CreateAsList ',' CreateAsElement { $$ = lappend($1, $3); }
; ;
CreateAsElement: CreateAsElement:
...@@ -2015,8 +2009,7 @@ TriggerForType: ...@@ -2015,8 +2009,7 @@ TriggerForType:
TriggerFuncArgs: TriggerFuncArgs:
TriggerFuncArg { $$ = makeList1($1); } TriggerFuncArg { $$ = makeList1($1); }
| TriggerFuncArgs ',' TriggerFuncArg | TriggerFuncArgs ',' TriggerFuncArg { $$ = lappend($1, $3); }
{ $$ = lappend($1, $3); }
| /*EMPTY*/ { $$ = NIL; } | /*EMPTY*/ { $$ = NIL; }
; ;
...@@ -2659,8 +2652,7 @@ opt_revoke_grant_option: ...@@ -2659,8 +2652,7 @@ opt_revoke_grant_option:
function_with_argtypes_list: function_with_argtypes_list:
function_with_argtypes function_with_argtypes { $$ = makeList1($1); }
{ $$ = makeList1($1); }
| function_with_argtypes_list ',' function_with_argtypes | function_with_argtypes_list ',' function_with_argtypes
{ $$ = lappend($1, $3); } { $$ = lappend($1, $3); }
; ;
...@@ -2715,8 +2707,8 @@ index_params: ...@@ -2715,8 +2707,8 @@ index_params:
| func_index { $$ = makeList1($1); } | func_index { $$ = makeList1($1); }
; ;
index_list: index_list ',' index_elem { $$ = lappend($1, $3); } index_list: index_elem { $$ = makeList1($1); }
| index_elem { $$ = makeList1($1); } | index_list ',' index_elem { $$ = lappend($1, $3); }
; ;
func_index: func_name '(' name_list ')' opt_class func_index: func_name '(' name_list ')' opt_class
...@@ -2882,6 +2874,7 @@ func_type: Typename { $$ = $1; } ...@@ -2882,6 +2874,7 @@ func_type: Typename { $$ = $1; }
createfunc_opt_list: createfunc_opt_list:
/* Must be at least one to prevent conflict */
createfunc_opt_item { $$ = makeList1($1); } createfunc_opt_item { $$ = makeList1($1); }
| createfunc_opt_list createfunc_opt_item { $$ = lappend($1, $2); } | createfunc_opt_list createfunc_opt_item { $$ = lappend($1, $2); }
; ;
...@@ -3389,21 +3382,11 @@ CreatedbStmt: ...@@ -3389,21 +3382,11 @@ CreatedbStmt:
} }
$$ = (Node *)n; $$ = (Node *)n;
} }
| CREATE DATABASE database_name
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = $3;
n->dbowner = NULL;
n->dbpath = NULL;
n->dbtemplate = NULL;
n->encoding = -1;
$$ = (Node *)n;
}
; ;
createdb_opt_list: createdb_opt_list:
createdb_opt_item { $$ = makeList1($1); } createdb_opt_list createdb_opt_item { $$ = lappend($1, $2); }
| createdb_opt_list createdb_opt_item { $$ = lappend($1, $2); } | /* EMPTY */ { $$ = NIL; }
; ;
/* /*
...@@ -3756,8 +3739,8 @@ insert_rest: ...@@ -3756,8 +3739,8 @@ insert_rest:
; ;
insert_column_list: insert_column_list:
insert_column_list ',' insert_column_item { $$ = lappend($1, $3); } insert_column_item { $$ = makeList1($1); }
| insert_column_item { $$ = makeList1($1); } | insert_column_list ',' insert_column_item { $$ = lappend($1, $3); }
; ;
insert_column_item: insert_column_item:
...@@ -4226,8 +4209,9 @@ from_clause: ...@@ -4226,8 +4209,9 @@ from_clause:
| /*EMPTY*/ { $$ = NIL; } | /*EMPTY*/ { $$ = NIL; }
; ;
from_list: from_list ',' table_ref { $$ = lappend($1, $3); } from_list:
| table_ref { $$ = makeList1($1); } table_ref { $$ = makeList1($1); }
| from_list ',' table_ref { $$ = lappend($1, $3); }
; ;
/* /*
...@@ -4993,20 +4977,11 @@ row_expr: '(' row_descriptor ')' IN_P select_with_parens ...@@ -4993,20 +4977,11 @@ row_expr: '(' row_descriptor ')' IN_P select_with_parens
; ;
row_descriptor: row_descriptor:
row_list ',' a_expr row_list ',' a_expr { $$ = lappend($1, $3); }
{
$$ = lappend($1, $3);
}
; ;
row_list: row_list ',' a_expr row_list: a_expr { $$ = makeList1($1); }
{ | row_list ',' a_expr { $$ = lappend($1, $3); }
$$ = lappend($1, $3);
}
| a_expr
{
$$ = makeList1($1);
}
; ;
sub_type: ANY { $$ = ANY_SUBLINK; } sub_type: ANY { $$ = ANY_SUBLINK; }
...@@ -5445,8 +5420,7 @@ c_expr: columnref { $$ = (Node *) $1; } ...@@ -5445,8 +5420,7 @@ c_expr: columnref { $$ = (Node *) $1; }
n->indirection = $3; n->indirection = $3;
$$ = (Node *)n; $$ = (Node *)n;
} }
| '(' a_expr ')' | '(' a_expr ')' { $$ = $2; }
{ $$ = $2; }
| '(' a_expr ')' attrs opt_indirection | '(' a_expr ')' attrs opt_indirection
{ {
ExprFieldSelect *n = makeNode(ExprFieldSelect); ExprFieldSelect *n = makeNode(ExprFieldSelect);
...@@ -6056,8 +6030,9 @@ case_expr: CASE case_arg when_clause_list case_default END_TRANS ...@@ -6056,8 +6030,9 @@ case_expr: CASE case_arg when_clause_list case_default END_TRANS
; ;
when_clause_list: when_clause_list:
when_clause_list when_clause { $$ = lappend($1, $2); } /* There must be at least one */
| when_clause { $$ = makeList1($1); } when_clause { $$ = makeList1($1); }
| when_clause_list when_clause { $$ = lappend($1, $2); }
; ;
when_clause: when_clause:
...@@ -6117,8 +6092,8 @@ attrs: '.' attr_name { $$ = makeList1(makeString($2)); } ...@@ -6117,8 +6092,8 @@ attrs: '.' attr_name { $$ = makeList1(makeString($2)); }
/* Target lists as found in SELECT ... and INSERT VALUES ( ... ) */ /* Target lists as found in SELECT ... and INSERT VALUES ( ... ) */
target_list: target_list:
target_list ',' target_el { $$ = lappend($1, $3); } target_el { $$ = makeList1($1); }
| target_el { $$ = makeList1($1); } | target_list ',' target_el { $$ = lappend($1, $3); }
; ;
/* AS is not optional because shift/red conflict with unary ops */ /* AS is not optional because shift/red conflict with unary ops */
...@@ -6155,8 +6130,8 @@ target_el: a_expr AS ColLabel ...@@ -6155,8 +6130,8 @@ target_el: a_expr AS ColLabel
} }
*/ */
update_target_list: update_target_list:
update_target_list ',' update_target_el { $$ = lappend($1,$3); } update_target_el { $$ = makeList1($1); }
| update_target_el { $$ = makeList1($1); } | update_target_list ',' update_target_el { $$ = lappend($1,$3); }
; ;
update_target_el: update_target_el:
...@@ -6170,8 +6145,8 @@ update_target_el: ...@@ -6170,8 +6145,8 @@ update_target_el:
; ;
insert_target_list: insert_target_list:
insert_target_list ',' insert_target_el { $$ = lappend($1, $3); } insert_target_el { $$ = makeList1($1); }
| insert_target_el { $$ = makeList1($1); } | insert_target_list ',' insert_target_el { $$ = lappend($1, $3); }
; ;
insert_target_el: insert_target_el:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment