#ifndef YYTOKENTYPE
# define YYTOKENTYPE
enum yytokentype {
IDENT = 258,
UIDENT = 259,
FCONST = 260,
SCONST = 261,
USCONST = 262,
BCONST = 263,
XCONST = 264,
Op = 265,
ICONST = 266,
PARAM = 267,
TYPECAST = 268,
DOT_DOT = 269,
COLON_EQUALS = 270,
EQUALS_GREATER = 271,
LESS_EQUALS = 272,
GREATER_EQUALS = 273,
NOT_EQUALS = 274,
SQL_COMMENT = 275,
C_COMMENT = 276,
T_WORD = 277,
T_CWORD = 278,
T_DATUM = 279,
LESS_LESS = 280,
GREATER_GREATER = 281,
K_ABSOLUTE = 282,
K_ALIAS = 283,
K_ALL = 284,
K_AND = 285,
K_ARRAY = 286,
K_ASSERT = 287,
K_BACKWARD = 288,
K_BEGIN = 289,
K_BY = 290,
K_CALL = 291,
K_CASE = 292,
K_CHAIN = 293,
K_CLOSE = 294,
K_COLLATE = 295,
K_COLUMN = 296,
K_COLUMN_NAME = 297,
K_COMMIT = 298,
K_CONSTANT = 299,
K_CONSTRAINT = 300,
K_CONSTRAINT_NAME = 301,
K_CONTINUE = 302,
K_CURRENT = 303,
K_CURSOR = 304,
K_DATATYPE = 305,
K_DEBUG = 306,
K_DECLARE = 307,
K_DEFAULT = 308,
K_DETAIL = 309,
K_DIAGNOSTICS = 310,
K_DO = 311,
K_DUMP = 312,
K_ELSE = 313,
K_ELSIF = 314,
K_END = 315,
K_ERRCODE = 316,
K_ERROR = 317,
K_EXCEPTION = 318,
K_EXECUTE = 319,
K_EXIT = 320,
K_FETCH = 321,
K_FIRST = 322,
K_FOR = 323,
K_FOREACH = 324,
K_FORWARD = 325,
K_FROM = 326,
K_GET = 327,
K_HINT = 328,
K_IF = 329,
K_IMPORT = 330,
K_IN = 331,
K_INFO = 332,
K_INSERT = 333,
K_INTO = 334,
K_IS = 335,
K_LAST = 336,
K_LOG = 337,
K_LOOP = 338,
K_MERGE = 339,
K_MESSAGE = 340,
K_MESSAGE_TEXT = 341,
K_MOVE = 342,
K_NEXT = 343,
K_NO = 344,
K_NOT = 345,
K_NOTICE = 346,
K_NULL = 347,
K_OPEN = 348,
K_OPTION = 349,
K_OR = 350,
K_PERFORM = 351,
K_PG_CONTEXT = 352,
K_PG_DATATYPE_NAME = 353,
K_PG_EXCEPTION_CONTEXT = 354,
K_PG_EXCEPTION_DETAIL = 355,
K_PG_EXCEPTION_HINT = 356,
K_PG_ROUTINE_OID = 357,
K_PRINT_STRICT_PARAMS = 358,
K_PRIOR = 359,
K_QUERY = 360,
K_RAISE = 361,
K_RELATIVE = 362,
K_RETURN = 363,
K_RETURNED_SQLSTATE = 364,
K_REVERSE = 365,
K_ROLLBACK = 366,
K_ROW_COUNT = 367,
K_ROWTYPE = 368,
K_SCHEMA = 369,
K_SCHEMA_NAME = 370,
K_SCROLL = 371,
K_SLICE = 372,
K_SQLSTATE = 373,
K_STACKED = 374,
K_STRICT = 375,
K_TABLE = 376,
K_TABLE_NAME = 377,
K_THEN = 378,
K_TO = 379,
K_TYPE = 380,
K_USE_COLUMN = 381,
K_USE_VARIABLE = 382,
K_USING = 383,
K_VARIABLE_CONFLICT = 384,
K_WARNING = 385,
K_WHEN = 386,
K_WHILE = 387
};
#endif
#define IDENT 258
#define UIDENT 259
#define FCONST 260
#define SCONST 261
#define USCONST 262
#define BCONST 263
#define XCONST 264
#define Op 265
#define ICONST 266
#define PARAM 267
#define TYPECAST 268
#define DOT_DOT 269
#define COLON_EQUALS 270
#define EQUALS_GREATER 271
#define LESS_EQUALS 272
#define GREATER_EQUALS 273
#define NOT_EQUALS 274
#define SQL_COMMENT 275
#define C_COMMENT 276
#define T_WORD 277
#define T_CWORD 278
#define T_DATUM 279
#define LESS_LESS 280
#define GREATER_GREATER 281
#define K_ABSOLUTE 282
#define K_ALIAS 283
#define K_ALL 284
#define K_AND 285
#define K_ARRAY 286
#define K_ASSERT 287
#define K_BACKWARD 288
#define K_BEGIN 289
#define K_BY 290
#define K_CALL 291
#define K_CASE 292
#define K_CHAIN 293
#define K_CLOSE 294
#define K_COLLATE 295
#define K_COLUMN 296
#define K_COLUMN_NAME 297
#define K_COMMIT 298
#define K_CONSTANT 299
#define K_CONSTRAINT 300
#define K_CONSTRAINT_NAME 301
#define K_CONTINUE 302
#define K_CURRENT 303
#define K_CURSOR 304
#define K_DATATYPE 305
#define K_DEBUG 306
#define K_DECLARE 307
#define K_DEFAULT 308
#define K_DETAIL 309
#define K_DIAGNOSTICS 310
#define K_DO 311
#define K_DUMP 312
#define K_ELSE 313
#define K_ELSIF 314
#define K_END 315
#define K_ERRCODE 316
#define K_ERROR 317
#define K_EXCEPTION 318
#define K_EXECUTE 319
#define K_EXIT 320
#define K_FETCH 321
#define K_FIRST 322
#define K_FOR 323
#define K_FOREACH 324
#define K_FORWARD 325
#define K_FROM 326
#define K_GET 327
#define K_HINT 328
#define K_IF 329
#define K_IMPORT 330
#define K_IN 331
#define K_INFO 332
#define K_INSERT 333
#define K_INTO 334
#define K_IS 335
#define K_LAST 336
#define K_LOG 337
#define K_LOOP 338
#define K_MERGE 339
#define K_MESSAGE 340
#define K_MESSAGE_TEXT 341
#define K_MOVE 342
#define K_NEXT 343
#define K_NO 344
#define K_NOT 345
#define K_NOTICE 346
#define K_NULL 347
#define K_OPEN 348
#define K_OPTION 349
#define K_OR 350
#define K_PERFORM 351
#define K_PG_CONTEXT 352
#define K_PG_DATATYPE_NAME 353
#define K_PG_EXCEPTION_CONTEXT 354
#define K_PG_EXCEPTION_DETAIL 355
#define K_PG_EXCEPTION_HINT 356
#define K_PG_ROUTINE_OID 357
#define K_PRINT_STRICT_PARAMS 358
#define K_PRIOR 359
#define K_QUERY 360
#define K_RAISE 361
#define K_RELATIVE 362
#define K_RETURN 363
#define K_RETURNED_SQLSTATE 364
#define K_REVERSE 365
#define K_ROLLBACK 366
#define K_ROW_COUNT 367
#define K_ROWTYPE 368
#define K_SCHEMA 369
#define K_SCHEMA_NAME 370
#define K_SCROLL 371
#define K_SLICE 372
#define K_SQLSTATE 373
#define K_STACKED 374
#define K_STRICT 375
#define K_TABLE 376
#define K_TABLE_NAME 377
#define K_THEN 378
#define K_TO 379
#define K_TYPE 380
#define K_USE_COLUMN 381
#define K_USE_VARIABLE 382
#define K_USING 383
#define K_VARIABLE_CONFLICT 384
#define K_WARNING 385
#define K_WHEN 386
#define K_WHILE 387
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 117 "pl_gram.y"
{
core_YYSTYPE core_yystype;
int ival;
char *str;
const char *keyword;
PLword word;
PLcword cword;
PLwdatum wdatum;
bool boolean;
Oid oid;
struct
{
char *name;
int lineno;
} varname;
struct
{
char *name;
int lineno;
PLpgSQL_datum *scalar;
PLpgSQL_datum *row;
} forvariable;
struct
{
char *label;
int n_initvars;
int *initvarnos;
} declhdr;
struct
{
List *stmts;
char *end_label;
int end_label_location;
} loop_body;
List *list;
PLpgSQL_type *dtype;
PLpgSQL_datum *datum;
PLpgSQL_var *var;
PLpgSQL_expr *expr;
PLpgSQL_stmt *stmt;
PLpgSQL_condition *condition;
PLpgSQL_exception *exception;
PLpgSQL_exception_block *exception_block;
PLpgSQL_nsitem *nsitem;
PLpgSQL_diag_item *diagitem;
PLpgSQL_stmt_fetch *fetch;
PLpgSQL_case_when *casewhen;
}
#line 364 "pl_gram.h"
YYSTYPE;
# define yystype YYSTYPE
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif
extern __thread YYSTYPE plpgsql_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
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
extern __thread YYLTYPE plpgsql_yylloc;