- %{
+%{
/*#define YYDEBUG 1*/
/*-------------------------------------------------------------------------
*
*
* 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
* AUTHOR DATE MAJOR EVENT
}
;
-user_list: user_list ',' UserId
- {
- $$ = lappend($1, makeString($3));
- }
- | UserId
- {
- $$ = makeList1(makeString($1));
- }
+user_list: user_list ',' UserId { $$ = lappend($1, makeString($3)); }
+ | UserId { $$ = makeList1(makeString($1)); }
;
| DEFAULT { $$ = NIL; }
;
-var_list:
- var_value { $$ = makeList1($1); }
+var_list: var_value { $$ = makeList1($1); }
| var_list ',' var_value { $$ = lappend($1, $3); }
;
| /*EMPTY*/ { $$ = NIL; }
;
-columnList: columnList ',' columnElem { $$ = lappend($1, $3); }
- | columnElem { $$ = makeList1($1); }
+columnList:
+ columnElem { $$ = makeList1($1); }
+ | columnList ',' columnElem { $$ = lappend($1, $3); }
;
columnElem: ColId
;
CreateAsList:
- CreateAsList ',' CreateAsElement { $$ = lappend($1, $3); }
- | CreateAsElement { $$ = makeList1($1); }
+ CreateAsElement { $$ = makeList1($1); }
+ | CreateAsList ',' CreateAsElement { $$ = lappend($1, $3); }
;
CreateAsElement:
TriggerFuncArgs:
TriggerFuncArg { $$ = makeList1($1); }
- | TriggerFuncArgs ',' TriggerFuncArg
- { $$ = lappend($1, $3); }
+ | TriggerFuncArgs ',' TriggerFuncArg { $$ = lappend($1, $3); }
| /*EMPTY*/ { $$ = NIL; }
;
definition: '(' def_list ')' { $$ = $2; }
;
-def_list: def_elem { $$ = makeList1($1); }
+def_list: def_elem { $$ = makeList1($1); }
| def_list ',' def_elem { $$ = lappend($1, $3); }
;
function_with_argtypes_list:
- function_with_argtypes
- { $$ = makeList1($1); }
+ function_with_argtypes { $$ = makeList1($1); }
| function_with_argtypes_list ',' function_with_argtypes
- { $$ = lappend($1, $3); }
+ { $$ = lappend($1, $3); }
;
function_with_argtypes:
;
index_opt_unique:
- UNIQUE { $$ = TRUE; }
- | /*EMPTY*/ { $$ = FALSE; }
+ UNIQUE { $$ = TRUE; }
+ | /*EMPTY*/ { $$ = FALSE; }
;
access_method_clause:
- USING access_method { $$ = $2; }
+ USING access_method { $$ = $2; }
/* If btree changes as our default, update pg_get_indexdef() */
- | /*EMPTY*/ { $$ = DEFAULT_INDEX_TYPE; }
+ | /*EMPTY*/ { $$ = DEFAULT_INDEX_TYPE; }
;
index_params:
- index_list { $$ = $1; }
- | func_index { $$ = makeList1($1); }
+ index_list { $$ = $1; }
+ | func_index { $$ = makeList1($1); }
;
-index_list: index_list ',' index_elem { $$ = lappend($1, $3); }
- | index_elem { $$ = makeList1($1); }
+index_list: index_elem { $$ = makeList1($1); }
+ | index_list ',' index_elem { $$ = lappend($1, $3); }
;
func_index: func_name '(' name_list ')' opt_class
else
$$ = $1;
}
- | USING any_name { $$ = $2; }
- | /*EMPTY*/ { $$ = NIL; }
+ | USING any_name { $$ = $2; }
+ | /*EMPTY*/ { $$ = NIL; }
;
/*****************************************************************************
createfunc_opt_list:
- createfunc_opt_item { $$ = makeList1($1); }
- | createfunc_opt_list createfunc_opt_item { $$ = lappend($1, $2); }
- ;
+ /* Must be at least one to prevent conflict */
+ createfunc_opt_item { $$ = makeList1($1); }
+ | createfunc_opt_list createfunc_opt_item { $$ = lappend($1, $2); }
+ ;
createfunc_opt_item:
AS func_as
}
$$ = (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_item { $$ = makeList1($1); }
- | createdb_opt_list createdb_opt_item { $$ = lappend($1, $2); }
+ createdb_opt_list createdb_opt_item { $$ = lappend($1, $2); }
+ | /* EMPTY */ { $$ = NIL; }
;
/*
;
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:
| /*EMPTY*/ { $$ = NIL; }
;
-from_list: from_list ',' table_ref { $$ = lappend($1, $3); }
- | table_ref { $$ = makeList1($1); }
+from_list:
+ table_ref { $$ = makeList1($1); }
+ | from_list ',' table_ref { $$ = lappend($1, $3); }
;
/*
;
row_descriptor:
- row_list ',' a_expr
- {
- $$ = lappend($1, $3);
- }
+ row_list ',' a_expr { $$ = lappend($1, $3); }
;
-row_list: row_list ',' a_expr
- {
- $$ = lappend($1, $3);
- }
- | a_expr
- {
- $$ = makeList1($1);
- }
+row_list: a_expr { $$ = makeList1($1); }
+ | row_list ',' a_expr { $$ = lappend($1, $3); }
;
sub_type: ANY { $$ = ANY_SUBLINK; }
;
qual_Op: Op { $$ = makeList1(makeString($1)); }
- | OPERATOR '(' any_operator ')' { $$ = $3; }
+ | OPERATOR '(' any_operator ')' { $$ = $3; }
;
qual_all_Op:
all_Op { $$ = makeList1(makeString($1)); }
- | OPERATOR '(' any_operator ')' { $$ = $3; }
+ | OPERATOR '(' any_operator ')' { $$ = $3; }
;
/*
n->indirection = $3;
$$ = (Node *)n;
}
- | '(' a_expr ')'
- { $$ = $2; }
+ | '(' a_expr ')' { $$ = $2; }
| '(' a_expr ')' attrs opt_indirection
{
ExprFieldSelect *n = makeNode(ExprFieldSelect);
;
when_clause_list:
- when_clause_list when_clause { $$ = lappend($1, $2); }
- | when_clause { $$ = makeList1($1); }
+ /* There must be at least one */
+ when_clause { $$ = makeList1($1); }
+ | when_clause_list when_clause { $$ = lappend($1, $2); }
;
when_clause:
/* Target lists as found in SELECT ... and INSERT VALUES ( ... ) */
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 */
}
*/
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:
;
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: