/* A Bison parser, made by GNU Bison 1.875. */ /* Skeleton parser for Yacc-like parsing with Bison, Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { ABORT_P = 258, ABSOLUTE_P = 259, ACCESS = 260, ACTION = 261, ADD_P = 262, ADMIN = 263, AFTER = 264, AGGREGATE = 265, ALL = 266, ALSO = 267, ALTER = 268, ANALYSE = 269, ANALYZE = 270, AND = 271, ANY = 272, ARRAY = 273, AS = 274, ASC = 275, ASSERTION = 276, ASSIGNMENT = 277, ASYMMETRIC = 278, AT = 279, AUTHORIZATION = 280, BACKWARD = 281, BEFORE = 282, BEGIN_P = 283, BETWEEN = 284, BIGINT = 285, BINARY = 286, BIT = 287, BOOLEAN_P = 288, BOTH = 289, BY = 290, CACHE = 291, CALLED = 292, CASCADE = 293, CASCADED = 294, CASE = 295, CAST = 296, CHAIN = 297, CHAR_P = 298, CHARACTER = 299, CHARACTERISTICS = 300, CHECK = 301, CHECKPOINT = 302, CLASS = 303, CLOSE = 304, CLUSTER = 305, COALESCE = 306, COLLATE = 307, COLUMN = 308, COMMENT = 309, COMMIT = 310, COMMITTED = 311, CONCURRENTLY = 312, CONNECTION = 313, CONSTRAINT = 314, CONSTRAINTS = 315, CONVERSION_P = 316, CONVERT = 317, COPY = 318, CREATE = 319, CREATEDB = 320, CREATEROLE = 321, CREATEUSER = 322, CROSS = 323, CSV = 324, CURRENT_DATE = 325, CURRENT_ROLE = 326, CURRENT_TIME = 327, CURRENT_TIMESTAMP = 328, CURRENT_USER = 329, CURSOR = 330, CYCLE = 331, DATABASE = 332, DAY_P = 333, DEALLOCATE = 334, DEC = 335, DECIMAL_P = 336, DECLARE = 337, DEFAULT = 338, DEFAULTS = 339, DEFERRABLE = 340, DEFERRED = 341, DEFINER = 342, DELETE_P = 343, DELIMITER = 344, DELIMITERS = 345, DESC = 346, DISABLE_P = 347, DISTINCT = 348, DO = 349, DOMAIN_P = 350, DOUBLE_P = 351, DROP = 352, EACH = 353, ELSE = 354, ENABLE_P = 355, ENCODING = 356, ENCRYPTED = 357, END_P = 358, ESCAPE = 359, EXCEPT = 360, EXCLUDING = 361, EXCLUSIVE = 362, EXECUTE = 363, EXISTS = 364, EXPLAIN = 365, EXTERNAL = 366, EXTRACT = 367, FALSE_P = 368, FETCH = 369, FIRST_P = 370, FLOAT_P = 371, FOR = 372, FORCE = 373, FOREIGN = 374, FORWARD = 375, FREEZE = 376, FROM = 377, FULL = 378, FUNCTION = 379, GLOBAL = 380, GRANT = 381, GRANTED = 382, GREATEST = 383, GROUP_P = 384, HANDLER = 385, HAVING = 386, HEADER_P = 387, HOLD = 388, HOUR_P = 389, IF_P = 390, ILIKE = 391, IMMEDIATE = 392, IMMUTABLE = 393, IMPLICIT_P = 394, IN_P = 395, INCLUDING = 396, INCREMENT = 397, INDEX = 398, INDEXES = 399, INHERIT = 400, INHERITS = 401, INITIALLY = 402, INNER_P = 403, INOUT = 404, INPUT_P = 405, INSENSITIVE = 406, INSERT = 407, INSTEAD = 408, INT_P = 409, INTEGER = 410, INTERSECT = 411, INTERVAL = 412, INTO = 413, INVOKER = 414, IS = 415, ISNULL = 416, ISOLATION = 417, JOIN = 418, KEY = 419, LANCOMPILER = 420, LANGUAGE = 421, LARGE_P = 422, LAST_P = 423, LEADING = 424, LEAST = 425, LEFT = 426, LEVEL = 427, LIKE = 428, LIMIT = 429, LISTEN = 430, LOAD = 431, LOCAL = 432, LOCALTIME = 433, LOCALTIMESTAMP = 434, LOCATION = 435, LOCK_P = 436, LOGIN_P = 437, MATCH = 438, MAXVALUE = 439, MINUTE_P = 440, MINVALUE = 441, MODE = 442, MONTH_P = 443, MOVE = 444, NAMES = 445, NATIONAL = 446, NATURAL = 447, NCHAR = 448, NEW = 449, NEXT = 450, NO = 451, NOCREATEDB = 452, NOCREATEROLE = 453, NOCREATEUSER = 454, NOINHERIT = 455, NOLOGIN_P = 456, NONE = 457, NOSUPERUSER = 458, NOT = 459, NOTHING = 460, NOTIFY = 461, NOTNULL = 462, NOWAIT = 463, NULL_P = 464, NULLIF = 465, NUMERIC = 466, OBJECT_P = 467, OF = 468, OFF = 469, OFFSET = 470, OIDS = 471, OLD = 472, ON = 473, ONLY = 474, OPERATOR = 475, OPTION = 476, OR = 477, ORDER = 478, OUT_P = 479, OUTER_P = 480, OVERLAPS = 481, OVERLAY = 482, OWNED = 483, OWNER = 484, PARTIAL = 485, PASSWORD = 486, PLACING = 487, POSITION = 488, PRECISION = 489, PRESERVE = 490, PREPARE = 491, PREPARED = 492, PRIMARY = 493, PRIOR = 494, PRIVILEGES = 495, PROCEDURAL = 496, PROCEDURE = 497, QUOTE = 498, READ = 499, REAL = 500, REASSIGN = 501, RECHECK = 502, REFERENCES = 503, REINDEX = 504, RELATIVE_P = 505, RELEASE = 506, RENAME = 507, REPEATABLE = 508, REPLACE = 509, RESET = 510, RESTART = 511, RESTRICT = 512, RETURNING = 513, RETURNS = 514, REVOKE = 515, RIGHT = 516, ROLE = 517, ROLLBACK = 518, ROW = 519, ROWS = 520, RULE = 521, SAVEPOINT = 522, SCHEMA = 523, SCROLL = 524, SECOND_P = 525, SECURITY = 526, SELECT = 527, SEQUENCE = 528, SERIALIZABLE = 529, SESSION = 530, SESSION_USER = 531, SET = 532, SETOF = 533, SHARE = 534, SHOW = 535, SIMILAR = 536, SIMPLE = 537, SMALLINT = 538, SOME = 539, STABLE = 540, START = 541, STATEMENT = 542, STATISTICS = 543, STDIN = 544, STDOUT = 545, STORAGE = 546, STRICT_P = 547, SUBSTRING = 548, SUPERUSER_P = 549, SYMMETRIC = 550, SYSID = 551, SYSTEM_P = 552, TABLE = 553, TABLESPACE = 554, TEMP = 555, TEMPLATE = 556, TEMPORARY = 557, THEN = 558, TIME = 559, TIMESTAMP = 560, TO = 561, TRAILING = 562, TRANSACTION = 563, TREAT = 564, TRIGGER = 565, TRIM = 566, TRUE_P = 567, TRUNCATE = 568, TRUSTED = 569, TYPE_P = 570, UNCOMMITTED = 571, UNENCRYPTED = 572, UNION = 573, UNIQUE = 574, UNKNOWN = 575, UNLISTEN = 576, UNTIL = 577, UPDATE = 578, USER = 579, USING = 580, VACUUM = 581, VALID = 582, VALIDATOR = 583, VALUES = 584, VARCHAR = 585, VARYING = 586, VERBOSE = 587, VIEW = 588, VOLATILE = 589, WHEN = 590, WHERE = 591, WITH = 592, WITHOUT = 593, WORK = 594, WRITE = 595, YEAR_P = 596, ZONE = 597, WITH_CASCADED = 598, WITH_LOCAL = 599, WITH_CHECK = 600, IDENT = 601, FCONST = 602, SCONST = 603, BCONST = 604, XCONST = 605, Op = 606, ICONST = 607, PARAM = 608, POSTFIXOP = 609, UMINUS = 610, TYPECAST = 611 }; #endif #define ABORT_P 258 #define ABSOLUTE_P 259 #define ACCESS 260 #define ACTION 261 #define ADD_P 262 #define ADMIN 263 #define AFTER 264 #define AGGREGATE 265 #define ALL 266 #define ALSO 267 #define ALTER 268 #define ANALYSE 269 #define ANALYZE 270 #define AND 271 #define ANY 272 #define ARRAY 273 #define AS 274 #define ASC 275 #define ASSERTION 276 #define ASSIGNMENT 277 #define ASYMMETRIC 278 #define AT 279 #define AUTHORIZATION 280 #define BACKWARD 281 #define BEFORE 282 #define BEGIN_P 283 #define BETWEEN 284 #define BIGINT 285 #define BINARY 286 #define BIT 287 #define BOOLEAN_P 288 #define BOTH 289 #define BY 290 #define CACHE 291 #define CALLED 292 #define CASCADE 293 #define CASCADED 294 #define CASE 295 #define CAST 296 #define CHAIN 297 #define CHAR_P 298 #define CHARACTER 299 #define CHARACTERISTICS 300 #define CHECK 301 #define CHECKPOINT 302 #define CLASS 303 #define CLOSE 304 #define CLUSTER 305 #define COALESCE 306 #define COLLATE 307 #define COLUMN 308 #define COMMENT 309 #define COMMIT 310 #define COMMITTED 311 #define CONCURRENTLY 312 #define CONNECTION 313 #define CONSTRAINT 314 #define CONSTRAINTS 315 #define CONVERSION_P 316 #define CONVERT 317 #define COPY 318 #define CREATE 319 #define CREATEDB 320 #define CREATEROLE 321 #define CREATEUSER 322 #define CROSS 323 #define CSV 324 #define CURRENT_DATE 325 #define CURRENT_ROLE 326 #define CURRENT_TIME 327 #define CURRENT_TIMESTAMP 328 #define CURRENT_USER 329 #define CURSOR 330 #define CYCLE 331 #define DATABASE 332 #define DAY_P 333 #define DEALLOCATE 334 #define DEC 335 #define DECIMAL_P 336 #define DECLARE 337 #define DEFAULT 338 #define DEFAULTS 339 #define DEFERRABLE 340 #define DEFERRED 341 #define DEFINER 342 #define DELETE_P 343 #define DELIMITER 344 #define DELIMITERS 345 #define DESC 346 #define DISABLE_P 347 #define DISTINCT 348 #define DO 349 #define DOMAIN_P 350 #define DOUBLE_P 351 #define DROP 352 #define EACH 353 #define ELSE 354 #define ENABLE_P 355 #define ENCODING 356 #define ENCRYPTED 357 #define END_P 358 #define ESCAPE 359 #define EXCEPT 360 #define EXCLUDING 361 #define EXCLUSIVE 362 #define EXECUTE 363 #define EXISTS 364 #define EXPLAIN 365 #define EXTERNAL 366 #define EXTRACT 367 #define FALSE_P 368 #define FETCH 369 #define FIRST_P 370 #define FLOAT_P 371 #define FOR 372 #define FORCE 373 #define FOREIGN 374 #define FORWARD 375 #define FREEZE 376 #define FROM 377 #define FULL 378 #define FUNCTION 379 #define GLOBAL 380 #define GRANT 381 #define GRANTED 382 #define GREATEST 383 #define GROUP_P 384 #define HANDLER 385 #define HAVING 386 #define HEADER_P 387 #define HOLD 388 #define HOUR_P 389 #define IF_P 390 #define ILIKE 391 #define IMMEDIATE 392 #define IMMUTABLE 393 #define IMPLICIT_P 394 #define IN_P 395 #define INCLUDING 396 #define INCREMENT 397 #define INDEX 398 #define INDEXES 399 #define INHERIT 400 #define INHERITS 401 #define INITIALLY 402 #define INNER_P 403 #define INOUT 404 #define INPUT_P 405 #define INSENSITIVE 406 #define INSERT 407 #define INSTEAD 408 #define INT_P 409 #define INTEGER 410 #define INTERSECT 411 #define INTERVAL 412 #define INTO 413 #define INVOKER 414 #define IS 415 #define ISNULL 416 #define ISOLATION 417 #define JOIN 418 #define KEY 419 #define LANCOMPILER 420 #define LANGUAGE 421 #define LARGE_P 422 #define LAST_P 423 #define LEADING 424 #define LEAST 425 #define LEFT 426 #define LEVEL 427 #define LIKE 428 #define LIMIT 429 #define LISTEN 430 #define LOAD 431 #define LOCAL 432 #define LOCALTIME 433 #define LOCALTIMESTAMP 434 #define LOCATION 435 #define LOCK_P 436 #define LOGIN_P 437 #define MATCH 438 #define MAXVALUE 439 #define MINUTE_P 440 #define MINVALUE 441 #define MODE 442 #define MONTH_P 443 #define MOVE 444 #define NAMES 445 #define NATIONAL 446 #define NATURAL 447 #define NCHAR 448 #define NEW 449 #define NEXT 450 #define NO 451 #define NOCREATEDB 452 #define NOCREATEROLE 453 #define NOCREATEUSER 454 #define NOINHERIT 455 #define NOLOGIN_P 456 #define NONE 457 #define NOSUPERUSER 458 #define NOT 459 #define NOTHING 460 #define NOTIFY 461 #define NOTNULL 462 #define NOWAIT 463 #define NULL_P 464 #define NULLIF 465 #define NUMERIC 466 #define OBJECT_P 467 #define OF 468 #define OFF 469 #define OFFSET 470 #define OIDS 471 #define OLD 472 #define ON 473 #define ONLY 474 #define OPERATOR 475 #define OPTION 476 #define OR 477 #define ORDER 478 #define OUT_P 479 #define OUTER_P 480 #define OVERLAPS 481 #define OVERLAY 482 #define OWNED 483 #define OWNER 484 #define PARTIAL 485 #define PASSWORD 486 #define PLACING 487 #define POSITION 488 #define PRECISION 489 #define PRESERVE 490 #define PREPARE 491 #define PREPARED 492 #define PRIMARY 493 #define PRIOR 494 #define PRIVILEGES 495 #define PROCEDURAL 496 #define PROCEDURE 497 #define QUOTE 498 #define READ 499 #define REAL 500 #define REASSIGN 501 #define RECHECK 502 #define REFERENCES 503 #define REINDEX 504 #define RELATIVE_P 505 #define RELEASE 506 #define RENAME 507 #define REPEATABLE 508 #define REPLACE 509 #define RESET 510 #define RESTART 511 #define RESTRICT 512 #define RETURNING 513 #define RETURNS 514 #define REVOKE 515 #define RIGHT 516 #define ROLE 517 #define ROLLBACK 518 #define ROW 519 #define ROWS 520 #define RULE 521 #define SAVEPOINT 522 #define SCHEMA 523 #define SCROLL 524 #define SECOND_P 525 #define SECURITY 526 #define SELECT 527 #define SEQUENCE 528 #define SERIALIZABLE 529 #define SESSION 530 #define SESSION_USER 531 #define SET 532 #define SETOF 533 #define SHARE 534 #define SHOW 535 #define SIMILAR 536 #define SIMPLE 537 #define SMALLINT 538 #define SOME 539 #define STABLE 540 #define START 541 #define STATEMENT 542 #define STATISTICS 543 #define STDIN 544 #define STDOUT 545 #define STORAGE 546 #define STRICT_P 547 #define SUBSTRING 548 #define SUPERUSER_P 549 #define SYMMETRIC 550 #define SYSID 551 #define SYSTEM_P 552 #define TABLE 553 #define TABLESPACE 554 #define TEMP 555 #define TEMPLATE 556 #define TEMPORARY 557 #define THEN 558 #define TIME 559 #define TIMESTAMP 560 #define TO 561 #define TRAILING 562 #define TRANSACTION 563 #define TREAT 564 #define TRIGGER 565 #define TRIM 566 #define TRUE_P 567 #define TRUNCATE 568 #define TRUSTED 569 #define TYPE_P 570 #define UNCOMMITTED 571 #define UNENCRYPTED 572 #define UNION 573 #define UNIQUE 574 #define UNKNOWN 575 #define UNLISTEN 576 #define UNTIL 577 #define UPDATE 578 #define USER 579 #define USING 580 #define VACUUM 581 #define VALID 582 #define VALIDATOR 583 #define VALUES 584 #define VARCHAR 585 #define VARYING 586 #define VERBOSE 587 #define VIEW 588 #define VOLATILE 589 #define WHEN 590 #define WHERE 591 #define WITH 592 #define WITHOUT 593 #define WORK 594 #define WRITE 595 #define YEAR_P 596 #define ZONE 597 #define WITH_CASCADED 598 #define WITH_LOCAL 599 #define WITH_CHECK 600 #define IDENT 601 #define FCONST 602 #define SCONST 603 #define BCONST 604 #define XCONST 605 #define Op 606 #define ICONST 607 #define PARAM 608 #define POSTFIXOP 609 #define UMINUS 610 #define TYPECAST 611 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) #line 116 "gram.y" typedef union YYSTYPE { int ival; char chr; char *str; const char *keyword; bool boolean; JoinType jtype; DropBehavior dbehavior; OnCommitAction oncommit; List *list; Node *node; Value *value; ObjectType objtype; TypeName *typnam; FunctionParameter *fun_param; FunctionParameterMode fun_param_mode; FuncWithArgs *funwithargs; DefElem *defelt; SortBy *sortby; JoinExpr *jexpr; IndexElem *ielem; Alias *alias; RangeVar *range; A_Indices *aind; ResTarget *target; PrivTarget *privtarget; InsertStmt *istmt; VariableSetStmt *vsetstmt; } YYSTYPE; /* Line 1204 of yacc.c. */ #line 780 "y.tab.h" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE base_yylval; #if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED) typedef struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; } YYLTYPE; # define yyltype YYLTYPE /* obsolescent; will be withdrawn */ # define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_TRIVIAL 1 #endif extern YYLTYPE base_yylloc;