Skip to content

Commit 4bc3598

Browse files
author
Michael Meskes
committed
Synced parser.
1 parent 9249bda commit 4bc3598

File tree

2 files changed

+47
-19
lines changed

2 files changed

+47
-19
lines changed

src/interfaces/ecpg/ChangeLog

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1311,3 +1311,6 @@ Thu Nov 7 10:34:07 CET 2002
13111311
- Set ecpg version to 2.10.0.
13121312
- Set library version to 3.4.0.
13131313

1314+
Fri Nov 15 16:46:08 CET 2002
1315+
1316+
- Synced preproc.y with gram.y.

src/interfaces/ecpg/preproc/preproc.y

Lines changed: 44 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.201 2002/11/07 09:48:09 meskes Exp $ */
1+
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.202 2002/11/15 15:47:44 meskes Exp $ */
22

33
/* Copyright comment */
44
%{
@@ -211,7 +211,7 @@ make_name(void)
211211

212212
KEY
213213

214-
LANCOMPILER LANGUAGE LEADING LEFT LEVEL LIKE LIMIT LISTEN
214+
LANCOMPILER LANGUAGE LAST LEADING LEFT LEVEL LIKE LIMIT LISTEN
215215
LOAD LOCAL LOCATION LOCK_P
216216

217217
MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
@@ -224,10 +224,10 @@ make_name(void)
224224
OUT_P OUTER_P OVERLAPS OVERLAY OWNER
225225

226226
PARTIAL PASSWORD PATH_P PENDANT PLACING POSITION
227-
PRECISION PREPARE PRIMARY PRIOR PRIVILEGES PROCEDURAL PROCEDURE
227+
PRECISION PRESERVE PREPARE PRIMARY PRIOR PRIVILEGES PROCEDURAL PROCEDURE
228228

229229
READ REAL RECHECK REFERENCES REINDEX RELATIVE RENAME REPLACE
230-
RESET RESTRICT RETURNS REVOKE RIGHT ROLLBACK ROW RULE
230+
RESET RESTRICT RETURNS REVOKE RIGHT ROLLBACK ROW ROWS RULE
231231

232232
SCHEMA SCROLL SECOND_P SECURITY SELECT SEQUENCE SERIALIZABLE
233233
SESSION SESSION_USER SET SETOF SHARE SHOW SIMILAR SIMPLE SMALLINT SOME
@@ -239,7 +239,7 @@ make_name(void)
239239
UNENCRYPTED UNION UNIQUE UNKNOWN UNLISTEN UNTIL UPDATE USAGE
240240
USER USING
241241

242-
VACUUM VALID VALUES VARCHAR VARYING VERBOSE VERSION VIEW VOLATILE
242+
VACUUM VALID VALUE VALUES VARCHAR VARYING VERBOSE VERSION VIEW VOLATILE
243243
WHEN WHERE WITH WITHOUT WORK WRITE
244244
YEAR_P
245245
ZONE
@@ -296,7 +296,7 @@ make_name(void)
296296
%type <str> update_target_el opt_id qualified_name database_name
297297
%type <str> access_method attr_name index_name name func_name
298298
%type <str> file_name AexprConst c_expr ConstTypename var_list
299-
%type <str> a_expr b_expr TruncateStmt CommentStmt
299+
%type <str> a_expr b_expr TruncateStmt CommentStmt OnCommitOption opt_by
300300
%type <str> opt_indirection expr_list extract_list extract_arg
301301
%type <str> position_list substr_list substr_from alter_column_default
302302
%type <str> trim_list in_expr substr_for attrs TableFuncElement
@@ -1094,11 +1094,11 @@ opt_using: USING { $$ = make_str("using"); }
10941094
*****************************************************************************/
10951095

10961096
CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')'
1097-
OptInherit OptWithOids
1098-
{ $$ = cat_str(9, make_str("create"), $2, make_str("table"), $4, make_str("("), $6, make_str(")"), $8, $9); }
1097+
OptInherit OptWithOids OnCommitOption
1098+
{ $$ = cat_str(10, make_str("create"), $2, make_str("table"), $4, make_str("("), $6, make_str(")"), $8, $9, $10); }
10991099
| CREATE OptTemp TABLE qualified_name OF qualified_name
1100-
'(' OptTableElementList ')' OptWithOids
1101-
{ $$ = cat_str(10, make_str("create"), $2, make_str("table"), $4, make_str("of"), $6, make_str("("), $8, make_str(")"), $10); }
1100+
'(' OptTableElementList ')' OptWithOids OnCommitOption
1101+
{ $$ = cat_str(11, make_str("create"), $2, make_str("table"), $4, make_str("of"), $6, make_str("("), $8, make_str(")"), $10, $11); }
11021102
;
11031103

11041104
/*
@@ -1290,6 +1290,12 @@ OptWithOids: WITH OIDS { $$ = make_str("with oids"); }
12901290
| /*EMPTY*/ { $$ = EMPTY; }
12911291
;
12921292

1293+
OnCommitOption: ON COMMIT DROP { $$ = make_str("on commit drop"); }
1294+
| ON COMMIT DELETE_P ROWS { $$ = make_str("on commit delete rows"); }
1295+
| ON COMMIT PRESERVE ROWS { $$ = make_str("on commit preserve rows"); }
1296+
| /*EMPTY*/ { $$ = EMPTY; }
1297+
;
1298+
12931299

12941300
/*
12951301
* Note: CREATE TABLE ... AS SELECT ... is just another spelling for
@@ -1341,16 +1347,22 @@ OptSeqElem: CACHE NumConst
13411347
{ $$ = cat2_str(make_str("cache"), $2); }
13421348
| CYCLE
13431349
{ $$ = make_str("cycle"); }
1344-
| INCREMENT NumConst
1345-
{ $$ = cat2_str(make_str("increment"), $2); }
1350+
| NO CYCLE
1351+
{ $$ = make_str("no cycle"); }
1352+
| INCREMENT opt_by NumConst
1353+
{ $$ = cat_str(3, make_str("increment"), $2, $3); }
13461354
| MAXVALUE NumConst
13471355
{ $$ = cat2_str(make_str("maxvalue"), $2); }
13481356
| MINVALUE NumConst
13491357
{ $$ = cat2_str(make_str("minvalue"), $2); }
1350-
| START NumConst
1351-
{ $$ = cat2_str(make_str("start"), $2); }
1358+
| START opt_by NumConst
1359+
{ $$ = cat_str(3, make_str("start"), $2, $3); }
13521360
;
13531361

1362+
opt_by: BY { $$ = make_str("by"); }
1363+
| /*EMPTY*/ { $$ = EMPTY; }
1364+
;
1365+
13541366
/*****************************************************************************
13551367
*
13561368
* QUERIES :
@@ -1679,9 +1691,10 @@ direction: FORWARD { $$ = make_str("forward"); }
16791691
;
16801692

16811693
fetch_how_many: IntConst { $$ = $1; }
1682-
| ALL { $$ = make_str("all"); }
1683-
| NEXT { $$ = make_str("next"); }
1684-
| PRIOR { $$ = make_str("prior"); }
1694+
| ALL { $$ = make_str("all"); }
1695+
| LAST { $$ = make_str("last"); }
1696+
| NEXT { $$ = make_str("next"); }
1697+
| PRIOR { $$ = make_str("prior"); }
16851698
;
16861699

16871700
from_in: IN_P { $$ = make_str("in"); }
@@ -2295,12 +2308,18 @@ CreateConversionStmt:
22952308
*
22962309
* QUERY:
22972310
* cluster <index_name> on <qualified_name>
2311+
* cluster <qualified_name>
2312+
* cluster ALL
22982313
*
22992314
*****************************************************************************/
23002315

23012316
ClusterStmt: CLUSTER index_name ON qualified_name
23022317
{ $$ = cat_str(4, make_str("cluster"), $2, make_str("on"), $4); }
2303-
;
2318+
| CLUSTER qualified_name
2319+
{ $$ = cat2_str(make_str("cluster"), $2); }
2320+
| CLUSTER ALL
2321+
{ $$ = make_str("cluster all"); }
2322+
;
23042323

23052324

23062325
/*****************************************************************************
@@ -3454,6 +3473,8 @@ c_expr: columnref
34543473
{ $$ = $1; }
34553474
| EXISTS select_with_parens
34563475
{ $$ = cat2_str(make_str("exists"), $2); }
3476+
| VALUE
3477+
{ $$ = make_str("value"); }
34573478
;
34583479
/*
34593480
* This used to use ecpg_expr, but since there is no shift/reduce conflict
@@ -5145,7 +5166,8 @@ unreserved_keyword:
51455166
| ISOLATION { $$ = make_str("isolation"); }
51465167
| KEY { $$ = make_str("key"); }
51475168
| LANGUAGE { $$ = make_str("language"); }
5148-
| LANCOMPILER { $$ = make_str("lancompiler"); }
5169+
| LANCOMPILER { $$ = make_str("lancompiler"); }
5170+
| LAST { $$ = make_str("last"); }
51495171
| LEVEL { $$ = make_str("level"); }
51505172
| LISTEN { $$ = make_str("listen"); }
51515173
| LOAD { $$ = make_str("load"); }
@@ -5179,6 +5201,7 @@ unreserved_keyword:
51795201
| PENDANT { $$ = make_str("pendant"); }
51805202
| PRECISION { $$ = make_str("precision"); }
51815203
| PREPARE { $$ = make_str("prepare"); }
5204+
| PRESERVE { $$ = make_str("preserver"); }
51825205
| PRIOR { $$ = make_str("prior"); }
51835206
| PRIVILEGES { $$ = make_str("privileges"); }
51845207
| PROCEDURAL { $$ = make_str("procedural"); }
@@ -5194,6 +5217,7 @@ unreserved_keyword:
51945217
| RETURNS { $$ = make_str("returns"); }
51955218
| REVOKE { $$ = make_str("revoke"); }
51965219
| ROLLBACK { $$ = make_str("rollback"); }
5220+
| ROWS { $$ = make_str("rows"); }
51975221
| RULE { $$ = make_str("rule"); }
51985222
| SCHEMA { $$ = make_str("schema"); }
51995223
| SCROLL { $$ = make_str("scroll"); }
@@ -5394,6 +5418,7 @@ reserved_keyword:
53945418
| UNIQUE { $$ = make_str("unique"); }
53955419
| USER { $$ = make_str("user"); }
53965420
| USING { $$ = make_str("using"); }
5421+
| VALUE { $$ = make_str("value"); }
53975422
| WHEN { $$ = make_str("when"); }
53985423
| WHERE { $$ = make_str("where"); }
53995424
;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy