/* 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 = 262, AFTER = 263, AGGREGATE = 264, ALL = 265, ALSO = 266, ALTER = 267, ANALYSE = 268, ANALYZE = 269, AND = 270, ANY = 271, ARRAY = 272, AS = 273, ASC = 274, ASSERTION = 275, ASSIGNMENT = 276, AT = 277, AUTHORIZATION = 278, BACKWARD = 279, BEFORE = 280, BEGIN_P = 281, BETWEEN = 282, BIGINT = 283, BINARY = 284, BIT = 285, BOOLEAN_P = 286, BOTH = 287, BY = 288, CACHE = 289, CALLED = 290, CASCADE = 291, CASE = 292, CAST = 293, CHAIN = 294, CHAR_P = 295, CHARACTER = 296, CHARACTERISTICS = 297, CHECK = 298, CHECKPOINT = 299, CLASS = 300, CLOSE = 301, CLUSTER = 302, COALESCE = 303, COLLATE = 304, COLUMN = 305, COMMENT = 306, COMMIT = 307, COMMITTED = 308, CONSTRAINT = 309, CONSTRAINTS = 310, CONVERSION_P = 311, CONVERT = 312, COPY = 313, CREATE = 314, CREATEDB = 315, CREATEUSER = 316, CROSS = 317, CSV = 318, CURRENT_DATE = 319, CURRENT_TIME = 320, CURRENT_TIMESTAMP = 321, CURRENT_USER = 322, CURSOR = 323, CYCLE = 324, DATABASE = 325, DAY_P = 326, DEALLOCATE = 327, DEC = 328, DECIMAL_P = 329, DECLARE = 330, DEFAULT = 331, DEFAULTS = 332, DEFERRABLE = 333, DEFERRED = 334, DEFINER = 335, DELETE_P = 336, DELIMITER = 337, DELIMITERS = 338, DESC = 339, DISTINCT = 340, DO = 341, DOMAIN_P = 342, DOUBLE_P = 343, DROP = 344, EACH = 345, ELSE = 346, ENCODING = 347, ENCRYPTED = 348, END_P = 349, ESCAPE = 350, EXCEPT = 351, EXCLUDING = 352, EXCLUSIVE = 353, EXECUTE = 354, EXISTS = 355, EXPLAIN = 356, EXTERNAL = 357, EXTRACT = 358, FALSE_P = 359, FETCH = 360, FIRST_P = 361, FLOAT_P = 362, FOR = 363, FORCE = 364, FOREIGN = 365, FORWARD = 366, FREEZE = 367, FROM = 368, FULL = 369, FUNCTION = 370, GLOBAL = 371, GRANT = 372, GROUP_P = 373, HANDLER = 374, HAVING = 375, HOLD = 376, HOUR_P = 377, ILIKE = 378, IMMEDIATE = 379, IMMUTABLE = 380, IMPLICIT_P = 381, IN_P = 382, INCLUDING = 383, INCREMENT = 384, INDEX = 385, INHERITS = 386, INITIALLY = 387, INNER_P = 388, INOUT = 389, INPUT_P = 390, INSENSITIVE = 391, INSERT = 392, INSTEAD = 393, INT_P = 394, INTEGER = 395, INTERSECT = 396, INTERVAL = 397, INTO = 398, INVOKER = 399, IS = 400, ISNULL = 401, ISOLATION = 402, JOIN = 403, KEY = 404, LANCOMPILER = 405, LANGUAGE = 406, LARGE_P = 407, LAST_P = 408, LEADING = 409, LEFT = 410, LEVEL = 411, LIKE = 412, LIMIT = 413, LISTEN = 414, LOAD = 415, LOCAL = 416, LOCALTIME = 417, LOCALTIMESTAMP = 418, LOCATION = 419, LOCK_P = 420, MATCH = 421, MAXVALUE = 422, MINUTE_P = 423, MINVALUE = 424, MODE = 425, MONTH_P = 426, MOVE = 427, NAMES = 428, NATIONAL = 429, NATURAL = 430, NCHAR = 431, NEW = 432, NEXT = 433, NO = 434, NOCREATEDB = 435, NOCREATEUSER = 436, NONE = 437, NOT = 438, NOTHING = 439, NOTIFY = 440, NOTNULL = 441, NOWAIT = 442, NULL_P = 443, NULLIF = 444, NUMERIC = 445, OBJECT_P = 446, OF = 447, OFF = 448, OFFSET = 449, OIDS = 450, OLD = 451, ON = 452, ONLY = 453, OPERATOR = 454, OPTION = 455, OR = 456, ORDER = 457, OUT_P = 458, OUTER_P = 459, OVERLAPS = 460, OVERLAY = 461, OWNER = 462, PARTIAL = 463, PASSWORD = 464, PLACING = 465, POSITION = 466, PRECISION = 467, PRESERVE = 468, PREPARE = 469, PRIMARY = 470, PRIOR = 471, PRIVILEGES = 472, PROCEDURAL = 473, PROCEDURE = 474, QUOTE = 475, READ = 476, REAL = 477, RECHECK = 478, REFERENCES = 479, REINDEX = 480, RELATIVE_P = 481, RELEASE = 482, RENAME = 483, REPEATABLE = 484, REPLACE = 485, RESET = 486, RESTART = 487, RESTRICT = 488, RETURNS = 489, REVOKE = 490, RIGHT = 491, ROLLBACK = 492, ROW = 493, ROWS = 494, RULE = 495, SAVEPOINT = 496, SCHEMA = 497, SCROLL = 498, SECOND_P = 499, SECURITY = 500, SELECT = 501, SEQUENCE = 502, SERIALIZABLE = 503, SESSION = 504, SESSION_USER = 505, SET = 506, SETOF = 507, SHARE = 508, SHOW = 509, SIMILAR = 510, SIMPLE = 511, SMALLINT = 512, SOME = 513, STABLE = 514, START = 515, STATEMENT = 516, STATISTICS = 517, STDIN = 518, STDOUT = 519, STORAGE = 520, STRICT_P = 521, SUBSTRING = 522, SYSID = 523, TABLE = 524, TABLESPACE = 525, TEMP = 526, TEMPLATE = 527, TEMPORARY = 528, THEN = 529, TIME = 530, TIMESTAMP = 531, TO = 532, TOAST = 533, TRAILING = 534, TRANSACTION = 535, TREAT = 536, TRIGGER = 537, TRIM = 538, TRUE_P = 539, TRUNCATE = 540, TRUSTED = 541, TYPE_P = 542, UNCOMMITTED = 543, UNENCRYPTED = 544, UNION = 545, UNIQUE = 546, UNKNOWN = 547, UNLISTEN = 548, UNTIL = 549, UPDATE = 550, USAGE = 551, USER = 552, USING = 553, VACUUM = 554, VALID = 555, VALIDATOR = 556, VALUES = 557, VARCHAR = 558, VARYING = 559, VERBOSE = 560, VIEW = 561, VOLATILE = 562, WHEN = 563, WHERE = 564, WITH = 565, WITHOUT = 566, WORK = 567, WRITE = 568, YEAR_P = 569, ZONE = 570, UNIONJOIN = 571, IDENT = 572, FCONST = 573, SCONST = 574, BCONST = 575, XCONST = 576, Op = 577, ICONST = 578, PARAM = 579, POSTFIXOP = 580, UMINUS = 581, TYPECAST = 582 }; #endif #define ABORT_P 258 #define ABSOLUTE_P 259 #define ACCESS 260 #define ACTION 261 #define ADD 262 #define AFTER 263 #define AGGREGATE 264 #define ALL 265 #define ALSO 266 #define ALTER 267 #define ANALYSE 268 #define ANALYZE 269 #define AND 270 #define ANY 271 #define ARRAY 272 #define AS 273 #define ASC 274 #define ASSERTION 275 #define ASSIGNMENT 276 #define AT 277 #define AUTHORIZATION 278 #define BACKWARD 279 #define BEFORE 280 #define BEGIN_P 281 #define BETWEEN 282 #define BIGINT 283 #define BINARY 284 #define BIT 285 #define BOOLEAN_P 286 #define BOTH 287 #define BY 288 #define CACHE 289 #define CALLED 290 #define CASCADE 291 #define CASE 292 #define CAST 293 #define CHAIN 294 #define CHAR_P 295 #define CHARACTER 296 #define CHARACTERISTICS 297 #define CHECK 298 #define CHECKPOINT 299 #define CLASS 300 #define CLOSE 301 #define CLUSTER 302 #define COALESCE 303 #define COLLATE 304 #define COLUMN 305 #define COMMENT 306 #define COMMIT 307 #define COMMITTED 308 #define CONSTRAINT 309 #define CONSTRAINTS 310 #define CONVERSION_P 311 #define CONVERT 312 #define COPY 313 #define CREATE 314 #define CREATEDB 315 #define CREATEUSER 316 #define CROSS 317 #define CSV 318 #define CURRENT_DATE 319 #define CURRENT_TIME 320 #define CURRENT_TIMESTAMP 321 #define CURRENT_USER 322 #define CURSOR 323 #define CYCLE 324 #define DATABASE 325 #define DAY_P 326 #define DEALLOCATE 327 #define DEC 328 #define DECIMAL_P 329 #define DECLARE 330 #define DEFAULT 331 #define DEFAULTS 332 #define DEFERRABLE 333 #define DEFERRED 334 #define DEFINER 335 #define DELETE_P 336 #define DELIMITER 337 #define DELIMITERS 338 #define DESC 339 #define DISTINCT 340 #define DO 341 #define DOMAIN_P 342 #define DOUBLE_P 343 #define DROP 344 #define EACH 345 #define ELSE 346 #define ENCODING 347 #define ENCRYPTED 348 #define END_P 349 #define ESCAPE 350 #define EXCEPT 351 #define EXCLUDING 352 #define EXCLUSIVE 353 #define EXECUTE 354 #define EXISTS 355 #define EXPLAIN 356 #define EXTERNAL 357 #define EXTRACT 358 #define FALSE_P 359 #define FETCH 360 #define FIRST_P 361 #define FLOAT_P 362 #define FOR 363 #define FORCE 364 #define FOREIGN 365 #define FORWARD 366 #define FREEZE 367 #define FROM 368 #define FULL 369 #define FUNCTION 370 #define GLOBAL 371 #define GRANT 372 #define GROUP_P 373 #define HANDLER 374 #define HAVING 375 #define HOLD 376 #define HOUR_P 377 #define ILIKE 378 #define IMMEDIATE 379 #define IMMUTABLE 380 #define IMPLICIT_P 381 #define IN_P 382 #define INCLUDING 383 #define INCREMENT 384 #define INDEX 385 #define INHERITS 386 #define INITIALLY 387 #define INNER_P 388 #define INOUT 389 #define INPUT_P 390 #define INSENSITIVE 391 #define INSERT 392 #define INSTEAD 393 #define INT_P 394 #define INTEGER 395 #define INTERSECT 396 #define INTERVAL 397 #define INTO 398 #define INVOKER 399 #define IS 400 #define ISNULL 401 #define ISOLATION 402 #define JOIN 403 #define KEY 404 #define LANCOMPILER 405 #define LANGUAGE 406 #define LARGE_P 407 #define LAST_P 408 #define LEADING 409 #define LEFT 410 #define LEVEL 411 #define LIKE 412 #define LIMIT 413 #define LISTEN 414 #define LOAD 415 #define LOCAL 416 #define LOCALTIME 417 #define LOCALTIMESTAMP 418 #define LOCATION 419 #define LOCK_P 420 #define MATCH 421 #define MAXVALUE 422 #define MINUTE_P 423 #define MINVALUE 424 #define MODE 425 #define MONTH_P 426 #define MOVE 427 #define NAMES 428 #define NATIONAL 429 #define NATURAL 430 #define NCHAR 431 #define NEW 432 #define NEXT 433 #define NO 434 #define NOCREATEDB 435 #define NOCREATEUSER 436 #define NONE 437 #define NOT 438 #define NOTHING 439 #define NOTIFY 440 #define NOTNULL 441 #define NOWAIT 442 #define NULL_P 443 #define NULLIF 444 #define NUMERIC 445 #define OBJECT_P 446 #define OF 447 #define OFF 448 #define OFFSET 449 #define OIDS 450 #define OLD 451 #define ON 452 #define ONLY 453 #define OPERATOR 454 #define OPTION 455 #define OR 456 #define ORDER 457 #define OUT_P 458 #define OUTER_P 459 #define OVERLAPS 460 #define OVERLAY 461 #define OWNER 462 #define PARTIAL 463 #define PASSWORD 464 #define PLACING 465 #define POSITION 466 #define PRECISION 467 #define PRESERVE 468 #define PREPARE 469 #define PRIMARY 470 #define PRIOR 471 #define PRIVILEGES 472 #define PROCEDURAL 473 #define PROCEDURE 474 #define QUOTE 475 #define READ 476 #define REAL 477 #define RECHECK 478 #define REFERENCES 479 #define REINDEX 480 #define RELATIVE_P 481 #define RELEASE 482 #define RENAME 483 #define REPEATABLE 484 #define REPLACE 485 #define RESET 486 #define RESTART 487 #define RESTRICT 488 #define RETURNS 489 #define REVOKE 490 #define RIGHT 491 #define ROLLBACK 492 #define ROW 493 #define ROWS 494 #define RULE 495 #define SAVEPOINT 496 #define SCHEMA 497 #define SCROLL 498 #define SECOND_P 499 #define SECURITY 500 #define SELECT 501 #define SEQUENCE 502 #define SERIALIZABLE 503 #define SESSION 504 #define SESSION_USER 505 #define SET 506 #define SETOF 507 #define SHARE 508 #define SHOW 509 #define SIMILAR 510 #define SIMPLE 511 #define SMALLINT 512 #define SOME 513 #define STABLE 514 #define START 515 #define STATEMENT 516 #define STATISTICS 517 #define STDIN 518 #define STDOUT 519 #define STORAGE 520 #define STRICT_P 521 #define SUBSTRING 522 #define SYSID 523 #define TABLE 524 #define TABLESPACE 525 #define TEMP 526 #define TEMPLATE 527 #define TEMPORARY 528 #define THEN 529 #define TIME 530 #define TIMESTAMP 531 #define TO 532 #define TOAST 533 #define TRAILING 534 #define TRANSACTION 535 #define TREAT 536 #define TRIGGER 537 #define TRIM 538 #define TRUE_P 539 #define TRUNCATE 540 #define TRUSTED 541 #define TYPE_P 542 #define UNCOMMITTED 543 #define UNENCRYPTED 544 #define UNION 545 #define UNIQUE 546 #define UNKNOWN 547 #define UNLISTEN 548 #define UNTIL 549 #define UPDATE 550 #define USAGE 551 #define USER 552 #define USING 553 #define VACUUM 554 #define VALID 555 #define VALIDATOR 556 #define VALUES 557 #define VARCHAR 558 #define VARYING 559 #define VERBOSE 560 #define VIEW 561 #define VOLATILE 562 #define WHEN 563 #define WHERE 564 #define WITH 565 #define WITHOUT 566 #define WORK 567 #define WRITE 568 #define YEAR_P 569 #define ZONE 570 #define UNIONJOIN 571 #define IDENT 572 #define FCONST 573 #define SCONST 574 #define BCONST 575 #define XCONST 576 #define Op 577 #define ICONST 578 #define PARAM 579 #define POSTFIXOP 580 #define UMINUS 581 #define TYPECAST 582 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) #line 100 "gram.y" typedef union YYSTYPE { int ival; char chr; char *str; const char *keyword; bool boolean; JoinType jtype; DropBehavior dbehavior; OnCommitAction oncommit; ContainsOids withoids; List *list; Node *node; Value *value; ObjectType objtype; TypeName *typnam; FunctionParameter *fun_param; 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 721 "y.tab.h" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE yylval;