1/* A Bison parser, made by GNU Bison 3.0.4. */
2
3/* Bison interface for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20/* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33#ifndef YY_BASE_YY_GRAM_H_INCLUDED
34# define YY_BASE_YY_GRAM_H_INCLUDED
35/* Debug traces. */
36#ifndef YYDEBUG
37# define YYDEBUG 0
38#endif
39#if YYDEBUG
40extern int base_yydebug;
41#endif
42
43/* Token type. */
44#ifndef YYTOKENTYPE
45# define YYTOKENTYPE
46 enum yytokentype
47 {
48 IDENT = 258,
49 FCONST = 259,
50 SCONST = 260,
51 BCONST = 261,
52 XCONST = 262,
53 Op = 263,
54 ICONST = 264,
55 PARAM = 265,
56 TYPECAST = 266,
57 DOT_DOT = 267,
58 COLON_EQUALS = 268,
59 EQUALS_GREATER = 269,
60 LESS_EQUALS = 270,
61 GREATER_EQUALS = 271,
62 NOT_EQUALS = 272,
63 ABORT_P = 273,
64 ABSOLUTE_P = 274,
65 ACCESS = 275,
66 ACTION = 276,
67 ADD_P = 277,
68 ADMIN = 278,
69 AFTER = 279,
70 AGGREGATE = 280,
71 ALL = 281,
72 ALSO = 282,
73 ALTER = 283,
74 ALWAYS = 284,
75 ANALYSE = 285,
76 ANALYZE = 286,
77 AND = 287,
78 ANY = 288,
79 ARRAY = 289,
80 AS = 290,
81 ASC = 291,
82 ASSERTION = 292,
83 ASSIGNMENT = 293,
84 ASYMMETRIC = 294,
85 AT = 295,
86 ATTACH = 296,
87 ATTRIBUTE = 297,
88 AUTHORIZATION = 298,
89 BACKWARD = 299,
90 BEFORE = 300,
91 BEGIN_P = 301,
92 BETWEEN = 302,
93 BIGINT = 303,
94 BINARY = 304,
95 BIT = 305,
96 BOOLEAN_P = 306,
97 BOTH = 307,
98 BY = 308,
99 CACHE = 309,
100 CALL = 310,
101 CALLED = 311,
102 CASCADE = 312,
103 CASCADED = 313,
104 CASE = 314,
105 CAST = 315,
106 CATALOG_P = 316,
107 CHAIN = 317,
108 CHAR_P = 318,
109 CHARACTER = 319,
110 CHARACTERISTICS = 320,
111 CHECK = 321,
112 CHECKPOINT = 322,
113 CLASS = 323,
114 CLOSE = 324,
115 CLUSTER = 325,
116 COALESCE = 326,
117 COLLATE = 327,
118 COLLATION = 328,
119 COLUMN = 329,
120 COLUMNS = 330,
121 COMMENT = 331,
122 COMMENTS = 332,
123 COMMIT = 333,
124 COMMITTED = 334,
125 CONCURRENTLY = 335,
126 CONFIGURATION = 336,
127 CONFLICT = 337,
128 CONNECTION = 338,
129 CONSTRAINT = 339,
130 CONSTRAINTS = 340,
131 CONTENT_P = 341,
132 CONTINUE_P = 342,
133 CONVERSION_P = 343,
134 COPY = 344,
135 COST = 345,
136 CREATE = 346,
137 CROSS = 347,
138 CSV = 348,
139 CUBE = 349,
140 CURRENT_P = 350,
141 CURRENT_CATALOG = 351,
142 CURRENT_DATE = 352,
143 CURRENT_ROLE = 353,
144 CURRENT_SCHEMA = 354,
145 CURRENT_TIME = 355,
146 CURRENT_TIMESTAMP = 356,
147 CURRENT_USER = 357,
148 CURSOR = 358,
149 CYCLE = 359,
150 DATA_P = 360,
151 DATABASE = 361,
152 DAY_P = 362,
153 DEALLOCATE = 363,
154 DEC = 364,
155 DECIMAL_P = 365,
156 DECLARE = 366,
157 DEFAULT = 367,
158 DEFAULTS = 368,
159 DEFERRABLE = 369,
160 DEFERRED = 370,
161 DEFINER = 371,
162 DELETE_P = 372,
163 DELIMITER = 373,
164 DELIMITERS = 374,
165 DEPENDS = 375,
166 DESC = 376,
167 DETACH = 377,
168 DICTIONARY = 378,
169 DISABLE_P = 379,
170 DISCARD = 380,
171 DISTINCT = 381,
172 DO = 382,
173 DOCUMENT_P = 383,
174 DOMAIN_P = 384,
175 DOUBLE_P = 385,
176 DROP = 386,
177 EACH = 387,
178 ELSE = 388,
179 ENABLE_P = 389,
180 ENCODING = 390,
181 ENCRYPTED = 391,
182 END_P = 392,
183 ENUM_P = 393,
184 ESCAPE = 394,
185 EVENT = 395,
186 EXCEPT = 396,
187 EXCLUDE = 397,
188 EXCLUDING = 398,
189 EXCLUSIVE = 399,
190 EXECUTE = 400,
191 EXISTS = 401,
192 EXPLAIN = 402,
193 EXTENSION = 403,
194 EXTERNAL = 404,
195 EXTRACT = 405,
196 FALSE_P = 406,
197 FAMILY = 407,
198 FETCH = 408,
199 FILTER = 409,
200 FIRST_P = 410,
201 FLOAT_P = 411,
202 FOLLOWING = 412,
203 FOR = 413,
204 FORCE = 414,
205 FOREIGN = 415,
206 FORWARD = 416,
207 FREEZE = 417,
208 FROM = 418,
209 FULL = 419,
210 FUNCTION = 420,
211 FUNCTIONS = 421,
212 GENERATED = 422,
213 GLOBAL = 423,
214 GRANT = 424,
215 GRANTED = 425,
216 GREATEST = 426,
217 GROUP_P = 427,
218 GROUPING = 428,
219 GROUPS = 429,
220 HANDLER = 430,
221 HAVING = 431,
222 HEADER_P = 432,
223 HOLD = 433,
224 HOUR_P = 434,
225 IDENTITY_P = 435,
226 IF_P = 436,
227 ILIKE = 437,
228 IMMEDIATE = 438,
229 IMMUTABLE = 439,
230 IMPLICIT_P = 440,
231 IMPORT_P = 441,
232 IN_P = 442,
233 INCLUDE = 443,
234 INCLUDING = 444,
235 INCREMENT = 445,
236 INDEX = 446,
237 INDEXES = 447,
238 INHERIT = 448,
239 INHERITS = 449,
240 INITIALLY = 450,
241 INLINE_P = 451,
242 INNER_P = 452,
243 INOUT = 453,
244 INPUT_P = 454,
245 INSENSITIVE = 455,
246 INSERT = 456,
247 INSTEAD = 457,
248 INT_P = 458,
249 INTEGER = 459,
250 INTERSECT = 460,
251 INTERVAL = 461,
252 INTO = 462,
253 INVOKER = 463,
254 IS = 464,
255 ISNULL = 465,
256 ISOLATION = 466,
257 JOIN = 467,
258 KEY = 468,
259 LABEL = 469,
260 LANGUAGE = 470,
261 LARGE_P = 471,
262 LAST_P = 472,
263 LATERAL_P = 473,
264 LEADING = 474,
265 LEAKPROOF = 475,
266 LEAST = 476,
267 LEFT = 477,
268 LEVEL = 478,
269 LIKE = 479,
270 LIMIT = 480,
271 LISTEN = 481,
272 LOAD = 482,
273 LOCAL = 483,
274 LOCALTIME = 484,
275 LOCALTIMESTAMP = 485,
276 LOCATION = 486,
277 LOCK_P = 487,
278 LOCKED = 488,
279 LOGGED = 489,
280 MAPPING = 490,
281 MATCH = 491,
282 MATERIALIZED = 492,
283 MAXVALUE = 493,
284 METHOD = 494,
285 MINUTE_P = 495,
286 MINVALUE = 496,
287 MODE = 497,
288 MONTH_P = 498,
289 MOVE = 499,
290 NAME_P = 500,
291 NAMES = 501,
292 NATIONAL = 502,
293 NATURAL = 503,
294 NCHAR = 504,
295 NEW = 505,
296 NEXT = 506,
297 NO = 507,
298 NONE = 508,
299 NOT = 509,
300 NOTHING = 510,
301 NOTIFY = 511,
302 NOTNULL = 512,
303 NOWAIT = 513,
304 NULL_P = 514,
305 NULLIF = 515,
306 NULLS_P = 516,
307 NUMERIC = 517,
308 OBJECT_P = 518,
309 OF = 519,
310 OFF = 520,
311 OFFSET = 521,
312 OIDS = 522,
313 OLD = 523,
314 ON = 524,
315 ONLY = 525,
316 OPERATOR = 526,
317 OPTION = 527,
318 OPTIONS = 528,
319 OR = 529,
320 ORDER = 530,
321 ORDINALITY = 531,
322 OTHERS = 532,
323 OUT_P = 533,
324 OUTER_P = 534,
325 OVER = 535,
326 OVERLAPS = 536,
327 OVERLAY = 537,
328 OVERRIDING = 538,
329 OWNED = 539,
330 OWNER = 540,
331 PARALLEL = 541,
332 PARSER = 542,
333 PARTIAL = 543,
334 PARTITION = 544,
335 PASSING = 545,
336 PASSWORD = 546,
337 PLACING = 547,
338 PLANS = 548,
339 POLICY = 549,
340 POSITION = 550,
341 PRECEDING = 551,
342 PRECISION = 552,
343 PRESERVE = 553,
344 PREPARE = 554,
345 PREPARED = 555,
346 PRIMARY = 556,
347 PRIOR = 557,
348 PRIVILEGES = 558,
349 PROCEDURAL = 559,
350 PROCEDURE = 560,
351 PROCEDURES = 561,
352 PROGRAM = 562,
353 PUBLICATION = 563,
354 QUOTE = 564,
355 RANGE = 565,
356 READ = 566,
357 REAL = 567,
358 REASSIGN = 568,
359 RECHECK = 569,
360 RECURSIVE = 570,
361 REF = 571,
362 REFERENCES = 572,
363 REFERENCING = 573,
364 REFRESH = 574,
365 REINDEX = 575,
366 RELATIVE_P = 576,
367 RELEASE = 577,
368 RENAME = 578,
369 REPEATABLE = 579,
370 REPLACE = 580,
371 REPLICA = 581,
372 RESET = 582,
373 RESTART = 583,
374 RESTRICT = 584,
375 RETURNING = 585,
376 RETURNS = 586,
377 REVOKE = 587,
378 RIGHT = 588,
379 ROLE = 589,
380 ROLLBACK = 590,
381 ROLLUP = 591,
382 ROUTINE = 592,
383 ROUTINES = 593,
384 ROW = 594,
385 ROWS = 595,
386 RULE = 596,
387 SAVEPOINT = 597,
388 SCHEMA = 598,
389 SCHEMAS = 599,
390 SCROLL = 600,
391 SEARCH = 601,
392 SECOND_P = 602,
393 SECURITY = 603,
394 SELECT = 604,
395 SEQUENCE = 605,
396 SEQUENCES = 606,
397 SERIALIZABLE = 607,
398 SERVER = 608,
399 SESSION = 609,
400 SESSION_USER = 610,
401 SET = 611,
402 SETS = 612,
403 SETOF = 613,
404 SHARE = 614,
405 SHOW = 615,
406 SIMILAR = 616,
407 SIMPLE = 617,
408 SKIP = 618,
409 SMALLINT = 619,
410 SNAPSHOT = 620,
411 SOME = 621,
412 SQL_P = 622,
413 STABLE = 623,
414 STANDALONE_P = 624,
415 START = 625,
416 STATEMENT = 626,
417 STATISTICS = 627,
418 STDIN = 628,
419 STDOUT = 629,
420 STORAGE = 630,
421 STORED = 631,
422 STRICT_P = 632,
423 STRIP_P = 633,
424 SUBSCRIPTION = 634,
425 SUBSTRING = 635,
426 SUPPORT = 636,
427 SYMMETRIC = 637,
428 SYSID = 638,
429 SYSTEM_P = 639,
430 TABLE = 640,
431 TABLES = 641,
432 TABLESAMPLE = 642,
433 TABLESPACE = 643,
434 TEMP = 644,
435 TEMPLATE = 645,
436 TEMPORARY = 646,
437 TEXT_P = 647,
438 THEN = 648,
439 TIES = 649,
440 TIME = 650,
441 TIMESTAMP = 651,
442 TO = 652,
443 TRAILING = 653,
444 TRANSACTION = 654,
445 TRANSFORM = 655,
446 TREAT = 656,
447 TRIGGER = 657,
448 TRIM = 658,
449 TRUE_P = 659,
450 TRUNCATE = 660,
451 TRUSTED = 661,
452 TYPE_P = 662,
453 TYPES_P = 663,
454 UNBOUNDED = 664,
455 UNCOMMITTED = 665,
456 UNENCRYPTED = 666,
457 UNION = 667,
458 UNIQUE = 668,
459 UNKNOWN = 669,
460 UNLISTEN = 670,
461 UNLOGGED = 671,
462 UNTIL = 672,
463 UPDATE = 673,
464 USER = 674,
465 USING = 675,
466 VACUUM = 676,
467 VALID = 677,
468 VALIDATE = 678,
469 VALIDATOR = 679,
470 VALUE_P = 680,
471 VALUES = 681,
472 VARCHAR = 682,
473 VARIADIC = 683,
474 VARYING = 684,
475 VERBOSE = 685,
476 VERSION_P = 686,
477 VIEW = 687,
478 VIEWS = 688,
479 VOLATILE = 689,
480 WHEN = 690,
481 WHERE = 691,
482 WHITESPACE_P = 692,
483 WINDOW = 693,
484 WITH = 694,
485 WITHIN = 695,
486 WITHOUT = 696,
487 WORK = 697,
488 WRAPPER = 698,
489 WRITE = 699,
490 XML_P = 700,
491 XMLATTRIBUTES = 701,
492 XMLCONCAT = 702,
493 XMLELEMENT = 703,
494 XMLEXISTS = 704,
495 XMLFOREST = 705,
496 XMLNAMESPACES = 706,
497 XMLPARSE = 707,
498 XMLPI = 708,
499 XMLROOT = 709,
500 XMLSERIALIZE = 710,
501 XMLTABLE = 711,
502 YEAR_P = 712,
503 YES_P = 713,
504 ZONE = 714,
505 NOT_LA = 715,
506 NULLS_LA = 716,
507 WITH_LA = 717,
508 POSTFIXOP = 718,
509 UMINUS = 719
510 };
511#endif
512
513/* Value type. */
514#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
515
516union YYSTYPE
517{
518#line 203 "gram.y" /* yacc.c:1909 */
519
520 core_YYSTYPE core_yystype;
521 /* these fields must match core_YYSTYPE: */
522 int ival;
523 char *str;
524 const char *keyword;
525
526 char chr;
527 bool boolean;
528 JoinType jtype;
529 DropBehavior dbehavior;
530 OnCommitAction oncommit;
531 List *list;
532 Node *node;
533 Value *value;
534 ObjectType objtype;
535 TypeName *typnam;
536 FunctionParameter *fun_param;
537 FunctionParameterMode fun_param_mode;
538 ObjectWithArgs *objwithargs;
539 DefElem *defelt;
540 SortBy *sortby;
541 WindowDef *windef;
542 JoinExpr *jexpr;
543 IndexElem *ielem;
544 Alias *alias;
545 RangeVar *range;
546 IntoClause *into;
547 WithClause *with;
548 InferClause *infer;
549 OnConflictClause *onconflict;
550 A_Indices *aind;
551 ResTarget *target;
552 struct PrivTarget *privtarget;
553 AccessPriv *accesspriv;
554 struct ImportQual *importqual;
555 InsertStmt *istmt;
556 VariableSetStmt *vsetstmt;
557 PartitionElem *partelem;
558 PartitionSpec *partspec;
559 PartitionBoundSpec *partboundspec;
560 RoleSpec *rolespec;
561
562#line 563 "gram.h" /* yacc.c:1909 */
563};
564
565typedef union YYSTYPE YYSTYPE;
566# define YYSTYPE_IS_TRIVIAL 1
567# define YYSTYPE_IS_DECLARED 1
568#endif
569
570/* Location type. */
571#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
572typedef struct YYLTYPE YYLTYPE;
573struct YYLTYPE
574{
575 int first_line;
576 int first_column;
577 int last_line;
578 int last_column;
579};
580# define YYLTYPE_IS_DECLARED 1
581# define YYLTYPE_IS_TRIVIAL 1
582#endif
583
584
585
586int base_yyparse (core_yyscan_t yyscanner);
587
588#endif /* !YY_BASE_YY_GRAM_H_INCLUDED */
589