mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-30 19:00:29 +08:00
Synced parser.
This commit is contained in:
parent
9249bdaabd
commit
4bc3598aa4
@ -1311,3 +1311,6 @@ Thu Nov 7 10:34:07 CET 2002
|
|||||||
- Set ecpg version to 2.10.0.
|
- Set ecpg version to 2.10.0.
|
||||||
- Set library version to 3.4.0.
|
- Set library version to 3.4.0.
|
||||||
|
|
||||||
|
Fri Nov 15 16:46:08 CET 2002
|
||||||
|
|
||||||
|
- Synced preproc.y with gram.y.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.201 2002/11/07 09:48:09 meskes Exp $ */
|
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.202 2002/11/15 15:47:44 meskes Exp $ */
|
||||||
|
|
||||||
/* Copyright comment */
|
/* Copyright comment */
|
||||||
%{
|
%{
|
||||||
@ -211,7 +211,7 @@ make_name(void)
|
|||||||
|
|
||||||
KEY
|
KEY
|
||||||
|
|
||||||
LANCOMPILER LANGUAGE LEADING LEFT LEVEL LIKE LIMIT LISTEN
|
LANCOMPILER LANGUAGE LAST LEADING LEFT LEVEL LIKE LIMIT LISTEN
|
||||||
LOAD LOCAL LOCATION LOCK_P
|
LOAD LOCAL LOCATION LOCK_P
|
||||||
|
|
||||||
MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
|
MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
|
||||||
@ -224,10 +224,10 @@ make_name(void)
|
|||||||
OUT_P OUTER_P OVERLAPS OVERLAY OWNER
|
OUT_P OUTER_P OVERLAPS OVERLAY OWNER
|
||||||
|
|
||||||
PARTIAL PASSWORD PATH_P PENDANT PLACING POSITION
|
PARTIAL PASSWORD PATH_P PENDANT PLACING POSITION
|
||||||
PRECISION PREPARE PRIMARY PRIOR PRIVILEGES PROCEDURAL PROCEDURE
|
PRECISION PRESERVE PREPARE PRIMARY PRIOR PRIVILEGES PROCEDURAL PROCEDURE
|
||||||
|
|
||||||
READ REAL RECHECK REFERENCES REINDEX RELATIVE RENAME REPLACE
|
READ REAL RECHECK REFERENCES REINDEX RELATIVE RENAME REPLACE
|
||||||
RESET RESTRICT RETURNS REVOKE RIGHT ROLLBACK ROW RULE
|
RESET RESTRICT RETURNS REVOKE RIGHT ROLLBACK ROW ROWS RULE
|
||||||
|
|
||||||
SCHEMA SCROLL SECOND_P SECURITY SELECT SEQUENCE SERIALIZABLE
|
SCHEMA SCROLL SECOND_P SECURITY SELECT SEQUENCE SERIALIZABLE
|
||||||
SESSION SESSION_USER SET SETOF SHARE SHOW SIMILAR SIMPLE SMALLINT SOME
|
SESSION SESSION_USER SET SETOF SHARE SHOW SIMILAR SIMPLE SMALLINT SOME
|
||||||
@ -239,7 +239,7 @@ make_name(void)
|
|||||||
UNENCRYPTED UNION UNIQUE UNKNOWN UNLISTEN UNTIL UPDATE USAGE
|
UNENCRYPTED UNION UNIQUE UNKNOWN UNLISTEN UNTIL UPDATE USAGE
|
||||||
USER USING
|
USER USING
|
||||||
|
|
||||||
VACUUM VALID VALUES VARCHAR VARYING VERBOSE VERSION VIEW VOLATILE
|
VACUUM VALID VALUE VALUES VARCHAR VARYING VERBOSE VERSION VIEW VOLATILE
|
||||||
WHEN WHERE WITH WITHOUT WORK WRITE
|
WHEN WHERE WITH WITHOUT WORK WRITE
|
||||||
YEAR_P
|
YEAR_P
|
||||||
ZONE
|
ZONE
|
||||||
@ -296,7 +296,7 @@ make_name(void)
|
|||||||
%type <str> update_target_el opt_id qualified_name database_name
|
%type <str> update_target_el opt_id qualified_name database_name
|
||||||
%type <str> access_method attr_name index_name name func_name
|
%type <str> access_method attr_name index_name name func_name
|
||||||
%type <str> file_name AexprConst c_expr ConstTypename var_list
|
%type <str> file_name AexprConst c_expr ConstTypename var_list
|
||||||
%type <str> a_expr b_expr TruncateStmt CommentStmt
|
%type <str> a_expr b_expr TruncateStmt CommentStmt OnCommitOption opt_by
|
||||||
%type <str> opt_indirection expr_list extract_list extract_arg
|
%type <str> opt_indirection expr_list extract_list extract_arg
|
||||||
%type <str> position_list substr_list substr_from alter_column_default
|
%type <str> position_list substr_list substr_from alter_column_default
|
||||||
%type <str> trim_list in_expr substr_for attrs TableFuncElement
|
%type <str> trim_list in_expr substr_for attrs TableFuncElement
|
||||||
@ -1094,11 +1094,11 @@ opt_using: USING { $$ = make_str("using"); }
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')'
|
CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')'
|
||||||
OptInherit OptWithOids
|
OptInherit OptWithOids OnCommitOption
|
||||||
{ $$ = cat_str(9, make_str("create"), $2, make_str("table"), $4, make_str("("), $6, make_str(")"), $8, $9); }
|
{ $$ = cat_str(10, make_str("create"), $2, make_str("table"), $4, make_str("("), $6, make_str(")"), $8, $9, $10); }
|
||||||
| CREATE OptTemp TABLE qualified_name OF qualified_name
|
| CREATE OptTemp TABLE qualified_name OF qualified_name
|
||||||
'(' OptTableElementList ')' OptWithOids
|
'(' OptTableElementList ')' OptWithOids OnCommitOption
|
||||||
{ $$ = cat_str(10, make_str("create"), $2, make_str("table"), $4, make_str("of"), $6, make_str("("), $8, make_str(")"), $10); }
|
{ $$ = cat_str(11, make_str("create"), $2, make_str("table"), $4, make_str("of"), $6, make_str("("), $8, make_str(")"), $10, $11); }
|
||||||
;
|
;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1290,6 +1290,12 @@ OptWithOids: WITH OIDS { $$ = make_str("with oids"); }
|
|||||||
| /*EMPTY*/ { $$ = EMPTY; }
|
| /*EMPTY*/ { $$ = EMPTY; }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
OnCommitOption: ON COMMIT DROP { $$ = make_str("on commit drop"); }
|
||||||
|
| ON COMMIT DELETE_P ROWS { $$ = make_str("on commit delete rows"); }
|
||||||
|
| ON COMMIT PRESERVE ROWS { $$ = make_str("on commit preserve rows"); }
|
||||||
|
| /*EMPTY*/ { $$ = EMPTY; }
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Note: CREATE TABLE ... AS SELECT ... is just another spelling for
|
* Note: CREATE TABLE ... AS SELECT ... is just another spelling for
|
||||||
@ -1341,14 +1347,20 @@ OptSeqElem: CACHE NumConst
|
|||||||
{ $$ = cat2_str(make_str("cache"), $2); }
|
{ $$ = cat2_str(make_str("cache"), $2); }
|
||||||
| CYCLE
|
| CYCLE
|
||||||
{ $$ = make_str("cycle"); }
|
{ $$ = make_str("cycle"); }
|
||||||
| INCREMENT NumConst
|
| NO CYCLE
|
||||||
{ $$ = cat2_str(make_str("increment"), $2); }
|
{ $$ = make_str("no cycle"); }
|
||||||
|
| INCREMENT opt_by NumConst
|
||||||
|
{ $$ = cat_str(3, make_str("increment"), $2, $3); }
|
||||||
| MAXVALUE NumConst
|
| MAXVALUE NumConst
|
||||||
{ $$ = cat2_str(make_str("maxvalue"), $2); }
|
{ $$ = cat2_str(make_str("maxvalue"), $2); }
|
||||||
| MINVALUE NumConst
|
| MINVALUE NumConst
|
||||||
{ $$ = cat2_str(make_str("minvalue"), $2); }
|
{ $$ = cat2_str(make_str("minvalue"), $2); }
|
||||||
| START NumConst
|
| START opt_by NumConst
|
||||||
{ $$ = cat2_str(make_str("start"), $2); }
|
{ $$ = cat_str(3, make_str("start"), $2, $3); }
|
||||||
|
;
|
||||||
|
|
||||||
|
opt_by: BY { $$ = make_str("by"); }
|
||||||
|
| /*EMPTY*/ { $$ = EMPTY; }
|
||||||
;
|
;
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
@ -1679,9 +1691,10 @@ direction: FORWARD { $$ = make_str("forward"); }
|
|||||||
;
|
;
|
||||||
|
|
||||||
fetch_how_many: IntConst { $$ = $1; }
|
fetch_how_many: IntConst { $$ = $1; }
|
||||||
| ALL { $$ = make_str("all"); }
|
| ALL { $$ = make_str("all"); }
|
||||||
| NEXT { $$ = make_str("next"); }
|
| LAST { $$ = make_str("last"); }
|
||||||
| PRIOR { $$ = make_str("prior"); }
|
| NEXT { $$ = make_str("next"); }
|
||||||
|
| PRIOR { $$ = make_str("prior"); }
|
||||||
;
|
;
|
||||||
|
|
||||||
from_in: IN_P { $$ = make_str("in"); }
|
from_in: IN_P { $$ = make_str("in"); }
|
||||||
@ -2295,12 +2308,18 @@ CreateConversionStmt:
|
|||||||
*
|
*
|
||||||
* QUERY:
|
* QUERY:
|
||||||
* cluster <index_name> on <qualified_name>
|
* cluster <index_name> on <qualified_name>
|
||||||
|
* cluster <qualified_name>
|
||||||
|
* cluster ALL
|
||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
ClusterStmt: CLUSTER index_name ON qualified_name
|
ClusterStmt: CLUSTER index_name ON qualified_name
|
||||||
{ $$ = cat_str(4, make_str("cluster"), $2, make_str("on"), $4); }
|
{ $$ = cat_str(4, make_str("cluster"), $2, make_str("on"), $4); }
|
||||||
;
|
| CLUSTER qualified_name
|
||||||
|
{ $$ = cat2_str(make_str("cluster"), $2); }
|
||||||
|
| CLUSTER ALL
|
||||||
|
{ $$ = make_str("cluster all"); }
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
@ -3454,6 +3473,8 @@ c_expr: columnref
|
|||||||
{ $$ = $1; }
|
{ $$ = $1; }
|
||||||
| EXISTS select_with_parens
|
| EXISTS select_with_parens
|
||||||
{ $$ = cat2_str(make_str("exists"), $2); }
|
{ $$ = cat2_str(make_str("exists"), $2); }
|
||||||
|
| VALUE
|
||||||
|
{ $$ = make_str("value"); }
|
||||||
;
|
;
|
||||||
/*
|
/*
|
||||||
* This used to use ecpg_expr, but since there is no shift/reduce conflict
|
* This used to use ecpg_expr, but since there is no shift/reduce conflict
|
||||||
@ -5145,7 +5166,8 @@ unreserved_keyword:
|
|||||||
| ISOLATION { $$ = make_str("isolation"); }
|
| ISOLATION { $$ = make_str("isolation"); }
|
||||||
| KEY { $$ = make_str("key"); }
|
| KEY { $$ = make_str("key"); }
|
||||||
| LANGUAGE { $$ = make_str("language"); }
|
| LANGUAGE { $$ = make_str("language"); }
|
||||||
| LANCOMPILER { $$ = make_str("lancompiler"); }
|
| LANCOMPILER { $$ = make_str("lancompiler"); }
|
||||||
|
| LAST { $$ = make_str("last"); }
|
||||||
| LEVEL { $$ = make_str("level"); }
|
| LEVEL { $$ = make_str("level"); }
|
||||||
| LISTEN { $$ = make_str("listen"); }
|
| LISTEN { $$ = make_str("listen"); }
|
||||||
| LOAD { $$ = make_str("load"); }
|
| LOAD { $$ = make_str("load"); }
|
||||||
@ -5179,6 +5201,7 @@ unreserved_keyword:
|
|||||||
| PENDANT { $$ = make_str("pendant"); }
|
| PENDANT { $$ = make_str("pendant"); }
|
||||||
| PRECISION { $$ = make_str("precision"); }
|
| PRECISION { $$ = make_str("precision"); }
|
||||||
| PREPARE { $$ = make_str("prepare"); }
|
| PREPARE { $$ = make_str("prepare"); }
|
||||||
|
| PRESERVE { $$ = make_str("preserver"); }
|
||||||
| PRIOR { $$ = make_str("prior"); }
|
| PRIOR { $$ = make_str("prior"); }
|
||||||
| PRIVILEGES { $$ = make_str("privileges"); }
|
| PRIVILEGES { $$ = make_str("privileges"); }
|
||||||
| PROCEDURAL { $$ = make_str("procedural"); }
|
| PROCEDURAL { $$ = make_str("procedural"); }
|
||||||
@ -5194,6 +5217,7 @@ unreserved_keyword:
|
|||||||
| RETURNS { $$ = make_str("returns"); }
|
| RETURNS { $$ = make_str("returns"); }
|
||||||
| REVOKE { $$ = make_str("revoke"); }
|
| REVOKE { $$ = make_str("revoke"); }
|
||||||
| ROLLBACK { $$ = make_str("rollback"); }
|
| ROLLBACK { $$ = make_str("rollback"); }
|
||||||
|
| ROWS { $$ = make_str("rows"); }
|
||||||
| RULE { $$ = make_str("rule"); }
|
| RULE { $$ = make_str("rule"); }
|
||||||
| SCHEMA { $$ = make_str("schema"); }
|
| SCHEMA { $$ = make_str("schema"); }
|
||||||
| SCROLL { $$ = make_str("scroll"); }
|
| SCROLL { $$ = make_str("scroll"); }
|
||||||
@ -5394,6 +5418,7 @@ reserved_keyword:
|
|||||||
| UNIQUE { $$ = make_str("unique"); }
|
| UNIQUE { $$ = make_str("unique"); }
|
||||||
| USER { $$ = make_str("user"); }
|
| USER { $$ = make_str("user"); }
|
||||||
| USING { $$ = make_str("using"); }
|
| USING { $$ = make_str("using"); }
|
||||||
|
| VALUE { $$ = make_str("value"); }
|
||||||
| WHEN { $$ = make_str("when"); }
|
| WHEN { $$ = make_str("when"); }
|
||||||
| WHERE { $$ = make_str("where"); }
|
| WHERE { $$ = make_str("where"); }
|
||||||
;
|
;
|
||||||
|
Loading…
Reference in New Issue
Block a user