1- %{
1+ %{
22
33/* #define YYDEBUG 1*/
44/* -------------------------------------------------------------------------
1111 *
1212 *
1313 * IDENTIFICATION
14- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.327 2002/06/17 20:38:04 momjian Exp $
14+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.328 2002/06/18 00:28:11 momjian Exp $
1515 *
1616 * HISTORY
1717 * AUTHOR DATE MAJOR EVENT
@@ -659,14 +659,8 @@ OptUserElem:
659659 }
660660 ;
661661
662- user_list : user_list ' ,' UserId
663- {
664- $$ = lappend($1 , makeString($3 ));
665- }
666- | UserId
667- {
668- $$ = makeList1(makeString($1 ));
669- }
662+ user_list : user_list ' ,' UserId { $$ = lappend($1 , makeString($3 )); }
663+ | UserId { $$ = makeList1(makeString($1 )); }
670664 ;
671665
672666
@@ -913,8 +907,7 @@ var_list_or_default:
913907 | DEFAULT { $$ = NIL; }
914908 ;
915909
916- var_list :
917- var_value { $$ = makeList1($1 ); }
910+ var_list : var_value { $$ = makeList1($1 ); }
918911 | var_list ' ,' var_value { $$ = lappend($1 , $3 ); }
919912 ;
920913
@@ -1654,8 +1647,9 @@ opt_column_list:
16541647 | /* EMPTY*/ { $$ = NIL; }
16551648 ;
16561649
1657- columnList : columnList ' ,' columnElem { $$ = lappend($1 , $3 ); }
1658- | columnElem { $$ = makeList1($1 ); }
1650+ columnList :
1651+ columnElem { $$ = makeList1($1 ); }
1652+ | columnList ' ,' columnElem { $$ = lappend($1 , $3 ); }
16591653 ;
16601654
16611655columnElem : ColId
@@ -1742,8 +1736,8 @@ OptCreateAs:
17421736 ;
17431737
17441738CreateAsList :
1745- CreateAsList ' , ' CreateAsElement { $$ = lappend ($1 , $3 ); }
1746- | CreateAsElement { $$ = makeList1 ($1 ); }
1739+ CreateAsElement { $$ = makeList1 ($1 ); }
1740+ | CreateAsList ' , ' CreateAsElement { $$ = lappend ($1 , $3 ); }
17471741 ;
17481742
17491743CreateAsElement :
@@ -2015,8 +2009,7 @@ TriggerForType:
20152009
20162010TriggerFuncArgs :
20172011 TriggerFuncArg { $$ = makeList1($1 ); }
2018- | TriggerFuncArgs ' ,' TriggerFuncArg
2019- { $$ = lappend($1 , $3 ); }
2012+ | TriggerFuncArgs ' ,' TriggerFuncArg { $$ = lappend($1 , $3 ); }
20202013 | /* EMPTY*/ { $$ = NIL; }
20212014 ;
20222015
@@ -2169,7 +2162,7 @@ DefineStmt:
21692162definition : ' (' def_list ' )' { $$ = $2 ; }
21702163 ;
21712164
2172- def_list : def_elem { $$ = makeList1($1 ); }
2165+ def_list : def_elem { $$ = makeList1($1 ); }
21732166 | def_list ' ,' def_elem { $$ = lappend($1 , $3 ); }
21742167 ;
21752168
@@ -2659,10 +2652,9 @@ opt_revoke_grant_option:
26592652
26602653
26612654function_with_argtypes_list :
2662- function_with_argtypes
2663- { $$ = makeList1($1 ); }
2655+ function_with_argtypes { $$ = makeList1($1 ); }
26642656 | function_with_argtypes_list ' ,' function_with_argtypes
2665- { $$ = lappend($1 , $3 ); }
2657+ { $$ = lappend($1 , $3 ); }
26662658 ;
26672659
26682660function_with_argtypes :
@@ -2700,23 +2692,23 @@ IndexStmt: CREATE index_opt_unique INDEX index_name ON qualified_name
27002692 ;
27012693
27022694index_opt_unique :
2703- UNIQUE { $$ = TRUE ; }
2704- | /* EMPTY*/ { $$ = FALSE ; }
2695+ UNIQUE { $$ = TRUE ; }
2696+ | /* EMPTY*/ { $$ = FALSE ; }
27052697 ;
27062698
27072699access_method_clause :
2708- USING access_method { $$ = $2 ; }
2700+ USING access_method { $$ = $2 ; }
27092701 /* If btree changes as our default, update pg_get_indexdef() */
2710- | /* EMPTY*/ { $$ = DEFAULT_INDEX_TYPE; }
2702+ | /* EMPTY*/ { $$ = DEFAULT_INDEX_TYPE; }
27112703 ;
27122704
27132705index_params :
2714- index_list { $$ = $1 ; }
2715- | func_index { $$ = makeList1($1 ); }
2706+ index_list { $$ = $1 ; }
2707+ | func_index { $$ = makeList1($1 ); }
27162708 ;
27172709
2718- index_list : index_list ' , ' index_elem { $$ = lappend ($1 , $3 ); }
2719- | index_elem { $$ = makeList1 ($1 ); }
2710+ index_list : index_elem { $$ = makeList1 ($1 ); }
2711+ | index_list ' , ' index_elem { $$ = lappend ($1 , $3 ); }
27202712 ;
27212713
27222714func_index : func_name ' (' name_list ' )' opt_class
@@ -2770,8 +2762,8 @@ opt_class: any_name
27702762 else
27712763 $$ = $1 ;
27722764 }
2773- | USING any_name { $$ = $2 ; }
2774- | /* EMPTY*/ { $$ = NIL; }
2765+ | USING any_name { $$ = $2 ; }
2766+ | /* EMPTY*/ { $$ = NIL; }
27752767 ;
27762768
27772769/* ****************************************************************************
@@ -2882,9 +2874,10 @@ func_type: Typename { $$ = $1; }
28822874
28832875
28842876createfunc_opt_list :
2885- createfunc_opt_item { $$ = makeList1($1 ); }
2886- | createfunc_opt_list createfunc_opt_item { $$ = lappend($1 , $2 ); }
2887- ;
2877+ /* Must be at least one to prevent conflict */
2878+ createfunc_opt_item { $$ = makeList1($1 ); }
2879+ | createfunc_opt_list createfunc_opt_item { $$ = lappend($1 , $2 ); }
2880+ ;
28882881
28892882createfunc_opt_item :
28902883 AS func_as
@@ -3389,21 +3382,11 @@ CreatedbStmt:
33893382 }
33903383 $$ = (Node *)n;
33913384 }
3392- | CREATE DATABASE database_name
3393- {
3394- CreatedbStmt *n = makeNode(CreatedbStmt);
3395- n->dbname = $3 ;
3396- n->dbowner = NULL ;
3397- n->dbpath = NULL ;
3398- n->dbtemplate = NULL ;
3399- n->encoding = -1 ;
3400- $$ = (Node *)n;
3401- }
34023385 ;
34033386
34043387createdb_opt_list :
3405- createdb_opt_item { $$ = makeList1 ($1 ); }
3406- | createdb_opt_list createdb_opt_item { $$ = lappend( $1 , $2 ) ; }
3388+ createdb_opt_list createdb_opt_item { $$ = lappend ($1 , $2 ); }
3389+ | /* EMPTY */ { $$ = NIL ; }
34073390 ;
34083391
34093392/*
@@ -3756,8 +3739,8 @@ insert_rest:
37563739 ;
37573740
37583741insert_column_list :
3759- insert_column_list ' , ' insert_column_item { $$ = lappend ($1 , $3 ); }
3760- | insert_column_item { $$ = makeList1 ($1 ); }
3742+ insert_column_item { $$ = makeList1 ($1 ); }
3743+ | insert_column_list ' , ' insert_column_item { $$ = lappend ($1 , $3 ); }
37613744 ;
37623745
37633746insert_column_item :
@@ -4226,8 +4209,9 @@ from_clause:
42264209 | /* EMPTY*/ { $$ = NIL; }
42274210 ;
42284211
4229- from_list : from_list ' ,' table_ref { $$ = lappend($1 , $3 ); }
4230- | table_ref { $$ = makeList1($1 ); }
4212+ from_list :
4213+ table_ref { $$ = makeList1($1 ); }
4214+ | from_list ' ,' table_ref { $$ = lappend($1 , $3 ); }
42314215 ;
42324216
42334217/*
@@ -4993,20 +4977,11 @@ row_expr: '(' row_descriptor ')' IN_P select_with_parens
49934977 ;
49944978
49954979row_descriptor :
4996- row_list ' ,' a_expr
4997- {
4998- $$ = lappend($1 , $3 );
4999- }
4980+ row_list ' ,' a_expr { $$ = lappend($1 , $3 ); }
50004981 ;
50014982
5002- row_list : row_list ' ,' a_expr
5003- {
5004- $$ = lappend($1 , $3 );
5005- }
5006- | a_expr
5007- {
5008- $$ = makeList1($1 );
5009- }
4983+ row_list : a_expr { $$ = makeList1($1 ); }
4984+ | row_list ' ,' a_expr { $$ = lappend($1 , $3 ); }
50104985 ;
50114986
50124987sub_type : ANY { $$ = ANY_SUBLINK; }
@@ -5030,12 +5005,12 @@ MathOp: '+' { $$ = "+"; }
50305005 ;
50315006
50325007qual_Op : Op { $$ = makeList1(makeString($1 )); }
5033- | OPERATOR ' (' any_operator ' )' { $$ = $3 ; }
5008+ | OPERATOR ' (' any_operator ' )' { $$ = $3 ; }
50345009 ;
50355010
50365011qual_all_Op :
50375012 all_Op { $$ = makeList1(makeString($1 )); }
5038- | OPERATOR ' (' any_operator ' )' { $$ = $3 ; }
5013+ | OPERATOR ' (' any_operator ' )' { $$ = $3 ; }
50395014 ;
50405015
50415016/*
@@ -5445,8 +5420,7 @@ c_expr: columnref { $$ = (Node *) $1; }
54455420 n->indirection = $3 ;
54465421 $$ = (Node *)n;
54475422 }
5448- | ' (' a_expr ' )'
5449- { $$ = $2 ; }
5423+ | ' (' a_expr ' )' { $$ = $2 ; }
54505424 | ' (' a_expr ' )' attrs opt_indirection
54515425 {
54525426 ExprFieldSelect *n = makeNode(ExprFieldSelect);
@@ -6056,8 +6030,9 @@ case_expr: CASE case_arg when_clause_list case_default END_TRANS
60566030 ;
60576031
60586032when_clause_list :
6059- when_clause_list when_clause { $$ = lappend($1 , $2 ); }
6060- | when_clause { $$ = makeList1($1 ); }
6033+ /* There must be at least one */
6034+ when_clause { $$ = makeList1($1 ); }
6035+ | when_clause_list when_clause { $$ = lappend($1 , $2 ); }
60616036 ;
60626037
60636038when_clause :
@@ -6117,8 +6092,8 @@ attrs: '.' attr_name { $$ = makeList1(makeString($2)); }
61176092/* Target lists as found in SELECT ... and INSERT VALUES ( ... ) */
61186093
61196094target_list :
6120- target_list ' , ' target_el { $$ = lappend ($1 , $3 ); }
6121- | target_el { $$ = makeList1 ($1 ); }
6095+ target_el { $$ = makeList1 ($1 ); }
6096+ | target_list ' , ' target_el { $$ = lappend ($1 , $3 ); }
61226097 ;
61236098
61246099/* AS is not optional because shift/red conflict with unary ops */
@@ -6155,8 +6130,8 @@ target_el: a_expr AS ColLabel
61556130}
61566131 */
61576132update_target_list :
6158- update_target_list ' , ' update_target_el { $$ = lappend ($1 , $3 ); }
6159- | update_target_el { $$ = makeList1 ($1 ); }
6133+ update_target_el { $$ = makeList1 ($1 ); }
6134+ | update_target_list ' , ' update_target_el { $$ = lappend ($1 , $3 ); }
61606135 ;
61616136
61626137update_target_el :
@@ -6170,8 +6145,8 @@ update_target_el:
61706145 ;
61716146
61726147insert_target_list :
6173- insert_target_list ' , ' insert_target_el { $$ = lappend ($1 , $3 ); }
6174- | insert_target_el { $$ = makeList1 ($1 ); }
6148+ insert_target_el { $$ = makeList1 ($1 ); }
6149+ | insert_target_list ' , ' insert_target_el { $$ = lappend ($1 , $3 ); }
61756150 ;
61766151
61776152insert_target_el :
0 commit comments