/* 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 {
     ABSOLUTE = 258,
     ACTION = 259,
     ADD = 260,
     ALL = 261,
     ALTER = 262,
     AND = 263,
     ANY = 264,
     AS = 265,
     ASC = 266,
     AT = 267,
     AUTHORIZATION = 268,
     BEGIN_TRANS = 269,
     BETWEEN = 270,
     BOTH = 271,
     BY = 272,
     CASCADE = 273,
     CASE = 274,
     CAST = 275,
     CHAR = 276,
     CHARACTER = 277,
     CHECK = 278,
     CLOSE = 279,
     COALESCE = 280,
     COLLATE = 281,
     COLUMN = 282,
     COMMIT = 283,
     CONSTRAINT = 284,
     CONSTRAINTS = 285,
     CREATE = 286,
     CROSS = 287,
     CURRENT_DATE = 288,
     CURRENT_TIME = 289,
     CURRENT_TIMESTAMP = 290,
     CURRENT_USER = 291,
     CURSOR = 292,
     DAY_P = 293,
     DEC = 294,
     DECIMAL = 295,
     DECLARE = 296,
     DEFAULT = 297,
     DELETE = 298,
     DESC = 299,
     DISTINCT = 300,
     DOUBLE = 301,
     DROP = 302,
     ELSE = 303,
     ENCRYPTED = 304,
     END_TRANS = 305,
     ESCAPE = 306,
     EXCEPT = 307,
     EXECUTE = 308,
     EXISTS = 309,
     EXTRACT = 310,
     FALSE_P = 311,
     FETCH = 312,
     FLOAT = 313,
     FOR = 314,
     FOREIGN = 315,
     FROM = 316,
     FULL = 317,
     GLOBAL = 318,
     GRANT = 319,
     GROUP = 320,
     HAVING = 321,
     HOUR_P = 322,
     IN = 323,
     INNER_P = 324,
     INSENSITIVE = 325,
     INSERT = 326,
     INTERSECT = 327,
     INTERVAL = 328,
     INTO = 329,
     IS = 330,
     ISOLATION = 331,
     JOIN = 332,
     KEY = 333,
     LANGUAGE = 334,
     LEADING = 335,
     LEFT = 336,
     LEVEL = 337,
     LIKE = 338,
     LOCAL = 339,
     MATCH = 340,
     MINUTE_P = 341,
     MONTH_P = 342,
     NAMES = 343,
     NATIONAL = 344,
     NATURAL = 345,
     NCHAR = 346,
     NEXT = 347,
     NO = 348,
     NOT = 349,
     NULLIF = 350,
     NULL_P = 351,
     NUMERIC = 352,
     OF = 353,
     OLD = 354,
     ON = 355,
     ONLY = 356,
     OPTION = 357,
     OR = 358,
     ORDER = 359,
     OUTER_P = 360,
     OVERLAPS = 361,
     PARTIAL = 362,
     POSITION = 363,
     PRECISION = 364,
     PRIMARY = 365,
     PRIOR = 366,
     PRIVILEGES = 367,
     PROCEDURE = 368,
     PUBLIC = 369,
     READ = 370,
     REFERENCES = 371,
     RELATIVE = 372,
     REVOKE = 373,
     RIGHT = 374,
     ROLLBACK = 375,
     SCHEMA = 376,
     SCROLL = 377,
     SECOND_P = 378,
     SELECT = 379,
     SESSION = 380,
     SESSION_USER = 381,
     SET = 382,
     SOME = 383,
     SUBSTRING = 384,
     TABLE = 385,
     TEMPORARY = 386,
     THEN = 387,
     TIME = 388,
     TIMESTAMP = 389,
     TO = 390,
     TRAILING = 391,
     TRANSACTION = 392,
     TRIM = 393,
     TRUE_P = 394,
     UNENCRYPTED = 395,
     UNION = 396,
     UNIQUE = 397,
     UNKNOWN = 398,
     UPDATE = 399,
     USER = 400,
     USING = 401,
     VALUES = 402,
     VARCHAR = 403,
     VARYING = 404,
     VIEW = 405,
     WHEN = 406,
     WHERE = 407,
     WITH = 408,
     WORK = 409,
     YEAR_P = 410,
     ZONE = 411,
     CHAIN = 412,
     CHARACTERISTICS = 413,
     DEFERRABLE = 414,
     DEFERRED = 415,
     IMMEDIATE = 416,
     INITIALLY = 417,
     INOUT = 418,
     OFF = 419,
     OUT = 420,
     PATH_P = 421,
     PENDANT = 422,
     REPLACE = 423,
     RESTRICT = 424,
     TRIGGER = 425,
     WITHOUT = 426,
     COMMITTED = 427,
     SERIALIZABLE = 428,
     TYPE_P = 429,
     ABORT_TRANS = 430,
     ACCESS = 431,
     AFTER = 432,
     AGGREGATE = 433,
     ANALYSE = 434,
     ANALYZE = 435,
     BACKWARD = 436,
     BEFORE = 437,
     BINARY = 438,
     BIT = 439,
     CACHE = 440,
     CHECKPOINT = 441,
     CLUSTER = 442,
     COMMENT = 443,
     COPY = 444,
     CREATEDB = 445,
     CREATEUSER = 446,
     CYCLE = 447,
     DATABASE = 448,
     DELIMITERS = 449,
     DO = 450,
     EACH = 451,
     ENCODING = 452,
     EXCLUSIVE = 453,
     EXPLAIN = 454,
     FORCE = 455,
     FORWARD = 456,
     FREEZE = 457,
     FUNCTION = 458,
     HANDLER = 459,
     ILIKE = 460,
     INCREMENT = 461,
     INDEX = 462,
     INHERITS = 463,
     INSTEAD = 464,
     ISNULL = 465,
     LANCOMPILER = 466,
     LIMIT = 467,
     LISTEN = 468,
     LOAD = 469,
     LOCATION = 470,
     LOCK_P = 471,
     MAXVALUE = 472,
     MINVALUE = 473,
     MODE = 474,
     MOVE = 475,
     NEW = 476,
     NOCREATEDB = 477,
     NOCREATEUSER = 478,
     NONE = 479,
     NOTHING = 480,
     NOTIFY = 481,
     NOTNULL = 482,
     OFFSET = 483,
     OIDS = 484,
     OPERATOR = 485,
     OWNER = 486,
     PASSWORD = 487,
     PROCEDURAL = 488,
     REINDEX = 489,
     RENAME = 490,
     RESET = 491,
     RETURNS = 492,
     ROW = 493,
     RULE = 494,
     SEQUENCE = 495,
     SETOF = 496,
     SHARE = 497,
     SHOW = 498,
     START = 499,
     STATEMENT = 500,
     STATISTICS = 501,
     STDIN = 502,
     STDOUT = 503,
     SYSID = 504,
     TEMP = 505,
     TEMPLATE = 506,
     TOAST = 507,
     TRUNCATE = 508,
     TRUSTED = 509,
     UNLISTEN = 510,
     UNTIL = 511,
     VACUUM = 512,
     VALID = 513,
     VERBOSE = 514,
     VERSION = 515,
     UNIONJOIN = 516,
     IDENT = 517,
     FCONST = 518,
     SCONST = 519,
     BITCONST = 520,
     Op = 521,
     ICONST = 522,
     PARAM = 523,
     OP = 524,
     POSTFIXOP = 525,
     UMINUS = 526,
     TYPECAST = 527
   };
#endif
#define ABSOLUTE 258
#define ACTION 259
#define ADD 260
#define ALL 261
#define ALTER 262
#define AND 263
#define ANY 264
#define AS 265
#define ASC 266
#define AT 267
#define AUTHORIZATION 268
#define BEGIN_TRANS 269
#define BETWEEN 270
#define BOTH 271
#define BY 272
#define CASCADE 273
#define CASE 274
#define CAST 275
#define CHAR 276
#define CHARACTER 277
#define CHECK 278
#define CLOSE 279
#define COALESCE 280
#define COLLATE 281
#define COLUMN 282
#define COMMIT 283
#define CONSTRAINT 284
#define CONSTRAINTS 285
#define CREATE 286
#define CROSS 287
#define CURRENT_DATE 288
#define CURRENT_TIME 289
#define CURRENT_TIMESTAMP 290
#define CURRENT_USER 291
#define CURSOR 292
#define DAY_P 293
#define DEC 294
#define DECIMAL 295
#define DECLARE 296
#define DEFAULT 297
#define DELETE 298
#define DESC 299
#define DISTINCT 300
#define DOUBLE 301
#define DROP 302
#define ELSE 303
#define ENCRYPTED 304
#define END_TRANS 305
#define ESCAPE 306
#define EXCEPT 307
#define EXECUTE 308
#define EXISTS 309
#define EXTRACT 310
#define FALSE_P 311
#define FETCH 312
#define FLOAT 313
#define FOR 314
#define FOREIGN 315
#define FROM 316
#define FULL 317
#define GLOBAL 318
#define GRANT 319
#define GROUP 320
#define HAVING 321
#define HOUR_P 322
#define IN 323
#define INNER_P 324
#define INSENSITIVE 325
#define INSERT 326
#define INTERSECT 327
#define INTERVAL 328
#define INTO 329
#define IS 330
#define ISOLATION 331
#define JOIN 332
#define KEY 333
#define LANGUAGE 334
#define LEADING 335
#define LEFT 336
#define LEVEL 337
#define LIKE 338
#define LOCAL 339
#define MATCH 340
#define MINUTE_P 341
#define MONTH_P 342
#define NAMES 343
#define NATIONAL 344
#define NATURAL 345
#define NCHAR 346
#define NEXT 347
#define NO 348
#define NOT 349
#define NULLIF 350
#define NULL_P 351
#define NUMERIC 352
#define OF 353
#define OLD 354
#define ON 355
#define ONLY 356
#define OPTION 357
#define OR 358
#define ORDER 359
#define OUTER_P 360
#define OVERLAPS 361
#define PARTIAL 362
#define POSITION 363
#define PRECISION 364
#define PRIMARY 365
#define PRIOR 366
#define PRIVILEGES 367
#define PROCEDURE 368
#define PUBLIC 369
#define READ 370
#define REFERENCES 371
#define RELATIVE 372
#define REVOKE 373
#define RIGHT 374
#define ROLLBACK 375
#define SCHEMA 376
#define SCROLL 377
#define SECOND_P 378
#define SELECT 379
#define SESSION 380
#define SESSION_USER 381
#define SET 382
#define SOME 383
#define SUBSTRING 384
#define TABLE 385
#define TEMPORARY 386
#define THEN 387
#define TIME 388
#define TIMESTAMP 389
#define TO 390
#define TRAILING 391
#define TRANSACTION 392
#define TRIM 393
#define TRUE_P 394
#define UNENCRYPTED 395
#define UNION 396
#define UNIQUE 397
#define UNKNOWN 398
#define UPDATE 399
#define USER 400
#define USING 401
#define VALUES 402
#define VARCHAR 403
#define VARYING 404
#define VIEW 405
#define WHEN 406
#define WHERE 407
#define WITH 408
#define WORK 409
#define YEAR_P 410
#define ZONE 411
#define CHAIN 412
#define CHARACTERISTICS 413
#define DEFERRABLE 414
#define DEFERRED 415
#define IMMEDIATE 416
#define INITIALLY 417
#define INOUT 418
#define OFF 419
#define OUT 420
#define PATH_P 421
#define PENDANT 422
#define REPLACE 423
#define RESTRICT 424
#define TRIGGER 425
#define WITHOUT 426
#define COMMITTED 427
#define SERIALIZABLE 428
#define TYPE_P 429
#define ABORT_TRANS 430
#define ACCESS 431
#define AFTER 432
#define AGGREGATE 433
#define ANALYSE 434
#define ANALYZE 435
#define BACKWARD 436
#define BEFORE 437
#define BINARY 438
#define BIT 439
#define CACHE 440
#define CHECKPOINT 441
#define CLUSTER 442
#define COMMENT 443
#define COPY 444
#define CREATEDB 445
#define CREATEUSER 446
#define CYCLE 447
#define DATABASE 448
#define DELIMITERS 449
#define DO 450
#define EACH 451
#define ENCODING 452
#define EXCLUSIVE 453
#define EXPLAIN 454
#define FORCE 455
#define FORWARD 456
#define FREEZE 457
#define FUNCTION 458
#define HANDLER 459
#define ILIKE 460
#define INCREMENT 461
#define INDEX 462
#define INHERITS 463
#define INSTEAD 464
#define ISNULL 465
#define LANCOMPILER 466
#define LIMIT 467
#define LISTEN 468
#define LOAD 469
#define LOCATION 470
#define LOCK_P 471
#define MAXVALUE 472
#define MINVALUE 473
#define MODE 474
#define MOVE 475
#define NEW 476
#define NOCREATEDB 477
#define NOCREATEUSER 478
#define NONE 479
#define NOTHING 480
#define NOTIFY 481
#define NOTNULL 482
#define OFFSET 483
#define OIDS 484
#define OPERATOR 485
#define OWNER 486
#define PASSWORD 487
#define PROCEDURAL 488
#define REINDEX 489
#define RENAME 490
#define RESET 491
#define RETURNS 492
#define ROW 493
#define RULE 494
#define SEQUENCE 495
#define SETOF 496
#define SHARE 497
#define SHOW 498
#define START 499
#define STATEMENT 500
#define STATISTICS 501
#define STDIN 502
#define STDOUT 503
#define SYSID 504
#define TEMP 505
#define TEMPLATE 506
#define TOAST 507
#define TRUNCATE 508
#define TRUSTED 509
#define UNLISTEN 510
#define UNTIL 511
#define VACUUM 512
#define VALID 513
#define VERBOSE 514
#define VERSION 515
#define UNIONJOIN 516
#define IDENT 517
#define FCONST 518
#define SCONST 519
#define BITCONST 520
#define Op 521
#define ICONST 522
#define PARAM 523
#define OP 524
#define POSTFIXOP 525
#define UMINUS 526
#define TYPECAST 527




#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 103 "gram.y"
typedef union YYSTYPE {
	int					ival;
	char				chr;
	char				*str;
	bool				boolean;
	JoinType			jtype;
	List				*list;
	Node				*node;
	Value				*value;

	Attr				*attr;
	Ident				*ident;

	TypeName			*typnam;
	DefElem				*defelt;
	SortGroupBy			*sortgroupby;
	JoinExpr			*jexpr;
	IndexElem			*ielem;
	RangeVar			*range;
	A_Indices			*aind;
	ResTarget			*target;
	ParamNo				*paramno;

	VersionStmt			*vstmt;
	DefineStmt			*dstmt;
	RuleStmt			*rstmt;
	InsertStmt			*istmt;
} YYSTYPE;
/* Line 1248 of yacc.c.  */
#line 609 "y.tab.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif

extern YYSTYPE yylval;



