mirror of
https://github.com/postgres/postgres.git
synced 2025-05-24 00:03:23 -04:00
Allow parsing expressions with ") -" (scan.l, scan.c only).
Make "TABLE" optional in "LOCK TABLE" command and "... INTO TABLE..." clause. Explicitly parse CREATE SEQUENCE options to allow a negative integer as an argument; this is an artifact of unary minus handling in scan.l. Add "PASSWORD" as an allowed column identifier. These fixes will require a "make clean install" but not a dump/reload.
This commit is contained in:
parent
c530fbfb2f
commit
561aead3f1
File diff suppressed because it is too large
Load Diff
@ -10,7 +10,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.6 1998/03/07 06:04:59 thomas Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.7 1998/03/18 16:50:19 thomas Exp $
|
||||
*
|
||||
* HISTORY
|
||||
* AUTHOR DATE MAJOR EVENT
|
||||
@ -170,6 +170,7 @@ Oid param_type(int t); /* used in parse_expr.c */
|
||||
%type <sortgroupby>
|
||||
join_using
|
||||
%type <boolean> opt_union
|
||||
%type <boolean> opt_table
|
||||
|
||||
%type <node> position_expr
|
||||
%type <list> extract_list, position_list
|
||||
@ -202,6 +203,7 @@ Oid param_type(int t); /* used in parse_expr.c */
|
||||
%type <list> OptCreateAs, CreateAsList
|
||||
%type <node> CreateAsElement
|
||||
%type <value> NumConst
|
||||
%type <value> IntegerOnly
|
||||
%type <attr> event_object, attr
|
||||
%type <sortgroupby> groupby
|
||||
%type <sortgroupby> sortby
|
||||
@ -277,14 +279,14 @@ Oid param_type(int t); /* used in parse_expr.c */
|
||||
|
||||
/* Keywords for Postgres support (not in SQL92 reserved words) */
|
||||
%token ABORT_TRANS, AFTER, AGGREGATE, ANALYZE,
|
||||
BACKWARD, BEFORE, BINARY, CLUSTER, COPY,
|
||||
BACKWARD, BEFORE, BINARY, CACHE, CLUSTER, COPY, CYCLE,
|
||||
DATABASE, DELIMITERS, DO, EACH, EXPLAIN, EXTEND,
|
||||
FORWARD, FUNCTION, HANDLER,
|
||||
INDEX, INHERITS, INSTEAD, ISNULL,
|
||||
LANCOMPILER, LISTEN, LOAD, LOCK_P, LOCATION, MOVE,
|
||||
INCREMENT, INDEX, INHERITS, INSTEAD, ISNULL,
|
||||
LANCOMPILER, LISTEN, LOAD, LOCK_P, LOCATION, MAXVALUE, MINVALUE, MOVE,
|
||||
NEW, NONE, NOTHING, NOTNULL, OIDS, OPERATOR, PROCEDURAL,
|
||||
RECIPE, RENAME, RESET, RETURNS, ROW, RULE,
|
||||
SEQUENCE, SETOF, SHOW, STATEMENT, STDIN, STDOUT, TRUSTED,
|
||||
SEQUENCE, SETOF, SHOW, START, STATEMENT, STDIN, STDOUT, TRUSTED,
|
||||
VACUUM, VERBOSE, VERSION
|
||||
|
||||
/* Keywords (obsolete; retain through next version for parser - thomas 1997-12-04) */
|
||||
@ -1094,7 +1096,7 @@ CreateAsElement: ColId
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
CreateSeqStmt: CREATE SEQUENCE relation_name OptSeqList
|
||||
CreateSeqStmt: CREATE SEQUENCE relation_name OptSeqList
|
||||
{
|
||||
CreateSeqStmt *n = makeNode(CreateSeqStmt);
|
||||
n->seqname = $3;
|
||||
@ -1103,24 +1105,58 @@ CreateSeqStmt: CREATE SEQUENCE relation_name OptSeqList
|
||||
}
|
||||
;
|
||||
|
||||
OptSeqList:
|
||||
OptSeqList OptSeqElem
|
||||
OptSeqList: OptSeqList OptSeqElem
|
||||
{ $$ = lappend($1, $2); }
|
||||
| { $$ = NIL; }
|
||||
| { $$ = NIL; }
|
||||
;
|
||||
|
||||
OptSeqElem: IDENT NumConst
|
||||
OptSeqElem: CACHE IntegerOnly
|
||||
{
|
||||
$$ = makeNode(DefElem);
|
||||
$$->defname = $1;
|
||||
$$->defname = "cache";
|
||||
$$->arg = (Node *)$2;
|
||||
}
|
||||
| IDENT
|
||||
| CYCLE
|
||||
{
|
||||
$$ = makeNode(DefElem);
|
||||
$$->defname = $1;
|
||||
$$->defname = "cycle";
|
||||
$$->arg = (Node *)NULL;
|
||||
}
|
||||
| INCREMENT IntegerOnly
|
||||
{
|
||||
$$ = makeNode(DefElem);
|
||||
$$->defname = "increment";
|
||||
$$->arg = (Node *)$2;
|
||||
}
|
||||
| MAXVALUE IntegerOnly
|
||||
{
|
||||
$$ = makeNode(DefElem);
|
||||
$$->defname = "maxvalue";
|
||||
$$->arg = (Node *)$2;
|
||||
}
|
||||
| MINVALUE IntegerOnly
|
||||
{
|
||||
$$ = makeNode(DefElem);
|
||||
$$->defname = "minvalue";
|
||||
$$->arg = (Node *)$2;
|
||||
}
|
||||
| START IntegerOnly
|
||||
{
|
||||
$$ = makeNode(DefElem);
|
||||
$$->defname = "start";
|
||||
$$->arg = (Node *)$2;
|
||||
}
|
||||
;
|
||||
|
||||
IntegerOnly: Iconst
|
||||
{
|
||||
$$ = makeInteger($1);
|
||||
}
|
||||
| '-' Iconst
|
||||
{
|
||||
$$ = makeInteger($2);
|
||||
$$->val.ival = - $$->val.ival;
|
||||
}
|
||||
;
|
||||
|
||||
/*****************************************************************************
|
||||
@ -1856,7 +1892,7 @@ event: SELECT { $$ = CMD_SELECT; }
|
||||
;
|
||||
|
||||
opt_instead: INSTEAD { $$ = TRUE; }
|
||||
| /*EMPTY*/ { $$ = FALSE; }
|
||||
| /*EMPTY*/ { $$ = FALSE; }
|
||||
;
|
||||
|
||||
|
||||
@ -2101,10 +2137,8 @@ opt_analyze: ANALYZE { $$ = TRUE; }
|
||||
| /*EMPTY*/ { $$ = FALSE; }
|
||||
;
|
||||
|
||||
opt_va_list: '(' va_list ')'
|
||||
{ $$ = $2; }
|
||||
| /* EMPTY */
|
||||
{ $$ = NIL; }
|
||||
opt_va_list: '(' va_list ')' { $$ = $2; }
|
||||
| /*EMPTY*/ { $$ = NIL; }
|
||||
;
|
||||
|
||||
va_list: name
|
||||
@ -2236,7 +2270,7 @@ DeleteStmt: DELETE FROM relation_name
|
||||
* Is it worth making this a separate command, with
|
||||
* its own node type and file. I don't think so. bjm 1998/1/22
|
||||
*/
|
||||
LockStmt: LOCK_P relation_name
|
||||
LockStmt: LOCK_P opt_table relation_name
|
||||
{
|
||||
DeleteStmt *n = makeNode(DeleteStmt);
|
||||
A_Const *c = makeNode(A_Const);
|
||||
@ -2247,7 +2281,7 @@ LockStmt: LOCK_P relation_name
|
||||
c->typename->name = xlateSqlType("bool");
|
||||
c->typename->typmod = -1;
|
||||
|
||||
n->relname = $2;
|
||||
n->relname = $3;
|
||||
n->whereClause = (Node *)c;
|
||||
$$ = (Node *)n;
|
||||
}
|
||||
@ -2378,10 +2412,12 @@ SubSelect: SELECT opt_unique res_target_list2
|
||||
}
|
||||
;
|
||||
|
||||
result: INTO TABLE relation_name
|
||||
{ $$= $3; }
|
||||
| /*EMPTY*/
|
||||
{ $$ = NULL; }
|
||||
result: INTO opt_table relation_name { $$= $3; }
|
||||
| /*EMPTY*/ { $$ = NULL; }
|
||||
;
|
||||
|
||||
opt_table: TABLE { $$ = TRUE; }
|
||||
| /*EMPTY*/ { $$ = FALSE; }
|
||||
;
|
||||
|
||||
opt_union: ALL { $$ = TRUE; }
|
||||
@ -4603,18 +4639,24 @@ TypeId: ColId
|
||||
ColId: IDENT { $$ = $1; }
|
||||
| datetime { $$ = $1; }
|
||||
| ACTION { $$ = "action"; }
|
||||
| CACHE { $$ = "cache"; }
|
||||
| CYCLE { $$ = "cycle"; }
|
||||
| DATABASE { $$ = "database"; }
|
||||
| DELIMITERS { $$ = "delimiters"; }
|
||||
| DOUBLE { $$ = "double"; }
|
||||
| EACH { $$ = "each"; }
|
||||
| FUNCTION { $$ = "function"; }
|
||||
| INCREMENT { $$ = "increment"; }
|
||||
| INDEX { $$ = "index"; }
|
||||
| KEY { $$ = "key"; }
|
||||
| LANGUAGE { $$ = "language"; }
|
||||
| LOCATION { $$ = "location"; }
|
||||
| MATCH { $$ = "match"; }
|
||||
| MAXVALUE { $$ = "maxvalue"; }
|
||||
| MINVALUE { $$ = "minvalue"; }
|
||||
| OPERATOR { $$ = "operator"; }
|
||||
| OPTION { $$ = "option"; }
|
||||
| PASSWORD { $$ = "password"; }
|
||||
| PRIVILEGES { $$ = "privileges"; }
|
||||
| RECIPE { $$ = "recipe"; }
|
||||
| ROW { $$ = "row"; }
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.35 1998/02/11 04:09:54 thomas Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.36 1998/03/18 16:50:21 thomas Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -49,6 +49,7 @@ static ScanKeyword ScanKeywords[] = {
|
||||
{"binary", BINARY},
|
||||
{"both", BOTH},
|
||||
{"by", BY},
|
||||
{"cache", CACHE},
|
||||
{"cascade", CASCADE},
|
||||
{"cast", CAST},
|
||||
{"char", CHAR},
|
||||
@ -71,6 +72,7 @@ static ScanKeyword ScanKeywords[] = {
|
||||
{"current_timestamp", CURRENT_TIMESTAMP},
|
||||
{"current_user", CURRENT_USER},
|
||||
{"cursor", CURSOR},
|
||||
{"cycle", CYCLE},
|
||||
{"database", DATABASE},
|
||||
{"day", DAY_P},
|
||||
{"decimal", DECIMAL},
|
||||
@ -105,6 +107,7 @@ static ScanKeyword ScanKeywords[] = {
|
||||
{"having", HAVING},
|
||||
{"hour", HOUR_P},
|
||||
{"in", IN},
|
||||
{"increment", INCREMENT},
|
||||
{"index", INDEX},
|
||||
{"inherits", INHERITS},
|
||||
{"inner", INNER_P},
|
||||
@ -127,7 +130,9 @@ static ScanKeyword ScanKeywords[] = {
|
||||
{"location", LOCATION},
|
||||
{"lock", LOCK_P},
|
||||
{"match", MATCH},
|
||||
{"maxvalue", MAXVALUE},
|
||||
{"minute", MINUTE_P},
|
||||
{"minvalue", MINVALUE},
|
||||
{"month", MONTH_P},
|
||||
{"move", MOVE},
|
||||
{"national", NATIONAL},
|
||||
@ -176,6 +181,7 @@ static ScanKeyword ScanKeywords[] = {
|
||||
{"set", SET},
|
||||
{"setof", SETOF},
|
||||
{"show", SHOW},
|
||||
{"start", START},
|
||||
{"statement", STATEMENT},
|
||||
{"stdin", STDIN},
|
||||
{"stdout", STDOUT},
|
||||
|
@ -156,69 +156,75 @@ typedef union
|
||||
#define BACKWARD 383
|
||||
#define BEFORE 384
|
||||
#define BINARY 385
|
||||
#define CLUSTER 386
|
||||
#define COPY 387
|
||||
#define DATABASE 388
|
||||
#define DELIMITERS 389
|
||||
#define DO 390
|
||||
#define EACH 391
|
||||
#define EXPLAIN 392
|
||||
#define EXTEND 393
|
||||
#define FORWARD 394
|
||||
#define FUNCTION 395
|
||||
#define HANDLER 396
|
||||
#define INDEX 397
|
||||
#define INHERITS 398
|
||||
#define INSTEAD 399
|
||||
#define ISNULL 400
|
||||
#define LANCOMPILER 401
|
||||
#define LISTEN 402
|
||||
#define LOAD 403
|
||||
#define LOCK_P 404
|
||||
#define LOCATION 405
|
||||
#define MOVE 406
|
||||
#define NEW 407
|
||||
#define NONE 408
|
||||
#define NOTHING 409
|
||||
#define NOTNULL 410
|
||||
#define OIDS 411
|
||||
#define OPERATOR 412
|
||||
#define PROCEDURAL 413
|
||||
#define RECIPE 414
|
||||
#define RENAME 415
|
||||
#define RESET 416
|
||||
#define RETURNS 417
|
||||
#define ROW 418
|
||||
#define RULE 419
|
||||
#define SEQUENCE 420
|
||||
#define SETOF 421
|
||||
#define SHOW 422
|
||||
#define STATEMENT 423
|
||||
#define STDIN 424
|
||||
#define STDOUT 425
|
||||
#define TRUSTED 426
|
||||
#define VACUUM 427
|
||||
#define VERBOSE 428
|
||||
#define VERSION 429
|
||||
#define ARCHIVE 430
|
||||
#define USER 431
|
||||
#define PASSWORD 432
|
||||
#define CREATEDB 433
|
||||
#define NOCREATEDB 434
|
||||
#define CREATEUSER 435
|
||||
#define NOCREATEUSER 436
|
||||
#define VALID 437
|
||||
#define UNTIL 438
|
||||
#define IDENT 439
|
||||
#define SCONST 440
|
||||
#define Op 441
|
||||
#define ICONST 442
|
||||
#define PARAM 443
|
||||
#define FCONST 444
|
||||
#define OP 445
|
||||
#define UMINUS 446
|
||||
#define TYPECAST 447
|
||||
#define REDUCE 448
|
||||
#define CACHE 386
|
||||
#define CLUSTER 387
|
||||
#define COPY 388
|
||||
#define CYCLE 389
|
||||
#define DATABASE 390
|
||||
#define DELIMITERS 391
|
||||
#define DO 392
|
||||
#define EACH 393
|
||||
#define EXPLAIN 394
|
||||
#define EXTEND 395
|
||||
#define FORWARD 396
|
||||
#define FUNCTION 397
|
||||
#define HANDLER 398
|
||||
#define INCREMENT 399
|
||||
#define INDEX 400
|
||||
#define INHERITS 401
|
||||
#define INSTEAD 402
|
||||
#define ISNULL 403
|
||||
#define LANCOMPILER 404
|
||||
#define LISTEN 405
|
||||
#define LOAD 406
|
||||
#define LOCK_P 407
|
||||
#define LOCATION 408
|
||||
#define MAXVALUE 409
|
||||
#define MINVALUE 410
|
||||
#define MOVE 411
|
||||
#define NEW 412
|
||||
#define NONE 413
|
||||
#define NOTHING 414
|
||||
#define NOTNULL 415
|
||||
#define OIDS 416
|
||||
#define OPERATOR 417
|
||||
#define PROCEDURAL 418
|
||||
#define RECIPE 419
|
||||
#define RENAME 420
|
||||
#define RESET 421
|
||||
#define RETURNS 422
|
||||
#define ROW 423
|
||||
#define RULE 424
|
||||
#define SEQUENCE 425
|
||||
#define SETOF 426
|
||||
#define SHOW 427
|
||||
#define START 428
|
||||
#define STATEMENT 429
|
||||
#define STDIN 430
|
||||
#define STDOUT 431
|
||||
#define TRUSTED 432
|
||||
#define VACUUM 433
|
||||
#define VERBOSE 434
|
||||
#define VERSION 435
|
||||
#define ARCHIVE 436
|
||||
#define USER 437
|
||||
#define PASSWORD 438
|
||||
#define CREATEDB 439
|
||||
#define NOCREATEDB 440
|
||||
#define CREATEUSER 441
|
||||
#define NOCREATEUSER 442
|
||||
#define VALID 443
|
||||
#define UNTIL 444
|
||||
#define IDENT 445
|
||||
#define SCONST 446
|
||||
#define Op 447
|
||||
#define ICONST 448
|
||||
#define PARAM 449
|
||||
#define FCONST 450
|
||||
#define OP 451
|
||||
#define UMINUS 452
|
||||
#define TYPECAST 453
|
||||
#define REDUCE 454
|
||||
|
||||
|
||||
extern YYSTYPE yylval;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* A lexical scanner generated by flex */
|
||||
|
||||
/* Scanner skeleton version:
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/scan.c,v 1.15 1998/02/21 06:31:52 scrappy Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/scan.c,v 1.16 1998/03/18 16:50:24 thomas Exp $
|
||||
*/
|
||||
|
||||
#define FLEX_SCANNER
|
||||
@ -308,22 +308,22 @@ static yyconst short int yy_acclist[168] =
|
||||
2, 2, 2, 8227, 37,16419, 2
|
||||
} ;
|
||||
|
||||
static yyconst short int yy_accept[128] =
|
||||
static yyconst short int yy_accept[129] =
|
||||
{ 0,
|
||||
1, 1, 1, 2, 3, 4, 5, 6, 7, 8,
|
||||
9, 10, 11, 12, 13, 14, 16, 19, 21, 24,
|
||||
27, 31, 34, 37, 41, 45, 49, 53, 57, 61,
|
||||
65, 69, 71, 73, 76, 79, 81, 83, 85, 87,
|
||||
89, 91, 92, 94, 96, 98, 100, 101, 102, 103,
|
||||
104, 105, 105, 106, 107, 109, 111, 112, 112, 112,
|
||||
112, 114, 114, 114, 116, 117, 118, 119, 119, 119,
|
||||
120, 121, 121, 121, 122, 123, 124, 124, 124, 125,
|
||||
126, 126, 126, 127, 128, 130, 131, 133, 136, 137,
|
||||
137, 138, 139, 140, 142, 142, 144, 146, 148, 149,
|
||||
103, 104, 105, 105, 106, 107, 109, 111, 112, 112,
|
||||
112, 112, 114, 114, 114, 116, 117, 118, 119, 119,
|
||||
119, 120, 121, 121, 121, 122, 123, 124, 124, 124,
|
||||
125, 126, 126, 126, 127, 128, 130, 131, 133, 136,
|
||||
137, 137, 138, 139, 140, 142, 142, 144, 146, 148,
|
||||
|
||||
151, 152, 152, 152, 153, 154, 154, 154, 155, 155,
|
||||
155, 156, 157, 157, 160, 161, 161, 161, 161, 162,
|
||||
163, 164, 165, 165, 167, 168, 168
|
||||
149, 151, 152, 152, 152, 153, 154, 154, 154, 155,
|
||||
155, 155, 156, 157, 157, 160, 161, 161, 161, 161,
|
||||
162, 163, 164, 165, 165, 167, 168, 168
|
||||
} ;
|
||||
|
||||
static yyconst int yy_ec[256] =
|
||||
@ -365,152 +365,154 @@ static yyconst int yy_meta[22] =
|
||||
12
|
||||
} ;
|
||||
|
||||
static yyconst short int yy_base[146] =
|
||||
static yyconst short int yy_base[147] =
|
||||
{ 0,
|
||||
0, 0, 332, 325, 18, 31, 325, 324, 321, 320,
|
||||
46, 48, 18, 31, 326, 435, 435, 435, 309, 435,
|
||||
12, 435, 308, 213, 42, 49, 61, 21, 63, 74,
|
||||
209, 0, 52, 0, 82, 58, 0, 0, 435, 0,
|
||||
66, 435, 76, 435, 0, 80, 206, 198, 88, 31,
|
||||
188, 82, 179, 102, 0, 120, 113, 135, 0, 175,
|
||||
169, 137, 0, 149, 435, 435, 0, 87, 140, 0,
|
||||
0, 71, 132, 142, 0, 0, 147, 150, 152, 0,
|
||||
156, 158, 435, 435, 435, 435, 435, 114, 435, 162,
|
||||
435, 175, 120, 0, 92, 188, 57, 150, 435, 203,
|
||||
0, 0, 331, 330, 18, 31, 326, 325, 228, 220,
|
||||
46, 48, 18, 31, 224, 446, 446, 446, 209, 446,
|
||||
58, 446, 51, 12, 44, 23, 71, 198, 64, 84,
|
||||
197, 0, 61, 0, 92, 67, 0, 0, 446, 0,
|
||||
68, 446, 75, 446, 0, 86, 193, 180, 98, 111,
|
||||
31, 147, 67, 138, 122, 0, 140, 78, 155, 0,
|
||||
131, 100, 157, 0, 90, 446, 446, 0, 97, 113,
|
||||
0, 0, 108, 85, 145, 0, 0, 116, 160, 162,
|
||||
0, 167, 169, 446, 446, 446, 446, 446, 70, 446,
|
||||
173, 446, 186, 92, 0, 59, 199, 52, 161, 446,
|
||||
|
||||
435, 180, 193, 435, 167, 205, 208, 435, 216, 218,
|
||||
435, 0, 154, 224, 52, 226, 0, 220, 230, 233,
|
||||
238, 435, 16, 224, 242, 435, 245, 257, 269, 281,
|
||||
293, 305, 314, 322, 333, 345, 354, 363, 375, 387,
|
||||
398, 410, 415, 419, 423
|
||||
214, 446, 191, 204, 446, 178, 216, 219, 446, 227,
|
||||
229, 446, 0, 165, 235, 47, 237, 0, 231, 241,
|
||||
244, 249, 446, 16, 235, 253, 446, 256, 268, 280,
|
||||
292, 304, 316, 325, 333, 344, 356, 365, 374, 386,
|
||||
398, 409, 421, 426, 430, 434
|
||||
} ;
|
||||
|
||||
static yyconst short int yy_def[146] =
|
||||
static yyconst short int yy_def[147] =
|
||||
{ 0,
|
||||
126, 1, 127, 127, 128, 128, 129, 129, 130, 130,
|
||||
131, 131, 132, 132, 126, 126, 126, 126, 133, 126,
|
||||
133, 126, 126, 133, 133, 133, 126, 133, 134, 134,
|
||||
30, 135, 126, 136, 136, 137, 35, 138, 126, 139,
|
||||
126, 126, 126, 126, 140, 126, 141, 133, 133, 49,
|
||||
126, 126, 50, 126, 27, 142, 54, 126, 143, 126,
|
||||
133, 126, 144, 30, 126, 126, 135, 126, 126, 136,
|
||||
35, 137, 137, 137, 138, 139, 126, 126, 126, 140,
|
||||
126, 126, 126, 126, 126, 126, 126, 126, 126, 54,
|
||||
126, 90, 92, 90, 142, 142, 96, 96, 126, 126,
|
||||
127, 1, 128, 128, 129, 129, 130, 130, 131, 131,
|
||||
132, 132, 133, 133, 127, 127, 127, 127, 134, 127,
|
||||
134, 127, 127, 21, 21, 24, 127, 24, 135, 135,
|
||||
30, 136, 127, 137, 137, 138, 35, 139, 127, 140,
|
||||
127, 127, 127, 127, 141, 127, 142, 134, 134, 127,
|
||||
49, 127, 127, 51, 127, 27, 143, 55, 127, 144,
|
||||
127, 134, 127, 145, 30, 127, 127, 136, 127, 127,
|
||||
137, 35, 138, 138, 138, 139, 140, 127, 127, 127,
|
||||
141, 127, 127, 127, 127, 127, 127, 127, 127, 127,
|
||||
55, 127, 91, 93, 91, 143, 143, 97, 97, 127,
|
||||
|
||||
126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
|
||||
126, 90, 142, 96, 142, 126, 145, 126, 142, 142,
|
||||
126, 126, 126, 100, 126, 0, 126, 126, 126, 126,
|
||||
126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
|
||||
126, 126, 126, 126, 126
|
||||
127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
|
||||
127, 127, 91, 143, 97, 143, 127, 146, 127, 143,
|
||||
143, 127, 127, 127, 101, 127, 0, 127, 127, 127,
|
||||
127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
|
||||
127, 127, 127, 127, 127, 127
|
||||
} ;
|
||||
|
||||
static yyconst short int yy_nxt[457] =
|
||||
static yyconst short int yy_nxt[468] =
|
||||
{ 0,
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 24,
|
||||
25, 23, 26, 27, 28, 24, 29, 30, 29, 31,
|
||||
16, 35, 50, 35, 46, 51, 36, 35, 35, 124,
|
||||
37, 53, 35, 35, 35, 61, 35, 46, 47, 36,
|
||||
35, 35, 87, 37, 88, 35, 35, 43, 43, 43,
|
||||
43, 47, 54, 68, 69, 55, 44, 56, 44, 53,
|
||||
113, 57, 58, 58, 62, 62, 72, 77, 78, 114,
|
||||
74, 59, 60, 63, 55, 62, 62, 79, 79, 72,
|
||||
65, 81, 82, 74, 63, 71, 83, 71, 68, 69,
|
||||
72, 71, 71, 89, 71, 89, 71, 71, 49, 86,
|
||||
16, 35, 54, 35, 46, 127, 36, 35, 35, 125,
|
||||
37, 57, 35, 35, 35, 58, 35, 46, 47, 36,
|
||||
35, 35, 88, 37, 89, 35, 35, 43, 43, 43,
|
||||
43, 47, 50, 50, 55, 114, 44, 56, 44, 50,
|
||||
50, 53, 69, 70, 115, 63, 63, 114, 51, 78,
|
||||
79, 52, 59, 59, 64, 73, 80, 80, 90, 75,
|
||||
90, 60, 61, 52, 56, 63, 63, 82, 83, 91,
|
||||
66, 91, 84, 73, 64, 72, 127, 72, 69, 70,
|
||||
|
||||
113, 86, 90, 90, 91, 92, 90, 92, 90, 90,
|
||||
92, 92, 93, 94, 92, 94, 92, 92, 90, 90,
|
||||
90, 90, 90, 96, 90, 96, 90, 51, 97, 96,
|
||||
98, 112, 96, 112, 96, 96, 58, 58, 62, 62,
|
||||
72, 102, 103, 105, 105, 59, 104, 63, 77, 78,
|
||||
72, 106, 107, 79, 79, 126, 108, 81, 82, 109,
|
||||
110, 115, 113, 115, 111, 90, 119, 90, 105, 105,
|
||||
90, 90, 90, 90, 90, 90, 90, 90, 92, 49,
|
||||
92, 102, 103, 92, 92, 93, 104, 92, 100, 92,
|
||||
92, 96, 87, 96, 102, 103, 97, 96, 98, 104,
|
||||
73, 72, 72, 113, 72, 113, 72, 72, 49, 87,
|
||||
49, 87, 50, 50, 103, 104, 73, 78, 79, 105,
|
||||
75, 53, 91, 91, 92, 93, 91, 93, 91, 91,
|
||||
93, 93, 94, 95, 93, 95, 93, 93, 91, 91,
|
||||
91, 91, 91, 97, 101, 97, 106, 106, 98, 97,
|
||||
99, 88, 97, 73, 97, 97, 59, 59, 63, 63,
|
||||
52, 107, 108, 80, 80, 60, 109, 64, 82, 83,
|
||||
110, 111, 116, 114, 116, 112, 91, 120, 91, 106,
|
||||
106, 91, 91, 91, 91, 91, 91, 91, 91, 93,
|
||||
49, 93, 103, 104, 93, 93, 94, 105, 93, 86,
|
||||
|
||||
96, 51, 96, 96, 116, 116, 106, 107, 49, 106,
|
||||
107, 108, 85, 117, 108, 66, 100, 109, 110, 109,
|
||||
110, 118, 111, 53, 111, 120, 121, 116, 116, 123,
|
||||
123, 120, 121, 124, 120, 121, 117, 124, 113, 125,
|
||||
121, 113, 126, 125, 121, 32, 32, 32, 32, 32,
|
||||
32, 32, 32, 32, 32, 32, 32, 34, 34, 34,
|
||||
34, 34, 34, 34, 34, 34, 34, 34, 34, 38,
|
||||
93, 93, 97, 67, 97, 103, 104, 98, 97, 99,
|
||||
105, 97, 62, 97, 97, 117, 117, 107, 108, 49,
|
||||
107, 108, 109, 127, 118, 109, 41, 101, 110, 111,
|
||||
110, 111, 119, 112, 41, 112, 121, 122, 117, 117,
|
||||
124, 124, 121, 122, 125, 121, 122, 118, 125, 114,
|
||||
126, 122, 114, 127, 126, 122, 32, 32, 32, 32,
|
||||
32, 32, 32, 32, 32, 32, 32, 32, 34, 34,
|
||||
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
|
||||
38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
|
||||
38, 40, 40, 40, 40, 40, 40, 40, 40, 40,
|
||||
40, 40, 40, 42, 42, 42, 42, 42, 42, 42,
|
||||
38, 38, 40, 40, 40, 40, 40, 40, 40, 40,
|
||||
|
||||
42, 42, 42, 42, 42, 45, 45, 45, 45, 45,
|
||||
45, 45, 45, 45, 45, 45, 45, 48, 52, 49,
|
||||
48, 48, 48, 64, 64, 126, 41, 41, 39, 39,
|
||||
64, 33, 64, 67, 67, 67, 67, 67, 33, 67,
|
||||
67, 67, 67, 67, 67, 70, 70, 70, 70, 70,
|
||||
70, 126, 70, 70, 70, 70, 70, 73, 126, 126,
|
||||
73, 73, 73, 75, 75, 75, 75, 126, 75, 75,
|
||||
75, 75, 75, 75, 75, 76, 76, 76, 76, 76,
|
||||
126, 76, 76, 76, 76, 76, 76, 80, 80, 80,
|
||||
80, 80, 126, 80, 80, 80, 80, 80, 84, 84,
|
||||
40, 40, 40, 40, 42, 42, 42, 42, 42, 42,
|
||||
42, 42, 42, 42, 42, 42, 45, 45, 45, 45,
|
||||
45, 45, 45, 45, 45, 45, 45, 45, 48, 39,
|
||||
39, 48, 48, 48, 65, 65, 33, 33, 127, 127,
|
||||
127, 65, 127, 65, 68, 68, 68, 68, 68, 127,
|
||||
68, 68, 68, 68, 68, 68, 71, 71, 71, 71,
|
||||
71, 71, 127, 71, 71, 71, 71, 71, 74, 127,
|
||||
127, 74, 74, 74, 76, 76, 76, 76, 127, 76,
|
||||
76, 76, 76, 76, 76, 76, 77, 77, 77, 77,
|
||||
77, 127, 77, 77, 77, 77, 77, 77, 81, 81,
|
||||
|
||||
84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
|
||||
95, 95, 126, 95, 95, 95, 95, 95, 95, 95,
|
||||
95, 95, 99, 99, 99, 99, 101, 101, 101, 101,
|
||||
122, 122, 122, 122, 15, 126, 126, 126, 126, 126,
|
||||
126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
|
||||
126, 126, 126, 126, 126, 126
|
||||
81, 81, 81, 127, 81, 81, 81, 81, 81, 85,
|
||||
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
|
||||
85, 96, 96, 127, 96, 96, 96, 96, 96, 96,
|
||||
96, 96, 96, 100, 100, 100, 100, 102, 102, 102,
|
||||
102, 123, 123, 123, 123, 15, 127, 127, 127, 127,
|
||||
127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
|
||||
127, 127, 127, 127, 127, 127, 127
|
||||
} ;
|
||||
|
||||
static yyconst short int yy_chk[457] =
|
||||
static yyconst short int yy_chk[468] =
|
||||
{ 0,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 5, 21, 5, 13, 21, 5, 5, 5, 123,
|
||||
5, 28, 5, 5, 6, 28, 6, 14, 13, 6,
|
||||
6, 6, 50, 6, 50, 6, 6, 11, 11, 12,
|
||||
12, 14, 25, 33, 33, 25, 11, 26, 12, 26,
|
||||
115, 26, 27, 27, 29, 29, 36, 41, 41, 97,
|
||||
36, 27, 27, 29, 27, 30, 30, 43, 43, 72,
|
||||
30, 46, 46, 72, 30, 35, 46, 35, 68, 68,
|
||||
35, 35, 35, 52, 35, 52, 35, 35, 49, 49,
|
||||
1, 5, 24, 5, 13, 24, 5, 5, 5, 124,
|
||||
5, 26, 5, 5, 6, 26, 6, 14, 13, 6,
|
||||
6, 6, 51, 6, 51, 6, 6, 11, 11, 12,
|
||||
12, 14, 23, 23, 25, 116, 11, 25, 12, 21,
|
||||
21, 23, 33, 33, 98, 29, 29, 96, 21, 41,
|
||||
41, 21, 27, 27, 29, 36, 43, 43, 53, 36,
|
||||
53, 27, 27, 89, 27, 30, 30, 46, 46, 58,
|
||||
30, 58, 46, 74, 30, 35, 65, 35, 69, 69,
|
||||
|
||||
95, 49, 54, 54, 54, 54, 54, 54, 54, 54,
|
||||
54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
|
||||
54, 54, 54, 56, 57, 56, 57, 88, 56, 56,
|
||||
56, 93, 56, 93, 56, 56, 58, 58, 62, 62,
|
||||
73, 69, 69, 74, 74, 58, 69, 62, 77, 77,
|
||||
74, 78, 78, 79, 79, 64, 78, 81, 81, 82,
|
||||
82, 98, 113, 98, 82, 90, 113, 90, 105, 105,
|
||||
90, 90, 90, 90, 90, 90, 90, 90, 92, 61,
|
||||
92, 102, 102, 92, 92, 92, 102, 92, 60, 92,
|
||||
92, 96, 53, 96, 103, 103, 96, 96, 96, 103,
|
||||
35, 35, 35, 94, 35, 94, 35, 35, 49, 49,
|
||||
62, 49, 50, 50, 70, 70, 73, 78, 78, 70,
|
||||
73, 50, 55, 55, 55, 55, 55, 55, 55, 55,
|
||||
55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
|
||||
55, 55, 55, 57, 61, 57, 75, 75, 57, 57,
|
||||
57, 54, 57, 75, 57, 57, 59, 59, 63, 63,
|
||||
52, 79, 79, 80, 80, 59, 79, 63, 82, 82,
|
||||
83, 83, 99, 114, 99, 83, 91, 114, 91, 106,
|
||||
106, 91, 91, 91, 91, 91, 91, 91, 91, 93,
|
||||
48, 93, 103, 103, 93, 93, 93, 103, 93, 47,
|
||||
|
||||
96, 51, 96, 96, 100, 100, 106, 106, 48, 107,
|
||||
107, 106, 47, 100, 107, 31, 100, 109, 109, 110,
|
||||
110, 100, 109, 24, 110, 114, 114, 116, 116, 118,
|
||||
118, 119, 119, 118, 120, 120, 116, 124, 119, 121,
|
||||
121, 120, 124, 125, 125, 127, 127, 127, 127, 127,
|
||||
127, 127, 127, 127, 127, 127, 127, 128, 128, 128,
|
||||
128, 128, 128, 128, 128, 128, 128, 128, 128, 129,
|
||||
93, 93, 97, 31, 97, 104, 104, 97, 97, 97,
|
||||
104, 97, 28, 97, 97, 101, 101, 107, 107, 19,
|
||||
108, 108, 107, 15, 101, 108, 10, 101, 110, 110,
|
||||
111, 111, 101, 110, 9, 111, 115, 115, 117, 117,
|
||||
119, 119, 120, 120, 119, 121, 121, 117, 125, 120,
|
||||
122, 122, 121, 125, 126, 126, 128, 128, 128, 128,
|
||||
128, 128, 128, 128, 128, 128, 128, 128, 129, 129,
|
||||
129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
|
||||
129, 130, 130, 130, 130, 130, 130, 130, 130, 130,
|
||||
130, 130, 130, 131, 131, 131, 131, 131, 131, 131,
|
||||
130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
|
||||
130, 130, 131, 131, 131, 131, 131, 131, 131, 131,
|
||||
|
||||
131, 131, 131, 131, 131, 132, 132, 132, 132, 132,
|
||||
132, 132, 132, 132, 132, 132, 132, 133, 23, 19,
|
||||
133, 133, 133, 134, 134, 15, 10, 9, 8, 7,
|
||||
134, 4, 134, 135, 135, 135, 135, 135, 3, 135,
|
||||
135, 135, 135, 135, 135, 136, 136, 136, 136, 136,
|
||||
136, 0, 136, 136, 136, 136, 136, 137, 0, 0,
|
||||
137, 137, 137, 138, 138, 138, 138, 0, 138, 138,
|
||||
138, 138, 138, 138, 138, 139, 139, 139, 139, 139,
|
||||
0, 139, 139, 139, 139, 139, 139, 140, 140, 140,
|
||||
140, 140, 0, 140, 140, 140, 140, 140, 141, 141,
|
||||
131, 131, 131, 131, 132, 132, 132, 132, 132, 132,
|
||||
132, 132, 132, 132, 132, 132, 133, 133, 133, 133,
|
||||
133, 133, 133, 133, 133, 133, 133, 133, 134, 8,
|
||||
7, 134, 134, 134, 135, 135, 4, 3, 0, 0,
|
||||
0, 135, 0, 135, 136, 136, 136, 136, 136, 0,
|
||||
136, 136, 136, 136, 136, 136, 137, 137, 137, 137,
|
||||
137, 137, 0, 137, 137, 137, 137, 137, 138, 0,
|
||||
0, 138, 138, 138, 139, 139, 139, 139, 0, 139,
|
||||
139, 139, 139, 139, 139, 139, 140, 140, 140, 140,
|
||||
140, 0, 140, 140, 140, 140, 140, 140, 141, 141,
|
||||
|
||||
141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
|
||||
142, 142, 0, 142, 142, 142, 142, 142, 142, 142,
|
||||
142, 142, 143, 143, 143, 143, 144, 144, 144, 144,
|
||||
145, 145, 145, 145, 126, 126, 126, 126, 126, 126,
|
||||
126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
|
||||
126, 126, 126, 126, 126, 126
|
||||
141, 141, 141, 0, 141, 141, 141, 141, 141, 142,
|
||||
142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
|
||||
142, 143, 143, 0, 143, 143, 143, 143, 143, 143,
|
||||
143, 143, 143, 144, 144, 144, 144, 145, 145, 145,
|
||||
145, 146, 146, 146, 146, 127, 127, 127, 127, 127,
|
||||
127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
|
||||
127, 127, 127, 127, 127, 127, 127
|
||||
} ;
|
||||
|
||||
static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
|
||||
@ -547,7 +549,7 @@ char *yytext;
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/scan.c,v 1.15 1998/02/21 06:31:52 scrappy Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/scan.c,v 1.16 1998/03/18 16:50:24 thomas Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -659,7 +661,7 @@ char literal[MAX_PARSE_BUFFER];
|
||||
* Other embedded escaped characters are matched explicitly and the leading
|
||||
* backslash is dropped from the string. - thomas 1997-09-24
|
||||
*/
|
||||
#line 663 "lex.yy.c"
|
||||
#line 665 "lex.yy.c"
|
||||
|
||||
/* Macros after this point can all be overridden by user definitions in
|
||||
* section 1.
|
||||
@ -810,9 +812,9 @@ YY_DECL
|
||||
register char *yy_cp, *yy_bp;
|
||||
register int yy_act;
|
||||
|
||||
#line 178 "scan.l"
|
||||
#line 176 "scan.l"
|
||||
|
||||
#line 816 "lex.yy.c"
|
||||
#line 818 "lex.yy.c"
|
||||
|
||||
if ( yy_init )
|
||||
{
|
||||
@ -860,14 +862,14 @@ yy_match:
|
||||
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
||||
{
|
||||
yy_current_state = (int) yy_def[yy_current_state];
|
||||
if ( yy_current_state >= 127 )
|
||||
if ( yy_current_state >= 128 )
|
||||
yy_c = yy_meta[(unsigned int) yy_c];
|
||||
}
|
||||
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
|
||||
*yy_state_ptr++ = yy_current_state;
|
||||
++yy_cp;
|
||||
}
|
||||
while ( yy_base[yy_current_state] != 435 );
|
||||
while ( yy_base[yy_current_state] != 446 );
|
||||
|
||||
yy_find_action:
|
||||
yy_current_state = *--yy_state_ptr;
|
||||
@ -918,34 +920,34 @@ do_action: /* This label is used only to access EOF actions. */
|
||||
{ /* beginning of action switch */
|
||||
case 1:
|
||||
YY_RULE_SETUP
|
||||
#line 179 "scan.l"
|
||||
#line 177 "scan.l"
|
||||
{ /* ignore */ }
|
||||
YY_BREAK
|
||||
case 2:
|
||||
YY_RULE_SETUP
|
||||
#line 181 "scan.l"
|
||||
#line 179 "scan.l"
|
||||
{ /* ignore */ }
|
||||
YY_BREAK
|
||||
case 3:
|
||||
#line 184 "scan.l"
|
||||
#line 182 "scan.l"
|
||||
case 4:
|
||||
YY_RULE_SETUP
|
||||
#line 184 "scan.l"
|
||||
#line 182 "scan.l"
|
||||
{ BEGIN(xc); }
|
||||
YY_BREAK
|
||||
case 5:
|
||||
YY_RULE_SETUP
|
||||
#line 186 "scan.l"
|
||||
#line 184 "scan.l"
|
||||
{ BEGIN(INITIAL); }
|
||||
YY_BREAK
|
||||
case 6:
|
||||
YY_RULE_SETUP
|
||||
#line 188 "scan.l"
|
||||
#line 186 "scan.l"
|
||||
{ /* ignore */ }
|
||||
YY_BREAK
|
||||
case 7:
|
||||
YY_RULE_SETUP
|
||||
#line 190 "scan.l"
|
||||
#line 188 "scan.l"
|
||||
{
|
||||
BEGIN(xb);
|
||||
llen = 0;
|
||||
@ -954,7 +956,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 8:
|
||||
YY_RULE_SETUP
|
||||
#line 195 "scan.l"
|
||||
#line 193 "scan.l"
|
||||
{
|
||||
char* endptr;
|
||||
|
||||
@ -967,10 +969,10 @@ YY_RULE_SETUP
|
||||
}
|
||||
YY_BREAK
|
||||
case 9:
|
||||
#line 206 "scan.l"
|
||||
#line 204 "scan.l"
|
||||
case 10:
|
||||
YY_RULE_SETUP
|
||||
#line 206 "scan.l"
|
||||
#line 204 "scan.l"
|
||||
{
|
||||
if ((llen+yyleng) > (MAX_PARSE_BUFFER - 1))
|
||||
elog(ERROR,"quoted string parse buffer of %d chars exceeded",MAX_PARSE_BUFFER);
|
||||
@ -979,16 +981,16 @@ YY_RULE_SETUP
|
||||
}
|
||||
YY_BREAK
|
||||
case 11:
|
||||
#line 213 "scan.l"
|
||||
#line 211 "scan.l"
|
||||
case 12:
|
||||
YY_RULE_SETUP
|
||||
#line 213 "scan.l"
|
||||
#line 211 "scan.l"
|
||||
{
|
||||
}
|
||||
YY_BREAK
|
||||
case 13:
|
||||
YY_RULE_SETUP
|
||||
#line 216 "scan.l"
|
||||
#line 214 "scan.l"
|
||||
{
|
||||
BEGIN(xh);
|
||||
llen = 0;
|
||||
@ -997,7 +999,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 14:
|
||||
YY_RULE_SETUP
|
||||
#line 221 "scan.l"
|
||||
#line 219 "scan.l"
|
||||
{
|
||||
char* endptr;
|
||||
|
||||
@ -1011,7 +1013,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 15:
|
||||
YY_RULE_SETUP
|
||||
#line 232 "scan.l"
|
||||
#line 230 "scan.l"
|
||||
{
|
||||
BEGIN(xq);
|
||||
llen = 0;
|
||||
@ -1020,7 +1022,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 16:
|
||||
YY_RULE_SETUP
|
||||
#line 237 "scan.l"
|
||||
#line 235 "scan.l"
|
||||
{
|
||||
BEGIN(INITIAL);
|
||||
yylval.str = pstrdup(scanstr(literal));
|
||||
@ -1028,10 +1030,10 @@ YY_RULE_SETUP
|
||||
}
|
||||
YY_BREAK
|
||||
case 17:
|
||||
#line 243 "scan.l"
|
||||
#line 241 "scan.l"
|
||||
case 18:
|
||||
YY_RULE_SETUP
|
||||
#line 243 "scan.l"
|
||||
#line 241 "scan.l"
|
||||
{
|
||||
if ((llen+yyleng) > (MAX_PARSE_BUFFER - 1))
|
||||
elog(ERROR,"quoted string parse buffer of %d chars exceeded",MAX_PARSE_BUFFER);
|
||||
@ -1041,7 +1043,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 19:
|
||||
YY_RULE_SETUP
|
||||
#line 249 "scan.l"
|
||||
#line 247 "scan.l"
|
||||
{
|
||||
if ((llen+yyleng-1) > (MAX_PARSE_BUFFER - 1))
|
||||
elog(ERROR,"quoted string parse buffer of %d chars exceeded",MAX_PARSE_BUFFER);
|
||||
@ -1052,7 +1054,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 20:
|
||||
YY_RULE_SETUP
|
||||
#line 257 "scan.l"
|
||||
#line 255 "scan.l"
|
||||
{
|
||||
if ((llen+yyleng-1) > (MAX_PARSE_BUFFER - 1))
|
||||
elog(ERROR,"quoted string parse buffer of %d chars exceeded",MAX_PARSE_BUFFER);
|
||||
@ -1062,13 +1064,13 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 21:
|
||||
YY_RULE_SETUP
|
||||
#line 263 "scan.l"
|
||||
#line 261 "scan.l"
|
||||
{
|
||||
}
|
||||
YY_BREAK
|
||||
case 22:
|
||||
YY_RULE_SETUP
|
||||
#line 267 "scan.l"
|
||||
#line 265 "scan.l"
|
||||
{
|
||||
BEGIN(xd);
|
||||
llen = 0;
|
||||
@ -1077,7 +1079,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 23:
|
||||
YY_RULE_SETUP
|
||||
#line 272 "scan.l"
|
||||
#line 270 "scan.l"
|
||||
{
|
||||
BEGIN(INITIAL);
|
||||
yylval.str = pstrdup(literal);
|
||||
@ -1086,7 +1088,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 24:
|
||||
YY_RULE_SETUP
|
||||
#line 277 "scan.l"
|
||||
#line 275 "scan.l"
|
||||
{
|
||||
if ((llen+yyleng) > (MAX_PARSE_BUFFER - 1))
|
||||
elog(ERROR,"quoted string parse buffer of %d chars exceeded",MAX_PARSE_BUFFER);
|
||||
@ -1096,12 +1098,12 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 25:
|
||||
YY_RULE_SETUP
|
||||
#line 285 "scan.l"
|
||||
#line 283 "scan.l"
|
||||
{ /* ignore */ }
|
||||
YY_BREAK
|
||||
case 26:
|
||||
YY_RULE_SETUP
|
||||
#line 286 "scan.l"
|
||||
#line 284 "scan.l"
|
||||
{
|
||||
BEGIN(INITIAL);
|
||||
return (yytext[0]);
|
||||
@ -1109,7 +1111,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 27:
|
||||
YY_RULE_SETUP
|
||||
#line 292 "scan.l"
|
||||
#line 290 "scan.l"
|
||||
{ return TYPECAST; }
|
||||
YY_BREAK
|
||||
case 28:
|
||||
@ -1117,14 +1119,15 @@ case 28:
|
||||
yy_c_buf_p = yy_cp = yy_bp + 1;
|
||||
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
||||
YY_RULE_SETUP
|
||||
#line 294 "scan.l"
|
||||
#line 292 "scan.l"
|
||||
{
|
||||
BEGIN(xm);
|
||||
return (yytext[0]);
|
||||
}
|
||||
YY_BREAK
|
||||
case 29:
|
||||
YY_RULE_SETUP
|
||||
#line 297 "scan.l"
|
||||
#line 296 "scan.l"
|
||||
{ return (yytext[0]); }
|
||||
YY_BREAK
|
||||
case 30:
|
||||
@ -1132,7 +1135,7 @@ case 30:
|
||||
yy_c_buf_p = yy_cp -= 2;
|
||||
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
||||
YY_RULE_SETUP
|
||||
#line 298 "scan.l"
|
||||
#line 297 "scan.l"
|
||||
{
|
||||
yylval.str = pstrdup((char*)yytext);
|
||||
return (Op);
|
||||
@ -1140,7 +1143,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 31:
|
||||
YY_RULE_SETUP
|
||||
#line 302 "scan.l"
|
||||
#line 301 "scan.l"
|
||||
{
|
||||
if (strcmp((char*)yytext,"!=") == 0)
|
||||
yylval.str = pstrdup("<>"); /* compatability */
|
||||
@ -1151,7 +1154,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 32:
|
||||
YY_RULE_SETUP
|
||||
#line 309 "scan.l"
|
||||
#line 308 "scan.l"
|
||||
{
|
||||
yylval.ival = atoi((char*)&yytext[1]);
|
||||
return (PARAM);
|
||||
@ -1254,7 +1257,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 38:
|
||||
YY_RULE_SETUP
|
||||
#line 389 "scan.l"
|
||||
#line 391 "scan.l"
|
||||
{
|
||||
int i;
|
||||
ScanKeyword *keyword;
|
||||
@ -1276,20 +1279,20 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 39:
|
||||
YY_RULE_SETUP
|
||||
#line 407 "scan.l"
|
||||
#line 409 "scan.l"
|
||||
{ /* ignore */ }
|
||||
YY_BREAK
|
||||
case 40:
|
||||
YY_RULE_SETUP
|
||||
#line 409 "scan.l"
|
||||
#line 411 "scan.l"
|
||||
{ return (yytext[0]); }
|
||||
YY_BREAK
|
||||
case 41:
|
||||
YY_RULE_SETUP
|
||||
#line 411 "scan.l"
|
||||
#line 413 "scan.l"
|
||||
ECHO;
|
||||
YY_BREAK
|
||||
#line 1293 "lex.yy.c"
|
||||
#line 1296 "lex.yy.c"
|
||||
case YY_STATE_EOF(INITIAL):
|
||||
case YY_STATE_EOF(xb):
|
||||
case YY_STATE_EOF(xc):
|
||||
@ -1584,7 +1587,7 @@ static yy_state_type yy_get_previous_state()
|
||||
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
||||
{
|
||||
yy_current_state = (int) yy_def[yy_current_state];
|
||||
if ( yy_current_state >= 127 )
|
||||
if ( yy_current_state >= 128 )
|
||||
yy_c = yy_meta[(unsigned int) yy_c];
|
||||
}
|
||||
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
|
||||
@ -1614,11 +1617,11 @@ yy_state_type yy_current_state;
|
||||
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
||||
{
|
||||
yy_current_state = (int) yy_def[yy_current_state];
|
||||
if ( yy_current_state >= 127 )
|
||||
if ( yy_current_state >= 128 )
|
||||
yy_c = yy_meta[(unsigned int) yy_c];
|
||||
}
|
||||
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
|
||||
yy_is_jam = (yy_current_state == 126);
|
||||
yy_is_jam = (yy_current_state == 127);
|
||||
if ( ! yy_is_jam )
|
||||
*yy_state_ptr++ = yy_current_state;
|
||||
|
||||
@ -2175,7 +2178,7 @@ int main()
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
#line 411 "scan.l"
|
||||
#line 413 "scan.l"
|
||||
|
||||
|
||||
void yyerror(char message[])
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.36 1998/02/18 07:22:40 thomas Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.37 1998/03/18 16:50:25 thomas Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -148,12 +148,10 @@ self [,()\[\].;$\:\+\-\*\/\<\>\=\|]
|
||||
op_and_self [\~\!\@\#\%\^\&\|\`\?\$\:\+\-\*\/\<\>\=]
|
||||
operator {op_and_self}+
|
||||
|
||||
xminteger {integer}/-
|
||||
xmreal {real}/{space}*-{digit}
|
||||
xmstop -
|
||||
|
||||
integer -?{digit}+
|
||||
real -?{digit}+\.{digit}+([Ee][-+]?{digit}+)?
|
||||
integer [\-]?{digit}+
|
||||
real [\-]?{digit}+\.{digit}+([Ee][-+]?{digit}+)?
|
||||
|
||||
param \${integer}
|
||||
|
||||
@ -291,7 +289,8 @@ other .
|
||||
|
||||
{typecast} { return TYPECAST; }
|
||||
|
||||
{self}/-[\.0-9] {
|
||||
{self}/{space}*-[\.0-9] {
|
||||
BEGIN(xm);
|
||||
return (yytext[0]);
|
||||
}
|
||||
{self} { return (yytext[0]); }
|
||||
@ -311,6 +310,7 @@ other .
|
||||
return (PARAM);
|
||||
}
|
||||
|
||||
|
||||
{identifier}/{space}*-{number} {
|
||||
int i;
|
||||
ScanKeyword *keyword;
|
||||
@ -386,6 +386,8 @@ other .
|
||||
CheckFloat8Val(yylval.dval);
|
||||
return (FCONST);
|
||||
}
|
||||
|
||||
|
||||
{identifier} {
|
||||
int i;
|
||||
ScanKeyword *keyword;
|
||||
|
Loading…
x
Reference in New Issue
Block a user