Fix pgpool child process segfault reported in [pgpool-hackers: 2312].
authorTatsuo Ishii <ishii@postgresql.org>
Thu, 4 May 2017 08:00:02 +0000 (17:00 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Thu, 4 May 2017 08:00:02 +0000 (17:00 +0900)
When MASTER macro calls, pool_virtual_master_db_node_id() which calls
pool_get_preferred_master_node_id() if there's no query context
exists. The segfault happens in deciding the load balance node while
initializing the session context in the child process starting up. The
session context is first initialized with all 0, then
pool_get_preferred_master_node_id() returns 0 as the preferred node
id. This is fine as long as node 0 is healthy. However if node 0 goes
down and failover happens, this is not fine any more since the
connection slot 0 is empty and it causes the segfault.

Fix it by removing preferred_master_node_id staffs since it seems it
is not used anymore.

src/context/pool_query_context.c
src/context/pool_session_context.c
src/include/context/pool_session_context.h
src/parser/gram.c
src/parser/gram.h
src/protocol/pool_proto_modules.c

index 88464d0b3b440a184109d703d9263826946b3e44..c1ad541cb001671f1301cc705cfad943fa922e68 100644 (file)
@@ -350,12 +350,6 @@ int pool_virtual_master_db_node_id(void)
         */
        if (MASTER_SLAVE)
        {
-               int node_id;
-
-               node_id = pool_get_preferred_master_node_id();
-               if (node_id >= 0)
-                       return node_id;
-
                return PRIMARY_NODE_ID;
        }
        return my_master_node_id;
index c6b6a37dd4db0fbd5cf50b82e2d566ea0eb45700..cdb05562b80f05cab3e0808294b9d77253e56f96 100644 (file)
@@ -156,8 +156,10 @@ void pool_init_session_context(POOL_CONNECTION *frontend, POOL_CONNECTION_POOL *
        /* Initialize previous pending message */
        pool_pending_message_reset_previous_message();
 
+#ifdef NOT_USED
        /* Initialize preferred master node id */
        pool_reset_preferred_master_node_id();
+#endif
 }
 
 /*
@@ -1437,6 +1439,7 @@ int pool_get_minor_version(void)
        return 0;
 }
 
+#ifdef NOT_USED
 /*
  * Set preferred "master" node id.
  * Only used for SimpleForwardToFrontend.
@@ -1463,3 +1466,4 @@ void pool_reset_preferred_master_node_id(void)
 {
        session_context->preferred_master_node_id = -1;
 }
+#endif
index c26e1756457ed449b66c4d36d028d35880523c67..f5d52cbbe3be89f6d9b9ee32676b33a926270032 100644 (file)
@@ -229,9 +229,10 @@ typedef struct {
        int major;
        /* Protocol minor version number */
        int minor;
-
+#ifdef NOT_USED
        /* Preferred "master" node id. Only used for SimpleForwardToFrontend. */
        int preferred_master_node_id;
+#endif
 } POOL_SESSION_CONTEXT;
 
 extern void pool_init_session_context(POOL_CONNECTION *frontend, POOL_CONNECTION_POOL *backend);
@@ -295,9 +296,11 @@ extern void dump_pending_message(void);
 extern void pool_set_major_version(int major);
 extern void pool_set_minor_version(int minor);
 extern int pool_get_minor_version(void);
+#ifdef NOT_USED
 extern void pool_set_preferred_master_node_id(int node_id);
 extern int pool_get_preferred_master_node_id(void);
 extern void pool_reset_preferred_master_node_id(void);
+#endif
 
 #ifdef NOT_USED
 extern void pool_add_prep_where(char *name, bool *map);
index 9fc5ef065ad1b1768cebdb1eccc4ee5b7ea2eeac..49f271848a29d2f7b0adb1255f6728bcef72baa8 100644 (file)
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7.  */
+/* A Bison parser, made by GNU Bison 3.0.4.  */
 
 /* Bison implementation for Yacc-like parsers in C
-   
-      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
-   
+
+   Copyright (C) 1984, 1989-1990, 2000-2015 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.  */
 
@@ -26,7 +26,7 @@
    special exception, which will cause the skeleton and the resulting
    Bison output files to be licensed under the GNU General Public
    License without this special exception.
-   
+
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
@@ -44,7 +44,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.7"
+#define YYBISON_VERSION "3.0.4"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
 #define yyparse         base_yyparse
 #define yylex           base_yylex
 #define yyerror         base_yyerror
-#define yylval          base_yylval
-#define yychar          base_yychar
 #define yydebug         base_yydebug
 #define yynerrs         base_yynerrs
-#define yylloc          base_yylloc
+
 
 /* Copy the first part of user declarations.  */
-/* Line 371 of yacc.c  */
-#line 1 "gram.y"
+#line 1 "gram.y" /* yacc.c:339  */
 
 
 /*#define YYDEBUG 1*/
  */
 bool operator_precedence_warning = false;
 
-
 /*
  * Definition taken from
  * postgreSQL source code file: src/include/commands/trigger.h
@@ -288,14 +284,13 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
 static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
 
 
-/* Line 371 of yacc.c  */
-#line 293 "gram.c"
+#line 288 "gram.c" /* yacc.c:339  */
 
-# ifndef YY_NULL
+# ifndef YY_NULLPTR
 #  if defined __cplusplus && 201103L <= __cplusplus
-#   define YY_NULL nullptr
+#   define YY_NULLPTR nullptr
 #  else
-#   define YY_NULL 0
+#   define YY_NULLPTR 0
 #  endif
 # endif
 
@@ -311,7 +306,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
    by #include "y.tab.h".  */
 #ifndef YY_BASE_YY_Y_TAB_H_INCLUDED
 # define YY_BASE_YY_Y_TAB_H_INCLUDED
-/* Enabling traces.  */
+/* Debug traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 0
 #endif
@@ -319,453 +314,452 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
 extern int base_yydebug;
 #endif
 
-/* Tokens.  */
+/* Token type.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     IDENT = 258,
-     FCONST = 259,
-     SCONST = 260,
-     BCONST = 261,
-     XCONST = 262,
-     Op = 263,
-     ICONST = 264,
-     PARAM = 265,
-     TYPECAST = 266,
-     DOT_DOT = 267,
-     COLON_EQUALS = 268,
-     EQUALS_GREATER = 269,
-     LESS_EQUALS = 270,
-     GREATER_EQUALS = 271,
-     NOT_EQUALS = 272,
-     ABORT_P = 273,
-     ABSOLUTE_P = 274,
-     ACCESS = 275,
-     ACTION = 276,
-     ADD_P = 277,
-     ADMIN = 278,
-     AFTER = 279,
-     AGGREGATE = 280,
-     ALL = 281,
-     ALSO = 282,
-     ALTER = 283,
-     ALWAYS = 284,
-     ANALYSE = 285,
-     ANALYZE = 286,
-     AND = 287,
-     ANY = 288,
-     ARRAY = 289,
-     AS = 290,
-     ASC = 291,
-     ASSERTION = 292,
-     ASSIGNMENT = 293,
-     ASYMMETRIC = 294,
-     AT = 295,
-     ATTRIBUTE = 296,
-     AUTHORIZATION = 297,
-     BACKWARD = 298,
-     BEFORE = 299,
-     BEGIN_P = 300,
-     BETWEEN = 301,
-     BIGINT = 302,
-     BINARY = 303,
-     BIT = 304,
-     BOOLEAN_P = 305,
-     BOTH = 306,
-     BY = 307,
-     CACHE = 308,
-     CALLED = 309,
-     CASCADE = 310,
-     CASCADED = 311,
-     CASE = 312,
-     CAST = 313,
-     CATALOG_P = 314,
-     CHAIN = 315,
-     CHAR_P = 316,
-     CHARACTER = 317,
-     CHARACTERISTICS = 318,
-     CHECK = 319,
-     CHECKPOINT = 320,
-     CLASS = 321,
-     CLOSE = 322,
-     CLUSTER = 323,
-     COALESCE = 324,
-     COLLATE = 325,
-     COLLATION = 326,
-     COLUMN = 327,
-     COMMENT = 328,
-     COMMENTS = 329,
-     COMMIT = 330,
-     COMMITTED = 331,
-     CONCURRENTLY = 332,
-     CONFIGURATION = 333,
-     CONFLICT = 334,
-     CONNECTION = 335,
-     CONSTRAINT = 336,
-     CONSTRAINTS = 337,
-     CONTENT_P = 338,
-     CONTINUE_P = 339,
-     CONVERSION_P = 340,
-     COPY = 341,
-     COST = 342,
-     CREATE = 343,
-     CROSS = 344,
-     CSV = 345,
-     CUBE = 346,
-     CURRENT_P = 347,
-     CURRENT_CATALOG = 348,
-     CURRENT_DATE = 349,
-     CURRENT_ROLE = 350,
-     CURRENT_SCHEMA = 351,
-     CURRENT_TIME = 352,
-     CURRENT_TIMESTAMP = 353,
-     CURRENT_USER = 354,
-     CURSOR = 355,
-     CYCLE = 356,
-     DATA_P = 357,
-     DATABASE = 358,
-     DAY_P = 359,
-     DEALLOCATE = 360,
-     DEC = 361,
-     DECIMAL_P = 362,
-     DECLARE = 363,
-     DEFAULT = 364,
-     DEFAULTS = 365,
-     DEFERRABLE = 366,
-     DEFERRED = 367,
-     DEFINER = 368,
-     DELETE_P = 369,
-     DELIMITER = 370,
-     DELIMITERS = 371,
-     DEPENDS = 372,
-     DESC = 373,
-     DICTIONARY = 374,
-     DISABLE_P = 375,
-     DISCARD = 376,
-     DISTINCT = 377,
-     DO = 378,
-     DOCUMENT_P = 379,
-     DOMAIN_P = 380,
-     DOUBLE_P = 381,
-     DROP = 382,
-     EACH = 383,
-     ELSE = 384,
-     ENABLE_P = 385,
-     ENCODING = 386,
-     ENCRYPTED = 387,
-     END_P = 388,
-     ENUM_P = 389,
-     ESCAPE = 390,
-     EVENT = 391,
-     EXCEPT = 392,
-     EXCLUDE = 393,
-     EXCLUDING = 394,
-     EXCLUSIVE = 395,
-     EXECUTE = 396,
-     EXISTS = 397,
-     EXPLAIN = 398,
-     EXTENSION = 399,
-     EXTERNAL = 400,
-     EXTRACT = 401,
-     FALSE_P = 402,
-     FAMILY = 403,
-     FETCH = 404,
-     FILTER = 405,
-     FIRST_P = 406,
-     FLOAT_P = 407,
-     FOLLOWING = 408,
-     FOR = 409,
-     FORCE = 410,
-     FOREIGN = 411,
-     FORWARD = 412,
-     FREEZE = 413,
-     FROM = 414,
-     FULL = 415,
-     FUNCTION = 416,
-     FUNCTIONS = 417,
-     GLOBAL = 418,
-     GRANT = 419,
-     GRANTED = 420,
-     GREATEST = 421,
-     GROUP_P = 422,
-     GROUPING = 423,
-     HANDLER = 424,
-     HAVING = 425,
-     HEADER_P = 426,
-     HOLD = 427,
-     HOUR_P = 428,
-     IDENTITY_P = 429,
-     IF_P = 430,
-     ILIKE = 431,
-     IMMEDIATE = 432,
-     IMMUTABLE = 433,
-     IMPLICIT_P = 434,
-     IMPORT_P = 435,
-     IN_P = 436,
-     INCLUDING = 437,
-     INCREMENT = 438,
-     INDEX = 439,
-     INDEXES = 440,
-     INHERIT = 441,
-     INHERITS = 442,
-     INITIALLY = 443,
-     INLINE_P = 444,
-     INNER_P = 445,
-     INOUT = 446,
-     INPUT_P = 447,
-     INSENSITIVE = 448,
-     INSERT = 449,
-     INSTEAD = 450,
-     INT_P = 451,
-     INTEGER = 452,
-     INTERSECT = 453,
-     INTERVAL = 454,
-     INTO = 455,
-     INVOKER = 456,
-     IS = 457,
-     ISNULL = 458,
-     ISOLATION = 459,
-     JOIN = 460,
-     KEY = 461,
-     LABEL = 462,
-     LANGUAGE = 463,
-     LARGE_P = 464,
-     LAST_P = 465,
-     LATERAL_P = 466,
-     LEADING = 467,
-     LEAKPROOF = 468,
-     LEAST = 469,
-     LEFT = 470,
-     LEVEL = 471,
-     LIKE = 472,
-     LIMIT = 473,
-     LISTEN = 474,
-     LOAD = 475,
-     LOCAL = 476,
-     LOCALTIME = 477,
-     LOCALTIMESTAMP = 478,
-     LOCATION = 479,
-     LOCK_P = 480,
-     LOCKED = 481,
-     LOGGED = 482,
-     MAPPING = 483,
-     MATCH = 484,
-     MATERIALIZED = 485,
-     MAXVALUE = 486,
-     METHOD = 487,
-     MINUTE_P = 488,
-     MINVALUE = 489,
-     MODE = 490,
-     MONTH_P = 491,
-     MOVE = 492,
-     NAME_P = 493,
-     NAMES = 494,
-     NATIONAL = 495,
-     NATURAL = 496,
-     NCHAR = 497,
-     NEXT = 498,
-     NO = 499,
-     NONE = 500,
-     NOT = 501,
-     NOTHING = 502,
-     NOTIFY = 503,
-     NOTNULL = 504,
-     NOWAIT = 505,
-     NULL_P = 506,
-     NULLIF = 507,
-     NULLS_P = 508,
-     NUMERIC = 509,
-     OBJECT_P = 510,
-     OF = 511,
-     OFF = 512,
-     OFFSET = 513,
-     OIDS = 514,
-     ON = 515,
-     ONLY = 516,
-     OPERATOR = 517,
-     OPTION = 518,
-     OPTIONS = 519,
-     OR = 520,
-     ORDER = 521,
-     ORDINALITY = 522,
-     OUT_P = 523,
-     OUTER_P = 524,
-     OVER = 525,
-     OVERLAPS = 526,
-     OVERLAY = 527,
-     OWNED = 528,
-     OWNER = 529,
-     PARALLEL = 530,
-     PARSER = 531,
-     PARTIAL = 532,
-     PARTITION = 533,
-     PASSING = 534,
-     PASSWORD = 535,
-     PGPOOL = 536,
-     PLACING = 537,
-     PLANS = 538,
-     POLICY = 539,
-     POSITION = 540,
-     PRECEDING = 541,
-     PRECISION = 542,
-     PRESERVE = 543,
-     PREPARE = 544,
-     PREPARED = 545,
-     PRIMARY = 546,
-     PRIOR = 547,
-     PRIVILEGES = 548,
-     PROCEDURAL = 549,
-     PROCEDURE = 550,
-     PROGRAM = 551,
-     QUOTE = 552,
-     RANGE = 553,
-     READ = 554,
-     REAL = 555,
-     REASSIGN = 556,
-     RECHECK = 557,
-     RECURSIVE = 558,
-     REF = 559,
-     REFERENCES = 560,
-     REFRESH = 561,
-     REINDEX = 562,
-     RELATIVE_P = 563,
-     RELEASE = 564,
-     RENAME = 565,
-     REPEATABLE = 566,
-     REPLACE = 567,
-     REPLICA = 568,
-     RESET = 569,
-     RESTART = 570,
-     RESTRICT = 571,
-     RETURNING = 572,
-     RETURNS = 573,
-     REVOKE = 574,
-     RIGHT = 575,
-     ROLE = 576,
-     ROLLBACK = 577,
-     ROLLUP = 578,
-     ROW = 579,
-     ROWS = 580,
-     RULE = 581,
-     SAVEPOINT = 582,
-     SCHEMA = 583,
-     SCROLL = 584,
-     SEARCH = 585,
-     SECOND_P = 586,
-     SECURITY = 587,
-     SELECT = 588,
-     SEQUENCE = 589,
-     SEQUENCES = 590,
-     SERIALIZABLE = 591,
-     SERVER = 592,
-     SESSION = 593,
-     SESSION_USER = 594,
-     SET = 595,
-     SETS = 596,
-     SETOF = 597,
-     SHARE = 598,
-     SHOW = 599,
-     SIMILAR = 600,
-     SIMPLE = 601,
-     SKIP = 602,
-     SMALLINT = 603,
-     SNAPSHOT = 604,
-     SOME = 605,
-     SQL_P = 606,
-     STABLE = 607,
-     STANDALONE_P = 608,
-     START = 609,
-     STATEMENT = 610,
-     STATISTICS = 611,
-     STDIN = 612,
-     STDOUT = 613,
-     STORAGE = 614,
-     STRICT_P = 615,
-     STRIP_P = 616,
-     SUBSTRING = 617,
-     SYMMETRIC = 618,
-     SYSID = 619,
-     SYSTEM_P = 620,
-     TABLE = 621,
-     TABLES = 622,
-     TABLESAMPLE = 623,
-     TABLESPACE = 624,
-     TEMP = 625,
-     TEMPLATE = 626,
-     TEMPORARY = 627,
-     TEXT_P = 628,
-     THEN = 629,
-     TIME = 630,
-     TIMESTAMP = 631,
-     TO = 632,
-     TRAILING = 633,
-     TRANSACTION = 634,
-     TRANSFORM = 635,
-     TREAT = 636,
-     TRIGGER = 637,
-     TRIM = 638,
-     TRUE_P = 639,
-     TRUNCATE = 640,
-     TRUSTED = 641,
-     TYPE_P = 642,
-     TYPES_P = 643,
-     UNBOUNDED = 644,
-     UNCOMMITTED = 645,
-     UNENCRYPTED = 646,
-     UNION = 647,
-     UNIQUE = 648,
-     UNKNOWN = 649,
-     UNLISTEN = 650,
-     UNLOGGED = 651,
-     UNTIL = 652,
-     UPDATE = 653,
-     USER = 654,
-     USING = 655,
-     VACUUM = 656,
-     VALID = 657,
-     VALIDATE = 658,
-     VALIDATOR = 659,
-     VALUE_P = 660,
-     VALUES = 661,
-     VARCHAR = 662,
-     VARIADIC = 663,
-     VARYING = 664,
-     VERBOSE = 665,
-     VERSION_P = 666,
-     VIEW = 667,
-     VIEWS = 668,
-     VOLATILE = 669,
-     WHEN = 670,
-     WHERE = 671,
-     WHITESPACE_P = 672,
-     WINDOW = 673,
-     WITH = 674,
-     WITHIN = 675,
-     WITHOUT = 676,
-     WORK = 677,
-     WRAPPER = 678,
-     WRITE = 679,
-     XML_P = 680,
-     XMLATTRIBUTES = 681,
-     XMLCONCAT = 682,
-     XMLELEMENT = 683,
-     XMLEXISTS = 684,
-     XMLFOREST = 685,
-     XMLPARSE = 686,
-     XMLPI = 687,
-     XMLROOT = 688,
-     XMLSERIALIZE = 689,
-     YEAR_P = 690,
-     YES_P = 691,
-     ZONE = 692,
-     NOT_LA = 693,
-     NULLS_LA = 694,
-     WITH_LA = 695,
-     POSTFIXOP = 696,
-     UMINUS = 697
-   };
+  enum yytokentype
+  {
+    IDENT = 258,
+    FCONST = 259,
+    SCONST = 260,
+    BCONST = 261,
+    XCONST = 262,
+    Op = 263,
+    ICONST = 264,
+    PARAM = 265,
+    TYPECAST = 266,
+    DOT_DOT = 267,
+    COLON_EQUALS = 268,
+    EQUALS_GREATER = 269,
+    LESS_EQUALS = 270,
+    GREATER_EQUALS = 271,
+    NOT_EQUALS = 272,
+    ABORT_P = 273,
+    ABSOLUTE_P = 274,
+    ACCESS = 275,
+    ACTION = 276,
+    ADD_P = 277,
+    ADMIN = 278,
+    AFTER = 279,
+    AGGREGATE = 280,
+    ALL = 281,
+    ALSO = 282,
+    ALTER = 283,
+    ALWAYS = 284,
+    ANALYSE = 285,
+    ANALYZE = 286,
+    AND = 287,
+    ANY = 288,
+    ARRAY = 289,
+    AS = 290,
+    ASC = 291,
+    ASSERTION = 292,
+    ASSIGNMENT = 293,
+    ASYMMETRIC = 294,
+    AT = 295,
+    ATTRIBUTE = 296,
+    AUTHORIZATION = 297,
+    BACKWARD = 298,
+    BEFORE = 299,
+    BEGIN_P = 300,
+    BETWEEN = 301,
+    BIGINT = 302,
+    BINARY = 303,
+    BIT = 304,
+    BOOLEAN_P = 305,
+    BOTH = 306,
+    BY = 307,
+    CACHE = 308,
+    CALLED = 309,
+    CASCADE = 310,
+    CASCADED = 311,
+    CASE = 312,
+    CAST = 313,
+    CATALOG_P = 314,
+    CHAIN = 315,
+    CHAR_P = 316,
+    CHARACTER = 317,
+    CHARACTERISTICS = 318,
+    CHECK = 319,
+    CHECKPOINT = 320,
+    CLASS = 321,
+    CLOSE = 322,
+    CLUSTER = 323,
+    COALESCE = 324,
+    COLLATE = 325,
+    COLLATION = 326,
+    COLUMN = 327,
+    COMMENT = 328,
+    COMMENTS = 329,
+    COMMIT = 330,
+    COMMITTED = 331,
+    CONCURRENTLY = 332,
+    CONFIGURATION = 333,
+    CONFLICT = 334,
+    CONNECTION = 335,
+    CONSTRAINT = 336,
+    CONSTRAINTS = 337,
+    CONTENT_P = 338,
+    CONTINUE_P = 339,
+    CONVERSION_P = 340,
+    COPY = 341,
+    COST = 342,
+    CREATE = 343,
+    CROSS = 344,
+    CSV = 345,
+    CUBE = 346,
+    CURRENT_P = 347,
+    CURRENT_CATALOG = 348,
+    CURRENT_DATE = 349,
+    CURRENT_ROLE = 350,
+    CURRENT_SCHEMA = 351,
+    CURRENT_TIME = 352,
+    CURRENT_TIMESTAMP = 353,
+    CURRENT_USER = 354,
+    CURSOR = 355,
+    CYCLE = 356,
+    DATA_P = 357,
+    DATABASE = 358,
+    DAY_P = 359,
+    DEALLOCATE = 360,
+    DEC = 361,
+    DECIMAL_P = 362,
+    DECLARE = 363,
+    DEFAULT = 364,
+    DEFAULTS = 365,
+    DEFERRABLE = 366,
+    DEFERRED = 367,
+    DEFINER = 368,
+    DELETE_P = 369,
+    DELIMITER = 370,
+    DELIMITERS = 371,
+    DEPENDS = 372,
+    DESC = 373,
+    DICTIONARY = 374,
+    DISABLE_P = 375,
+    DISCARD = 376,
+    DISTINCT = 377,
+    DO = 378,
+    DOCUMENT_P = 379,
+    DOMAIN_P = 380,
+    DOUBLE_P = 381,
+    DROP = 382,
+    EACH = 383,
+    ELSE = 384,
+    ENABLE_P = 385,
+    ENCODING = 386,
+    ENCRYPTED = 387,
+    END_P = 388,
+    ENUM_P = 389,
+    ESCAPE = 390,
+    EVENT = 391,
+    EXCEPT = 392,
+    EXCLUDE = 393,
+    EXCLUDING = 394,
+    EXCLUSIVE = 395,
+    EXECUTE = 396,
+    EXISTS = 397,
+    EXPLAIN = 398,
+    EXTENSION = 399,
+    EXTERNAL = 400,
+    EXTRACT = 401,
+    FALSE_P = 402,
+    FAMILY = 403,
+    FETCH = 404,
+    FILTER = 405,
+    FIRST_P = 406,
+    FLOAT_P = 407,
+    FOLLOWING = 408,
+    FOR = 409,
+    FORCE = 410,
+    FOREIGN = 411,
+    FORWARD = 412,
+    FREEZE = 413,
+    FROM = 414,
+    FULL = 415,
+    FUNCTION = 416,
+    FUNCTIONS = 417,
+    GLOBAL = 418,
+    GRANT = 419,
+    GRANTED = 420,
+    GREATEST = 421,
+    GROUP_P = 422,
+    GROUPING = 423,
+    HANDLER = 424,
+    HAVING = 425,
+    HEADER_P = 426,
+    HOLD = 427,
+    HOUR_P = 428,
+    IDENTITY_P = 429,
+    IF_P = 430,
+    ILIKE = 431,
+    IMMEDIATE = 432,
+    IMMUTABLE = 433,
+    IMPLICIT_P = 434,
+    IMPORT_P = 435,
+    IN_P = 436,
+    INCLUDING = 437,
+    INCREMENT = 438,
+    INDEX = 439,
+    INDEXES = 440,
+    INHERIT = 441,
+    INHERITS = 442,
+    INITIALLY = 443,
+    INLINE_P = 444,
+    INNER_P = 445,
+    INOUT = 446,
+    INPUT_P = 447,
+    INSENSITIVE = 448,
+    INSERT = 449,
+    INSTEAD = 450,
+    INT_P = 451,
+    INTEGER = 452,
+    INTERSECT = 453,
+    INTERVAL = 454,
+    INTO = 455,
+    INVOKER = 456,
+    IS = 457,
+    ISNULL = 458,
+    ISOLATION = 459,
+    JOIN = 460,
+    KEY = 461,
+    LABEL = 462,
+    LANGUAGE = 463,
+    LARGE_P = 464,
+    LAST_P = 465,
+    LATERAL_P = 466,
+    LEADING = 467,
+    LEAKPROOF = 468,
+    LEAST = 469,
+    LEFT = 470,
+    LEVEL = 471,
+    LIKE = 472,
+    LIMIT = 473,
+    LISTEN = 474,
+    LOAD = 475,
+    LOCAL = 476,
+    LOCALTIME = 477,
+    LOCALTIMESTAMP = 478,
+    LOCATION = 479,
+    LOCK_P = 480,
+    LOCKED = 481,
+    LOGGED = 482,
+    MAPPING = 483,
+    MATCH = 484,
+    MATERIALIZED = 485,
+    MAXVALUE = 486,
+    METHOD = 487,
+    MINUTE_P = 488,
+    MINVALUE = 489,
+    MODE = 490,
+    MONTH_P = 491,
+    MOVE = 492,
+    NAME_P = 493,
+    NAMES = 494,
+    NATIONAL = 495,
+    NATURAL = 496,
+    NCHAR = 497,
+    NEXT = 498,
+    NO = 499,
+    NONE = 500,
+    NOT = 501,
+    NOTHING = 502,
+    NOTIFY = 503,
+    NOTNULL = 504,
+    NOWAIT = 505,
+    NULL_P = 506,
+    NULLIF = 507,
+    NULLS_P = 508,
+    NUMERIC = 509,
+    OBJECT_P = 510,
+    OF = 511,
+    OFF = 512,
+    OFFSET = 513,
+    OIDS = 514,
+    ON = 515,
+    ONLY = 516,
+    OPERATOR = 517,
+    OPTION = 518,
+    OPTIONS = 519,
+    OR = 520,
+    ORDER = 521,
+    ORDINALITY = 522,
+    OUT_P = 523,
+    OUTER_P = 524,
+    OVER = 525,
+    OVERLAPS = 526,
+    OVERLAY = 527,
+    OWNED = 528,
+    OWNER = 529,
+    PARALLEL = 530,
+    PARSER = 531,
+    PARTIAL = 532,
+    PARTITION = 533,
+    PASSING = 534,
+    PASSWORD = 535,
+    PGPOOL = 536,
+    PLACING = 537,
+    PLANS = 538,
+    POLICY = 539,
+    POSITION = 540,
+    PRECEDING = 541,
+    PRECISION = 542,
+    PRESERVE = 543,
+    PREPARE = 544,
+    PREPARED = 545,
+    PRIMARY = 546,
+    PRIOR = 547,
+    PRIVILEGES = 548,
+    PROCEDURAL = 549,
+    PROCEDURE = 550,
+    PROGRAM = 551,
+    QUOTE = 552,
+    RANGE = 553,
+    READ = 554,
+    REAL = 555,
+    REASSIGN = 556,
+    RECHECK = 557,
+    RECURSIVE = 558,
+    REF = 559,
+    REFERENCES = 560,
+    REFRESH = 561,
+    REINDEX = 562,
+    RELATIVE_P = 563,
+    RELEASE = 564,
+    RENAME = 565,
+    REPEATABLE = 566,
+    REPLACE = 567,
+    REPLICA = 568,
+    RESET = 569,
+    RESTART = 570,
+    RESTRICT = 571,
+    RETURNING = 572,
+    RETURNS = 573,
+    REVOKE = 574,
+    RIGHT = 575,
+    ROLE = 576,
+    ROLLBACK = 577,
+    ROLLUP = 578,
+    ROW = 579,
+    ROWS = 580,
+    RULE = 581,
+    SAVEPOINT = 582,
+    SCHEMA = 583,
+    SCROLL = 584,
+    SEARCH = 585,
+    SECOND_P = 586,
+    SECURITY = 587,
+    SELECT = 588,
+    SEQUENCE = 589,
+    SEQUENCES = 590,
+    SERIALIZABLE = 591,
+    SERVER = 592,
+    SESSION = 593,
+    SESSION_USER = 594,
+    SET = 595,
+    SETS = 596,
+    SETOF = 597,
+    SHARE = 598,
+    SHOW = 599,
+    SIMILAR = 600,
+    SIMPLE = 601,
+    SKIP = 602,
+    SMALLINT = 603,
+    SNAPSHOT = 604,
+    SOME = 605,
+    SQL_P = 606,
+    STABLE = 607,
+    STANDALONE_P = 608,
+    START = 609,
+    STATEMENT = 610,
+    STATISTICS = 611,
+    STDIN = 612,
+    STDOUT = 613,
+    STORAGE = 614,
+    STRICT_P = 615,
+    STRIP_P = 616,
+    SUBSTRING = 617,
+    SYMMETRIC = 618,
+    SYSID = 619,
+    SYSTEM_P = 620,
+    TABLE = 621,
+    TABLES = 622,
+    TABLESAMPLE = 623,
+    TABLESPACE = 624,
+    TEMP = 625,
+    TEMPLATE = 626,
+    TEMPORARY = 627,
+    TEXT_P = 628,
+    THEN = 629,
+    TIME = 630,
+    TIMESTAMP = 631,
+    TO = 632,
+    TRAILING = 633,
+    TRANSACTION = 634,
+    TRANSFORM = 635,
+    TREAT = 636,
+    TRIGGER = 637,
+    TRIM = 638,
+    TRUE_P = 639,
+    TRUNCATE = 640,
+    TRUSTED = 641,
+    TYPE_P = 642,
+    TYPES_P = 643,
+    UNBOUNDED = 644,
+    UNCOMMITTED = 645,
+    UNENCRYPTED = 646,
+    UNION = 647,
+    UNIQUE = 648,
+    UNKNOWN = 649,
+    UNLISTEN = 650,
+    UNLOGGED = 651,
+    UNTIL = 652,
+    UPDATE = 653,
+    USER = 654,
+    USING = 655,
+    VACUUM = 656,
+    VALID = 657,
+    VALIDATE = 658,
+    VALIDATOR = 659,
+    VALUE_P = 660,
+    VALUES = 661,
+    VARCHAR = 662,
+    VARIADIC = 663,
+    VARYING = 664,
+    VERBOSE = 665,
+    VERSION_P = 666,
+    VIEW = 667,
+    VIEWS = 668,
+    VOLATILE = 669,
+    WHEN = 670,
+    WHERE = 671,
+    WHITESPACE_P = 672,
+    WINDOW = 673,
+    WITH = 674,
+    WITHIN = 675,
+    WITHOUT = 676,
+    WORK = 677,
+    WRAPPER = 678,
+    WRITE = 679,
+    XML_P = 680,
+    XMLATTRIBUTES = 681,
+    XMLCONCAT = 682,
+    XMLELEMENT = 683,
+    XMLEXISTS = 684,
+    XMLFOREST = 685,
+    XMLPARSE = 686,
+    XMLPI = 687,
+    XMLROOT = 688,
+    XMLSERIALIZE = 689,
+    YEAR_P = 690,
+    YES_P = 691,
+    ZONE = 692,
+    NOT_LA = 693,
+    NULLS_LA = 694,
+    WITH_LA = 695,
+    POSTFIXOP = 696,
+    UMINUS = 697
+  };
 #endif
 /* Tokens.  */
 #define IDENT 258
@@ -1209,13 +1203,12 @@ extern int base_yydebug;
 #define POSTFIXOP 696
 #define UMINUS 697
 
-
-
+/* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+
+union YYSTYPE
 {
-/* Line 387 of yacc.c  */
-#line 227 "gram.y"
+#line 226 "gram.y" /* yacc.c:355  */
 
        core_YYSTYPE            core_yystype;
        /* these fields must match core_YYSTYPE: */
@@ -1255,49 +1248,37 @@ typedef union YYSTYPE
        InsertStmt                      *istmt;
        VariableSetStmt         *vsetstmt;
 
+#line 1252 "gram.c" /* yacc.c:355  */
+};
 
-/* Line 387 of yacc.c  */
-#line 1261 "gram.c"
-} YYSTYPE;
+typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 #endif
 
+/* Location type.  */
 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
-typedef struct YYLTYPE
+typedef struct YYLTYPE YYLTYPE;
+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
 
 
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int base_yyparse (void *YYPARSE_PARAM);
-#else
-int base_yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
+
 int base_yyparse (core_yyscan_t yyscanner);
-#else
-int base_yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
 
 #endif /* !YY_BASE_YY_Y_TAB_H_INCLUDED  */
 
 /* Copy the second part of user declarations.  */
 
-/* Line 390 of yacc.c  */
-#line 1301 "gram.c"
+#line 1282 "gram.c" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -1311,11 +1292,8 @@ typedef unsigned char yytype_uint8;
 
 #ifdef YYTYPE_INT8
 typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
 #else
-typedef short int yytype_int8;
+typedef signed char yytype_int8;
 #endif
 
 #ifdef YYTYPE_UINT16
@@ -1335,8 +1313,7 @@ typedef short int yytype_int16;
 #  define YYSIZE_T __SIZE_TYPE__
 # elif defined size_t
 #  define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+# elif ! defined YYSIZE_T
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 #  define YYSIZE_T size_t
 # else
@@ -1358,6 +1335,33 @@ typedef short int yytype_int16;
 # endif
 #endif
 
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__                                               \
+      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
+     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+# else
+#  define YY_ATTRIBUTE(Spec) /* empty */
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# endif
+#endif
+
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
 # define YYUSE(E) ((void) (E))
@@ -1365,24 +1369,26 @@ typedef short int yytype_int16;
 # define YYUSE(E) /* empty */
 #endif
 
-/* Identity function, used to suppress warnings about constant conditions.  */
-#ifndef lint
-# define YYID(N) (N)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+    _Pragma ("GCC diagnostic pop")
 #else
-static int
-YYID (yyi)
-    int yyi;
+# define YY_INITIAL_VALUE(Value) Value
 #endif
-{
-  return yyi;
-}
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
 #endif
 
+
 #if ! defined yyoverflow || YYERROR_VERBOSE
 
 /* The parser invokes alloca or malloc; define the necessary symbols.  */
@@ -1400,8 +1406,7 @@ YYID (yyi)
 #    define alloca _alloca
 #   else
 #    define YYSTACK_ALLOC alloca
-#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
 #     ifndef EXIT_SUCCESS
@@ -1413,8 +1418,8 @@ YYID (yyi)
 # endif
 
 # ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning.  */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+   /* Pacify GCC's 'empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
 #  ifndef YYSTACK_ALLOC_MAXIMUM
     /* The OS might guarantee only one guard page at the bottom of the stack,
        and a page size can be as small as 4096 bytes.  So we cannot safely
@@ -1430,7 +1435,7 @@ YYID (yyi)
 #  endif
 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
        && ! ((defined YYMALLOC || defined malloc) \
-            && (defined YYFREE || defined free)))
+             && (defined YYFREE || defined free)))
 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
 #   ifndef EXIT_SUCCESS
 #    define EXIT_SUCCESS 0
@@ -1438,15 +1443,13 @@ YYID (yyi)
 #  endif
 #  ifndef YYMALLOC
 #   define YYMALLOC malloc
-#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#   if ! defined malloc && ! defined EXIT_SUCCESS
 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
 #   endif
 #  endif
 #  ifndef YYFREE
 #   define YYFREE free
-#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#   if ! defined free && ! defined EXIT_SUCCESS
 void free (void *); /* INFRINGES ON USER NAME SPACE */
 #   endif
 #  endif
@@ -1456,8 +1459,8 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
 
 #if (! defined yyoverflow \
      && (! defined __cplusplus \
-        || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
-            && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+         || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
+             && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
 
 /* A type that is properly aligned for any stack member.  */
 union yyalloc
@@ -1483,16 +1486,16 @@ union yyalloc
    elements in the stack, and YYPTR gives the new location of the
    stack.  Advance YYPTR to a properly aligned location for the next
    stack.  */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack)                          \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
-       Stack = &yyptr->Stack_alloc;                                    \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (YYID (0))
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
+    do                                                                  \
+      {                                                                 \
+        YYSIZE_T yynewbytes;                                            \
+        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
+        Stack = &yyptr->Stack_alloc;                                    \
+        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+        yyptr += yynewbytes / sizeof (*yyptr);                          \
+      }                                                                 \
+    while (0)
 
 #endif
 
@@ -1511,7 +1514,7 @@ union yyalloc
           for (yyi = 0; yyi < (Count); yyi++)   \
             (Dst)[yyi] = (Src)[yyi];            \
         }                                       \
-      while (YYID (0))
+      while (0)
 #  endif
 # endif
 #endif /* !YYCOPY_NEEDED */
@@ -1527,17 +1530,19 @@ union yyalloc
 #define YYNNTS  618
 /* YYNRULES -- Number of rules.  */
 #define YYNRULES  2513
-/* YYNRULES -- Number of states.  */
+/* YYNSTATES -- Number of states.  */
 #define YYNSTATES  4991
 
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+   by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   697
 
-#define YYTRANSLATE(YYX)                                               \
+#define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, without out-of-bounds checking.  */
 static const yytype_uint16 yytranslate[] =
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1613,1431 +1618,261 @@ static const yytype_uint16 yytranslate[] =
 };
 
 #if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
-   YYRHS.  */
-static const yytype_uint16 yyprhs[] =
-{
-       0,     0,     3,     5,     9,    11,    13,    15,    17,    19,
-      21,    23,    25,    27,    29,    31,    33,    35,    37,    39,
-      41,    43,    45,    47,    49,    51,    53,    55,    57,    59,
-      61,    63,    65,    67,    69,    71,    73,    75,    77,    79,
-      81,    83,    85,    87,    89,    91,    93,    95,    97,    99,
-     101,   103,   105,   107,   109,   111,   113,   115,   117,   119,
-     121,   123,   125,   127,   129,   131,   133,   135,   137,   139,
-     141,   143,   145,   147,   149,   151,   153,   155,   157,   159,
-     161,   163,   165,   167,   169,   171,   173,   175,   177,   179,
-     181,   183,   185,   187,   189,   191,   193,   195,   197,   199,
-     201,   203,   205,   207,   209,   211,   213,   215,   217,   219,
-     221,   223,   225,   227,   229,   231,   233,   235,   237,   239,
-     241,   243,   245,   247,   249,   251,   253,   255,   257,   259,
-     261,   262,   268,   270,   272,   273,   276,   277,   280,   281,
-     284,   287,   291,   295,   297,   301,   305,   308,   310,   312,
-     315,   318,   321,   325,   329,   335,   341,   342,   346,   352,
-     358,   364,   369,   373,   379,   383,   389,   395,   402,   404,
-     406,   410,   416,   423,   428,   438,   446,   448,   449,   452,
-     453,   455,   457,   459,   461,   463,   465,   469,   472,   476,
-     480,   483,   489,   491,   495,   499,   503,   507,   509,   513,
-     517,   520,   523,   526,   529,   533,   537,   541,   545,   547,
-     551,   553,   557,   559,   561,   564,   567,   570,   572,   574,
-     576,   578,   580,   582,   584,   588,   594,   596,   598,   600,
-     602,   604,   605,   607,   609,   612,   616,   618,   621,   625,
-     628,   630,   632,   635,   637,   640,   642,   646,   650,   653,
-     657,   662,   666,   669,   674,   676,   678,   680,   682,   684,
-     687,   690,   693,   696,   699,   704,   711,   722,   736,   741,
-     748,   759,   773,   778,   785,   790,   797,   803,   811,   823,
-     838,   840,   844,   847,   853,   857,   864,   869,   876,   883,
-     890,   896,   902,   909,   916,   921,   930,   935,   938,   943,
-     947,   954,   959,   963,   967,   971,   975,   978,   981,   985,
-     990,   995,   999,  1003,  1007,  1011,  1015,  1019,  1024,  1029,
-    1033,  1036,  1040,  1043,  1046,  1050,  1054,  1057,  1060,  1064,
-    1069,  1074,  1079,  1085,  1087,  1091,  1094,  1096,  1098,  1099,
-    1102,  1103,  1106,  1107,  1109,  1111,  1113,  1117,  1121,  1124,
-    1125,  1127,  1131,  1135,  1137,  1143,  1147,  1152,  1154,  1158,
-    1163,  1170,  1175,  1184,  1187,  1190,  1202,  1212,  1214,  1216,
-    1218,  1219,  1221,  1223,  1225,  1227,  1231,  1234,  1235,  1237,
-    1239,  1241,  1245,  1249,  1251,  1253,  1257,  1261,  1265,  1269,
-    1274,  1278,  1281,  1283,  1284,  1287,  1288,  1292,  1293,  1295,
-    1296,  1298,  1302,  1305,  1307,  1309,  1311,  1315,  1316,  1318,
-    1322,  1324,  1336,  1351,  1362,  1376,  1378,  1380,  1383,  1386,
-    1389,  1392,  1394,  1395,  1397,  1398,  1402,  1403,  1405,  1409,
-    1411,  1415,  1417,  1419,  1421,  1423,  1425,  1430,  1435,  1438,
-    1439,  1443,  1445,  1447,  1450,  1453,  1455,  1459,  1464,  1470,
-    1473,  1479,  1481,  1484,  1487,  1490,  1494,  1498,  1502,  1503,
-    1505,  1507,  1509,  1511,  1513,  1515,  1519,  1521,  1527,  1535,
-    1539,  1548,  1553,  1563,  1575,  1578,  1579,  1583,  1584,  1586,
-    1590,  1592,  1595,  1598,  1601,  1602,  1604,  1608,  1612,  1619,
-    1624,  1625,  1627,  1629,  1632,  1635,  1636,  1640,  1644,  1647,
-    1649,  1651,  1654,  1657,  1662,  1663,  1666,  1669,  1672,  1673,
-    1677,  1682,  1687,  1688,  1691,  1692,  1697,  1698,  1702,  1710,
-    1721,  1727,  1730,  1734,  1735,  1744,  1756,  1761,  1763,  1764,
-    1771,  1777,  1786,  1791,  1798,  1800,  1801,  1803,  1806,  1809,
-    1811,  1814,  1818,  1821,  1824,  1827,  1830,  1834,  1838,  1840,
-    1844,  1846,  1847,  1849,  1852,  1854,  1856,  1860,  1867,  1878,
-    1880,  1881,  1883,  1886,  1889,  1890,  1893,  1896,  1898,  1899,
-    1905,  1913,  1915,  1916,  1924,  1927,  1928,  1932,  1938,  1944,
-    1953,  1956,  1957,  1960,  1963,  1966,  1968,  1974,  1977,  1978,
-    1981,  1989,  2000,  2007,  2014,  2021,  2028,  2036,  2044,  2054,
-    2064,  2071,  2079,  2086,  2095,  2104,  2113,  2122,  2129,  2136,
-    2144,  2152,  2161,  2168,  2178,  2185,  2193,  2196,  2199,  2202,
-    2205,  2207,  2210,  2212,  2213,  2220,  2229,  2237,  2244,  2249,
-    2250,  2252,  2256,  2261,  2263,  2267,  2269,  2272,  2275,  2278,
-    2281,  2283,  2285,  2296,  2299,  2300,  2303,  2306,  2308,  2309,
-    2314,  2321,  2327,  2332,  2337,  2349,  2364,  2370,  2378,  2390,
-    2393,  2395,  2400,  2401,  2410,  2412,  2414,  2422,  2432,  2441,
-    2451,  2460,  2467,  2476,  2481,  2482,  2488,  2489,  2492,  2493,
-    2496,  2497,  2500,  2501,  2503,  2505,  2507,  2509,  2511,  2520,
-    2536,  2557,  2559,  2561,  2564,  2566,  2570,  2572,  2574,  2576,
-    2580,  2582,  2586,  2587,  2589,  2590,  2592,  2594,  2599,  2600,
-    2602,  2606,  2607,  2609,  2611,  2613,  2615,  2618,  2619,  2620,
-    2623,  2626,  2628,  2631,  2634,  2637,  2640,  2647,  2656,  2668,
-    2682,  2684,  2688,  2694,  2696,  2700,  2706,  2708,  2711,  2714,
-    2716,  2725,  2730,  2736,  2741,  2746,  2751,  2755,  2763,  2772,
-    2779,  2786,  2793,  2800,  2807,  2812,  2818,  2822,  2824,  2828,
-    2832,  2834,  2836,  2838,  2840,  2842,  2844,  2848,  2850,  2854,
-    2858,  2860,  2861,  2863,  2867,  2875,  2885,  2895,  2899,  2900,
-    2914,  2916,  2920,  2926,  2933,  2938,  2946,  2949,  2951,  2952,
-    2955,  2956,  2959,  2964,  2965,  2967,  2968,  2975,  2984,  2993,
-    2995,  2999,  3005,  3011,  3019,  3029,  3037,  3047,  3053,  3060,
-    3067,  3072,  3077,  3084,  3089,  3096,  3102,  3110,  3112,  3114,
-    3116,  3119,  3121,  3124,  3127,  3130,  3132,  3134,  3136,  3138,
-    3142,  3146,  3150,  3154,  3156,  3160,  3162,  3165,  3168,  3172,
-    3174,  3178,  3184,  3187,  3190,  3191,  3198,  3205,  3212,  3220,
-    3228,  3236,  3245,  3255,  3264,  3273,  3280,  3290,  3299,  3309,
-    3319,  3327,  3338,  3346,  3349,  3351,  3353,  3355,  3357,  3359,
-    3361,  3363,  3366,  3368,  3370,  3372,  3374,  3376,  3379,  3381,
-    3385,  3388,  3392,  3396,  3400,  3404,  3406,  3408,  3417,  3426,
-    3435,  3445,  3455,  3465,  3475,  3478,  3479,  3481,  3483,  3486,
-    3489,  3491,  3493,  3495,  3497,  3499,  3501,  3504,  3506,  3508,
-    3511,  3514,  3516,  3519,  3523,  3527,  3531,  3535,  3540,  3545,
-    3549,  3553,  3557,  3562,  3567,  3571,  3576,  3581,  3583,  3585,
-    3587,  3588,  3596,  3604,  3615,  3617,  3619,  3622,  3627,  3633,
-    3635,  3639,  3642,  3645,  3648,  3651,  3653,  3656,  3659,  3664,
-    3668,  3671,  3674,  3677,  3680,  3684,  3687,  3690,  3693,  3699,
-    3705,  3711,  3713,  3717,  3719,  3722,  3726,  3727,  3729,  3733,
-    3736,  3743,  3750,  3760,  3764,  3765,  3769,  3770,  3776,  3779,
-    3780,  3784,  3788,  3792,  3800,  3808,  3819,  3821,  3823,  3825,
-    3827,  3842,  3860,  3862,  3863,  3865,  3866,  3868,  3869,  3872,
-    3873,  3875,  3879,  3885,  3891,  3899,  3902,  3903,  3905,  3906,
-    3908,  3910,  3911,  3914,  3917,  3918,  3928,  3941,  3949,  3952,
-    3953,  3957,  3960,  3962,  3966,  3970,  3973,  3975,  3979,  3983,
-    3987,  3990,  3993,  3995,  3997,  3999,  4001,  4004,  4006,  4008,
-    4010,  4012,  4017,  4023,  4025,  4029,  4033,  4035,  4039,  4043,
-    4049,  4056,  4058,  4062,  4064,  4067,  4072,  4078,  4080,  4082,
-    4084,  4086,  4090,  4094,  4097,  4100,  4102,  4105,  4108,  4111,
-    4113,  4116,  4119,  4122,  4125,  4127,  4129,  4131,  4135,  4139,
-    4145,  4148,  4149,  4152,  4154,  4158,  4164,  4166,  4169,  4171,
-    4172,  4178,  4186,  4192,  4200,  4206,  4214,  4218,  4224,  4230,
-    4236,  4238,  4242,  4245,  4247,  4250,  4252,  4255,  4267,  4278,
-    4289,  4292,  4295,  4296,  4306,  4309,  4310,  4321,  4333,  4345,
-    4351,  4357,  4366,  4370,  4374,  4381,  4388,  4390,  4392,  4394,
-    4396,  4398,  4400,  4404,  4406,  4412,  4418,  4426,  4433,  4440,
-    4447,  4454,  4463,  4472,  4479,  4486,  4494,  4504,  4514,  4523,
-    4534,  4541,  4548,  4555,  4564,  4571,  4580,  4587,  4596,  4604,
-    4614,  4621,  4630,  4638,  4648,  4657,  4668,  4678,  4690,  4699,
-    4710,  4720,  4732,  4741,  4750,  4758,  4765,  4772,  4779,  4788,
-    4797,  4806,  4815,  4822,  4832,  4834,  4835,  4838,  4839,  4847,
-    4857,  4866,  4874,  4882,  4889,  4896,  4903,  4910,  4917,  4925,
-    4935,  4945,  4952,  4961,  4970,  4979,  4988,  4997,  5004,  5013,
-    5020,  5029,  5037,  5047,  5055,  5065,  5072,  5081,  5083,  5087,
-    5091,  5095,  5103,  5110,  5117,  5124,  5131,  5138,  5146,  5154,
-    5162,  5172,  5182,  5189,  5196,  5203,  5212,  5221,  5230,  5237,
-    5245,  5259,  5261,  5263,  5267,  5271,  5273,  5275,  5277,  5279,
-    5281,  5283,  5285,  5286,  5288,  5290,  5292,  5294,  5296,  5298,
-    5299,  5306,  5315,  5319,  5322,  5323,  5326,  5329,  5332,  5335,
-    5339,  5343,  5346,  5349,  5352,  5355,  5359,  5362,  5368,  5373,
-    5377,  5381,  5385,  5387,  5389,  5390,  5394,  5397,  5400,  5402,
-    5405,  5407,  5411,  5414,  5416,  5417,  5427,  5439,  5452,  5467,
-    5471,  5476,  5481,  5482,  5485,  5491,  5493,  5494,  5496,  5499,
-    5503,  5507,  5511,  5513,  5516,  5518,  5520,  5522,  5524,  5526,
-    5528,  5529,  5535,  5540,  5547,  5552,  5556,  5562,  5567,  5572,
-    5579,  5584,  5591,  5598,  5604,  5612,  5622,  5629,  5631,  5632,
-    5639,  5651,  5663,  5675,  5689,  5699,  5711,  5713,  5715,  5726,
-    5731,  5734,  5740,  5743,  5744,  5749,  5755,  5761,  5766,  5773,
-    5775,  5779,  5781,  5783,  5785,  5787,  5789,  5792,  5797,  5799,
-    5801,  5803,  5804,  5806,  5807,  5809,  5810,  5814,  5815,  5818,
-    5823,  5827,  5833,  5835,  5837,  5839,  5841,  5843,  5845,  5847,
-    5849,  5851,  5853,  5857,  5860,  5862,  5864,  5866,  5868,  5869,
-    5875,  5879,  5880,  5882,  5884,  5886,  5888,  5892,  5902,  5906,
-    5907,  5910,  5914,  5917,  5921,  5929,  5931,  5935,  5937,  5942,
-    5945,  5947,  5951,  5954,  5963,  5969,  5970,  5975,  5979,  5980,
-    5983,  5984,  5992,  5995,  5996,  6002,  6006,  6007,  6010,  6013,
-    6016,  6020,  6022,  6026,  6028,  6031,  6033,  6034,  6036,  6039,
-    6040,  6049,  6051,  6055,  6057,  6059,  6063,  6069,  6075,  6078,
-    6080,  6084,  6092,  6094,  6095,  6099,  6102,  6105,  6108,  6109,
-    6112,  6115,  6117,  6119,  6123,  6127,  6129,  6132,  6137,  6142,
-    6145,  6149,  6155,  6161,  6163,  6165,  6175,  6185,  6187,  6190,
-    6195,  6200,  6205,  6208,  6211,  6215,  6217,  6221,  6228,  6230,
-    6231,  6234,  6235,  6239,  6243,  6248,  6253,  6258,  6263,  6267,
-    6270,  6272,  6274,  6275,  6277,  6279,  6280,  6282,  6288,  6290,
-    6291,  6293,  6294,  6298,  6300,  6304,  6309,  6313,  6316,  6319,
-    6321,  6323,  6325,  6326,  6329,  6334,  6340,  6343,  6347,  6349,
-    6351,  6353,  6355,  6359,  6360,  6362,  6364,  6366,  6368,  6370,
-    6374,  6375,  6377,  6381,  6383,  6385,  6387,  6389,  6391,  6394,
-    6399,  6404,  6410,  6413,  6414,  6416,  6420,  6422,  6423,  6425,
-    6428,  6432,  6435,  6440,  6443,  6447,  6450,  6451,  6454,  6458,
-    6461,  6462,  6464,  6468,  6471,  6475,  6478,  6482,  6485,  6489,
-    6491,  6496,  6500,  6505,  6511,  6516,  6522,  6527,  6533,  6536,
-    6541,  6543,  6545,  6546,  6548,  6553,  6559,  6564,  6565,  6568,
-    6571,  6574,  6576,  6578,  6579,  6584,  6587,  6589,  6592,  6595,
-    6600,  6602,  6606,  6608,  6611,  6615,  6622,  6627,  6628,  6631,
-    6638,  6641,  6643,  6647,  6652,  6653,  6656,  6657,  6660,  6661,
-    6664,  6669,  6670,  6672,  6673,  6675,  6679,  6683,  6686,  6690,
-    6696,  6703,  6706,  6710,  6714,  6719,  6720,  6722,  6724,  6726,
-    6728,  6730,  6733,  6738,  6740,  6742,  6744,  6746,  6749,  6753,
-    6757,  6758,  6760,  6762,  6764,  6766,  6768,  6771,  6774,  6777,
-    6780,  6783,  6785,  6789,  6790,  6792,  6794,  6796,  6798,  6804,
-    6807,  6809,  6811,  6813,  6815,  6821,  6824,  6827,  6830,  6832,
-    6836,  6840,  6843,  6845,  6846,  6850,  6851,  6857,  6860,  6866,
-    6869,  6871,  6875,  6879,  6880,  6882,  6884,  6886,  6888,  6890,
-    6892,  6896,  6900,  6904,  6908,  6912,  6916,  6920,  6921,  6923,
-    6928,  6930,  6934,  6938,  6944,  6947,  6950,  6954,  6958,  6962,
-    6966,  6970,  6974,  6978,  6982,  6986,  6990,  6994,  6998,  7002,
-    7005,  7008,  7012,  7016,  7019,  7022,  7026,  7032,  7037,  7044,
-    7048,  7054,  7059,  7066,  7071,  7078,  7084,  7092,  7096,  7099,
-    7104,  7107,  7111,  7115,  7120,  7124,  7129,  7133,  7138,  7144,
-    7151,  7158,  7166,  7173,  7181,  7188,  7196,  7200,  7205,  7210,
-    7217,  7220,  7224,  7229,  7231,  7235,  7238,  7241,  7245,  7249,
-    7253,  7257,  7261,  7265,  7269,  7273,  7277,  7281,  7285,  7289,
-    7293,  7296,  7299,  7305,  7312,  7319,  7327,  7331,  7336,  7338,
-    7340,  7343,  7348,  7350,  7352,  7354,  7357,  7360,  7363,  7366,
-    7368,  7370,  7375,  7379,  7385,  7392,  7401,  7408,  7415,  7420,
-    7425,  7427,  7429,  7431,  7437,  7439,  7441,  7446,  7448,  7453,
-    7455,  7460,  7462,  7467,  7469,  7471,  7473,  7475,  7477,  7479,
-    7486,  7491,  7496,  7501,  7506,  7513,  7519,  7525,  7531,  7536,
-    7543,  7548,  7553,  7558,  7563,  7569,  7577,  7585,  7595,  7601,
-    7606,  7613,  7619,  7627,  7635,  7643,  7646,  7650,  7654,  7658,
-    7663,  7664,  7669,  7671,  7675,  7679,  7681,  7683,  7685,  7688,
-    7691,  7692,  7695,  7700,  7705,  7712,  7718,  7719,  7725,  7726,
-    7729,  7730,  7732,  7736,  7740,  7743,  7746,  7747,  7754,  7756,
-    7757,  7761,  7762,  7765,  7768,  7769,  7771,  7776,  7779,  7782,
-    7785,  7788,  7791,  7796,  7800,  7806,  7811,  7815,  7821,  7823,
-    7825,  7827,  7829,  7831,  7833,  7835,  7837,  7839,  7841,  7843,
-    7845,  7847,  7849,  7851,  7853,  7855,  7857,  7862,  7864,  7869,
-    7871,  7876,  7878,  7881,  7883,  7886,  7888,  7892,  7894,  7898,
-    7900,  7904,  7908,  7910,  7914,  7918,  7922,  7925,  7927,  7931,
-    7935,  7936,  7938,  7940,  7942,  7944,  7946,  7948,  7950,  7952,
-    7957,  7961,  7964,  7968,  7969,  7973,  7977,  7980,  7983,  7985,
-    7986,  7989,  7992,  7996,  7999,  8001,  8003,  8007,  8013,  8015,
-    8018,  8023,  8026,  8027,  8029,  8030,  8032,  8035,  8038,  8041,
-    8045,  8051,  8053,  8054,  8056,  8059,  8060,  8063,  8065,  8066,
-    8068,  8070,  8072,  8076,  8080,  8082,  8083,  8085,  8089,  8093,
-    8096,  8098,  8100,  8102,  8106,  8108,  8111,  8113,  8117,  8119,
-    8121,  8123,  8125,  8127,  8129,  8131,  8134,  8136,  8138,  8140,
-    8142,  8144,  8147,  8154,  8157,  8161,  8167,  8169,  8171,  8173,
-    8175,  8177,  8179,  8182,  8185,  8187,  8189,  8191,  8193,  8195,
-    8199,  8201,  8203,  8205,  8207,  8209,  8211,  8213,  8215,  8217,
-    8219,  8221,  8223,  8225,  8227,  8229,  8231,  8233,  8235,  8237,
-    8239,  8241,  8243,  8245,  8247,  8249,  8251,  8253,  8255,  8257,
-    8259,  8261,  8263,  8265,  8267,  8269,  8271,  8273,  8275,  8277,
-    8279,  8281,  8283,  8285,  8287,  8289,  8291,  8293,  8295,  8297,
-    8299,  8301,  8303,  8305,  8307,  8309,  8311,  8313,  8315,  8317,
-    8319,  8321,  8323,  8325,  8327,  8329,  8331,  8333,  8335,  8337,
-    8339,  8341,  8343,  8345,  8347,  8349,  8351,  8353,  8355,  8357,
-    8359,  8361,  8363,  8365,  8367,  8369,  8371,  8373,  8375,  8377,
-    8379,  8381,  8383,  8385,  8387,  8389,  8391,  8393,  8395,  8397,
-    8399,  8401,  8403,  8405,  8407,  8409,  8411,  8413,  8415,  8417,
-    8419,  8421,  8423,  8425,  8427,  8429,  8431,  8433,  8435,  8437,
-    8439,  8441,  8443,  8445,  8447,  8449,  8451,  8453,  8455,  8457,
-    8459,  8461,  8463,  8465,  8467,  8469,  8471,  8473,  8475,  8477,
-    8479,  8481,  8483,  8485,  8487,  8489,  8491,  8493,  8495,  8497,
-    8499,  8501,  8503,  8505,  8507,  8509,  8511,  8513,  8515,  8517,
-    8519,  8521,  8523,  8525,  8527,  8529,  8531,  8533,  8535,  8537,
-    8539,  8541,  8543,  8545,  8547,  8549,  8551,  8553,  8555,  8557,
-    8559,  8561,  8563,  8565,  8567,  8569,  8571,  8573,  8575,  8577,
-    8579,  8581,  8583,  8585,  8587,  8589,  8591,  8593,  8595,  8597,
-    8599,  8601,  8603,  8605,  8607,  8609,  8611,  8613,  8615,  8617,
-    8619,  8621,  8623,  8625,  8627,  8629,  8631,  8633,  8635,  8637,
-    8639,  8641,  8643,  8645,  8647,  8649,  8651,  8653,  8655,  8657,
-    8659,  8661,  8663,  8665,  8667,  8669,  8671,  8673,  8675,  8677,
-    8679,  8681,  8683,  8685,  8687,  8689,  8691,  8693,  8695,  8697,
-    8699,  8701,  8703,  8705,  8707,  8709,  8711,  8713,  8715,  8717,
-    8719,  8721,  8723,  8725,  8727,  8729,  8731,  8733,  8735,  8737,
-    8739,  8741,  8743,  8745,  8747,  8749,  8751,  8753,  8755,  8757,
-    8759,  8761,  8763,  8765,  8767,  8769,  8771,  8773,  8775,  8777,
-    8779,  8781,  8783,  8785,  8787,  8789,  8791,  8793,  8795,  8797,
-    8799,  8801,  8803,  8805,  8807,  8809,  8811,  8813,  8815,  8817,
-    8819,  8821,  8823,  8825,  8827,  8829,  8831,  8833,  8835,  8837,
-    8839,  8841,  8843,  8845,  8847,  8849,  8851,  8853,  8855,  8857,
-    8859,  8861,  8863,  8865,  8867,  8869,  8871,  8873,  8875,  8877,
-    8879,  8881,  8883,  8885,  8887,  8889,  8891,  8893,  8895,  8897,
-    8899,  8901,  8903,  8905,  8907,  8909,  8911,  8913,  8915,  8917,
-    8919,  8921,  8923,  8925,  8927,  8929,  8931,  8933,  8935,  8937,
-    8939,  8941,  8943,  8945,  8947,  8949,  8951,  8953,  8955,  8957,
-    8959,  8961,  8963,  8965,  8967,  8969,  8971,  8973,  8975,  8977,
-    8979,  8981,  8983,  8985,  8987,  8989,  8991,  8993,  8995,  8997,
-    8999,  9001,  9003,  9005,  9007,  9009,  9011,  9013,  9015,  9017,
-    9019,  9021,  9023,  9025,  9027,  9029,  9031,  9033,  9035,  9037,
-    9039,  9041,  9043,  9045,  9047,  9049,  9051,  9053,  9055,  9057,
-    9059,  9061,  9063,  9065
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
-static const yytype_int16 yyrhs[] =
-{
-     461,     0,    -1,   462,    -1,   462,   457,   463,    -1,   463,
-      -1,   668,    -1,   831,    -1,   832,    -1,   733,    -1,   836,
-      -1,   682,    -1,   607,    -1,   610,    -1,   616,    -1,   630,
-      -1,   632,    -1,   772,    -1,   479,    -1,   799,    -1,   800,
-      -1,   804,    -1,   801,    -1,   641,    -1,   586,    -1,   834,
-      -1,   509,    -1,   795,    -1,   521,    -1,   473,    -1,   471,
-      -1,   839,    -1,   838,    -1,   639,    -1,   475,    -1,   474,
-      -1,   847,    -1,   507,    -1,   524,    -1,   842,    -1,   707,
-      -1,   504,    -1,   525,    -1,   649,    -1,   578,    -1,   670,
-      -1,   783,    -1,   841,    -1,   835,    -1,   604,    -1,   611,
-      -1,   625,    -1,   631,    -1,   749,    -1,   478,    -1,   581,
-      -1,   684,    -1,   691,    -1,   692,    -1,   640,    -1,   593,
-      -1,   482,    -1,   585,    -1,   541,    -1,   601,    -1,   787,
-      -1,   650,    -1,   664,    -1,   464,    -1,   470,    -1,   636,
-      -1,   825,    -1,   864,    -1,   887,    -1,   672,    -1,   873,
-      -1,   508,    -1,   780,    -1,   671,    -1,   785,    -1,   615,
-      -1,   629,    -1,   481,    -1,   695,    -1,   696,    -1,   697,
-      -1,   642,    -1,   599,    -1,   812,    -1,   699,    -1,   603,
-      -1,   789,    -1,   663,    -1,   476,    -1,   477,    -1,   638,
-      -1,   833,    -1,   862,    -1,   853,    -1,   714,    -1,   718,
-      -1,   729,    -1,   633,    -1,   738,    -1,   865,    -1,   815,
-      -1,   584,    -1,   824,    -1,   875,    -1,   813,    -1,   859,
-      -1,   698,    -1,   790,    -1,   776,    -1,   775,    -1,   777,
-      -1,   796,    -1,   719,    -1,   730,    -1,   805,    -1,   710,
-      -1,   891,    -1,   817,    -1,   705,    -1,   816,    -1,   880,
-      -1,   844,    -1,   498,    -1,   486,    -1,   503,    -1,   822,
-      -1,    -1,    88,   321,  1067,   465,   466,    -1,   419,    -1,
-     440,    -1,    -1,   466,   469,    -1,    -1,   467,   468,    -1,
-      -1,   280,  1065,    -1,   280,   251,    -1,   132,   280,  1065,
-      -1,   391,   280,  1065,    -1,   186,    -1,    80,   218,  1066,
-      -1,   402,   397,  1065,    -1,   399,  1069,    -1,     3,    -1,
-     468,    -1,   364,  1064,    -1,    23,  1069,    -1,   321,  1069,
-      -1,   181,   321,  1069,    -1,   181,   167,  1069,    -1,    88,
-     399,  1067,   465,   466,    -1,    28,   321,  1068,   465,   467,
-      -1,    -1,   181,   103,  1057,    -1,    28,   321,  1068,   472,
-     501,    -1,    28,   321,    26,   472,   501,    -1,    28,   399,
-    1068,   465,   467,    -1,    28,   399,  1068,   501,    -1,   127,
-     321,  1069,    -1,   127,   321,   175,   142,  1069,    -1,   127,
-     399,  1069,    -1,   127,   399,   175,   142,  1069,    -1,    88,
-     167,  1067,   465,   466,    -1,    28,   167,  1068,   480,   399,
-    1069,    -1,    22,    -1,   127,    -1,   127,   167,  1069,    -1,
-     127,   167,   175,   142,  1069,    -1,    88,   328,   483,    42,
-    1068,   484,    -1,    88,   328,  1070,   484,    -1,    88,   328,
-     175,   246,   142,   483,    42,  1068,   484,    -1,    88,   328,
-     175,   246,   142,  1070,   484,    -1,  1070,    -1,    -1,   484,
-     485,    -1,    -1,   541,    -1,   738,    -1,   585,    -1,   650,
-      -1,   718,    -1,   822,    -1,   281,   340,   488,    -1,   340,
-     487,    -1,   340,   221,   487,    -1,   340,   338,   487,    -1,
-     379,   820,    -1,   338,    63,    35,   379,   820,    -1,   489,
-      -1,   490,   377,   491,    -1,   490,   443,   491,    -1,   490,
-     377,   109,    -1,   490,   443,   109,    -1,   488,    -1,   490,
-     159,    92,    -1,   375,   437,   495,    -1,    59,  1065,    -1,
-     328,  1065,    -1,   239,   496,    -1,   321,   497,    -1,   338,
-      42,   497,    -1,   338,    42,   109,    -1,   425,   263,   996,
-      -1,   379,   349,  1065,    -1,  1070,    -1,   490,   456,  1070,
-      -1,   492,    -1,   491,   458,   492,    -1,   494,    -1,   591,
-      -1,   299,   390,    -1,   299,    76,    -1,   311,   299,    -1,
-     336,    -1,   384,    -1,   147,    -1,   260,    -1,   497,    -1,
-    1065,    -1,     3,    -1,   980,  1065,   982,    -1,   980,   454,
-    1064,   455,  1065,    -1,   591,    -1,   109,    -1,   221,    -1,
-    1065,    -1,   109,    -1,    -1,  1072,    -1,  1065,    -1,   314,
-     499,    -1,   281,   314,   500,    -1,   500,    -1,   375,   437,
-      -1,   379,   204,   216,    -1,   338,    42,    -1,   490,    -1,
-      26,    -1,   340,   487,    -1,   498,    -1,   340,   489,    -1,
-     498,    -1,   281,   344,   490,    -1,   281,   344,    26,    -1,
-     344,   490,    -1,   344,   375,   437,    -1,   344,   379,   204,
-     216,    -1,   344,   338,    42,    -1,   344,    26,    -1,   340,
-      82,   505,   506,    -1,    26,    -1,  1053,    -1,   112,    -1,
-     177,    -1,    65,    -1,   121,    26,    -1,   121,   370,    -1,
-     121,   372,    -1,   121,   283,    -1,   121,   335,    -1,    28,
-     366,   945,   510,    -1,    28,   366,   175,   142,   945,   510,
-      -1,    28,   366,    26,   181,   369,  1056,   340,   369,  1056,
-     878,    -1,    28,   366,    26,   181,   369,  1056,   273,    52,
-    1069,   340,   369,  1056,   878,    -1,    28,   184,  1054,   510,
-      -1,    28,   184,   175,   142,  1054,   510,    -1,    28,   184,
-      26,   181,   369,  1056,   340,   369,  1056,   878,    -1,    28,
-     184,    26,   181,   369,  1056,   273,    52,  1069,   340,   369,
-    1056,   878,    -1,    28,   334,  1054,   510,    -1,    28,   334,
-     175,   142,  1054,   510,    -1,    28,   412,  1054,   510,    -1,
-      28,   412,   175,   142,  1054,   510,    -1,    28,   230,   412,
-    1054,   510,    -1,    28,   230,   412,   175,   142,  1054,   510,
-      -1,    28,   230,   412,    26,   181,   369,  1056,   340,   369,
-    1056,   878,    -1,    28,   230,   412,    26,   181,   369,  1056,
-     273,    52,  1069,   340,   369,  1056,   878,    -1,   511,    -1,
-     510,   458,   511,    -1,    22,   549,    -1,    22,   175,   246,
-     142,   549,    -1,    22,    72,   549,    -1,    22,    72,   175,
-     246,   142,   549,    -1,    28,   797,  1070,   512,    -1,    28,
-     797,  1070,   127,   246,   251,    -1,    28,   797,  1070,   340,
-     246,   251,    -1,    28,   797,  1070,   340,   356,  1066,    -1,
-      28,   797,  1070,   340,   517,    -1,    28,   797,  1070,   314,
-     517,    -1,    28,   797,  1070,   340,   359,  1070,    -1,   127,
-     797,   175,   142,  1070,   513,    -1,   127,   797,  1070,   513,
-      -1,    28,   797,  1070,   798,   387,   960,   514,   515,    -1,
-      28,   797,  1070,   619,    -1,    22,   558,    -1,    28,    81,
-    1056,   661,    -1,   403,    81,  1056,    -1,   127,    81,   175,
-     142,  1056,   513,    -1,   127,    81,  1056,   513,    -1,   340,
-     419,   259,    -1,   340,   421,   259,    -1,    68,   260,  1056,
-      -1,   340,   421,    68,    -1,   340,   227,    -1,   340,   396,
-      -1,   130,   382,  1056,    -1,   130,    29,   382,  1056,    -1,
-     130,   313,   382,  1056,    -1,   130,   382,    26,    -1,   130,
-     382,   399,    -1,   120,   382,  1056,    -1,   120,   382,    26,
-      -1,   120,   382,   399,    -1,   130,   326,  1056,    -1,   130,
-      29,   326,  1056,    -1,   130,   313,   326,  1056,    -1,   120,
-     326,  1056,    -1,   186,  1054,    -1,   244,   186,  1054,    -1,
-     256,   702,    -1,   246,   256,    -1,   274,   377,  1068,    -1,
-     340,   369,  1056,    -1,   340,   517,    -1,   314,   517,    -1,
-     313,   174,   516,    -1,   130,   324,   216,   332,    -1,   120,
-     324,   216,   332,    -1,   155,   324,   216,   332,    -1,   244,
-     155,   324,   216,   332,    -1,   619,    -1,   340,   109,   984,
-      -1,   127,   109,    -1,    55,    -1,   316,    -1,    -1,    70,
-     702,    -1,    -1,   400,   984,    -1,    -1,   247,    -1,   160,
-      -1,   109,    -1,   400,   184,  1056,    -1,   454,   519,   455,
-      -1,   419,   517,    -1,    -1,   520,    -1,   519,   458,   520,
-      -1,  1073,   443,   676,    -1,  1073,    -1,  1073,   456,  1073,
-     443,   676,    -1,  1073,   456,  1073,    -1,    28,   387,   702,
-     522,    -1,   523,    -1,   522,   458,   523,    -1,    22,    41,
-     959,   513,    -1,   127,    41,   175,   142,  1070,   513,    -1,
-     127,    41,  1070,   513,    -1,    28,    41,  1070,   798,   387,
-     960,   514,   513,    -1,    67,   888,    -1,    67,    26,    -1,
-      86,   532,  1054,   561,   533,   526,   527,   528,   534,   465,
-     529,    -1,    86,   454,   861,   455,   377,   527,   528,   465,
-     529,    -1,   159,    -1,   377,    -1,   296,    -1,    -1,  1065,
-      -1,   357,    -1,   358,    -1,   530,    -1,   454,   536,   455,
-      -1,   530,   531,    -1,    -1,    48,    -1,   259,    -1,   158,
-      -1,   115,   837,  1065,    -1,   251,   837,  1065,    -1,    90,
-      -1,   171,    -1,   297,   837,  1065,    -1,   135,   837,  1065,
-      -1,   155,   297,   562,    -1,   155,   297,   447,    -1,   155,
-     246,   251,   562,    -1,   155,   251,   562,    -1,   131,  1065,
-      -1,    48,    -1,    -1,   419,   259,    -1,    -1,   535,   116,
-    1065,    -1,    -1,   400,    -1,    -1,   537,    -1,   536,   458,
-     537,    -1,  1073,   538,    -1,   494,    -1,   591,    -1,   447,
-      -1,   454,   539,   455,    -1,    -1,   540,    -1,   539,   458,
-     540,    -1,   494,    -1,    88,   542,   366,  1054,   454,   543,
-     455,   572,   573,   574,   575,    -1,    88,   542,   366,   175,
-     246,   142,  1054,   454,   543,   455,   572,   573,   574,   575,
-      -1,    88,   542,   366,  1054,   256,   702,   544,   573,   574,
-     575,    -1,    88,   542,   366,   175,   246,   142,  1054,   256,
-     702,   544,   573,   574,   575,    -1,   372,    -1,   370,    -1,
-     221,   372,    -1,   221,   370,    -1,   163,   372,    -1,   163,
-     370,    -1,   396,    -1,    -1,   545,    -1,    -1,   454,   546,
-     455,    -1,    -1,   547,    -1,   545,   458,   547,    -1,   548,
-      -1,   546,   458,   548,    -1,   549,    -1,   555,    -1,   558,
-      -1,   550,    -1,   558,    -1,  1070,   960,   617,   551,    -1,
-    1070,   419,   264,   551,    -1,   551,   552,    -1,    -1,    81,
-    1056,   553,    -1,   553,    -1,   554,    -1,    70,   702,    -1,
-     246,   251,    -1,   251,    -1,   393,   769,   576,    -1,   291,
-     206,   769,   576,    -1,    64,   454,   984,   455,   560,    -1,
-     109,   985,    -1,   305,  1054,   561,   564,   568,    -1,   111,
-      -1,   246,   111,    -1,   188,   112,    -1,   188,   177,    -1,
-     217,  1054,   556,    -1,   556,   182,   557,    -1,   556,   139,
-     557,    -1,    -1,   110,    -1,    82,    -1,   185,    -1,   359,
-      -1,    74,    -1,    26,    -1,    81,  1056,   559,    -1,   559,
-      -1,    64,   454,   984,   455,   661,    -1,   393,   454,   562,
-     455,   769,   576,   661,    -1,   393,   577,   661,    -1,   291,
-     206,   454,   562,   455,   769,   576,   661,    -1,   291,   206,
-     577,   661,    -1,   138,   742,   454,   565,   455,   769,   576,
-     567,   661,    -1,   156,   206,   454,   562,   455,   305,  1054,
-     561,   564,   568,   661,    -1,   244,   186,    -1,    -1,   454,
-     562,   455,    -1,    -1,   563,    -1,   562,   458,   563,    -1,
-    1070,    -1,   229,   160,    -1,   229,   277,    -1,   229,   346,
-      -1,    -1,   566,    -1,   565,   458,   566,    -1,   744,   419,
-     779,    -1,   744,   419,   262,   454,   779,   455,    -1,   416,
-     454,   984,   455,    -1,    -1,   569,    -1,   570,    -1,   569,
-     570,    -1,   570,   569,    -1,    -1,   260,   398,   571,    -1,
-     260,   114,   571,    -1,   244,    21,    -1,   316,    -1,    55,
-      -1,   340,   251,    -1,   340,   109,    -1,   187,   454,  1053,
-     455,    -1,    -1,   419,   517,    -1,   419,   259,    -1,   421,
-     259,    -1,    -1,   260,    75,   127,    -1,   260,    75,   114,
-     325,    -1,   260,    75,   288,   325,    -1,    -1,   369,  1056,
-      -1,    -1,   400,   184,   369,  1056,    -1,    -1,   400,   184,
-    1060,    -1,    88,   542,   366,   579,    35,   891,   580,    -1,
-      88,   542,   366,   175,   246,   142,   579,    35,   891,   580,
-      -1,  1054,   561,   573,   574,   575,    -1,   419,   102,    -1,
-     419,   244,   102,    -1,    -1,    88,   583,   230,   412,   582,
-      35,   891,   580,    -1,    88,   583,   230,   412,   175,   246,
-     142,   582,    35,   891,   580,    -1,  1054,   561,   518,   575,
-      -1,   396,    -1,    -1,   306,   230,   412,   740,  1054,   580,
-      -1,    88,   542,   334,  1054,   587,    -1,    88,   542,   334,
-     175,   246,   142,  1054,   587,    -1,    28,   334,  1054,   588,
-      -1,    28,   334,   175,   142,  1054,   588,    -1,   588,    -1,
-      -1,   589,    -1,   588,   589,    -1,    53,   591,    -1,   101,
-      -1,   244,   101,    -1,   183,   590,   591,    -1,   231,   591,
-      -1,   234,   591,    -1,   244,   231,    -1,   244,   234,    -1,
-     273,    52,   702,    -1,   354,   465,   591,    -1,   315,    -1,
-     315,   465,   591,    -1,    52,    -1,    -1,     4,    -1,   446,
-       4,    -1,  1066,    -1,   591,    -1,   592,   458,   591,    -1,
-      88,   750,   594,   600,   208,   497,    -1,    88,   750,   594,
-     600,   208,   497,   169,   595,   596,   598,    -1,   386,    -1,
-      -1,  1056,    -1,  1056,   703,    -1,   189,   595,    -1,    -1,
-     404,   595,    -1,   244,   404,    -1,   597,    -1,    -1,   127,
-     600,   208,   497,   513,    -1,   127,   600,   208,   175,   142,
-     497,   513,    -1,   294,    -1,    -1,    88,   369,  1056,   602,
-     224,  1065,   518,    -1,   274,  1068,    -1,    -1,   127,   369,
-    1056,    -1,   127,   369,   175,   142,  1056,    -1,    88,   144,
-    1056,   465,   605,    -1,    88,   144,   175,   246,   142,  1056,
-     465,   605,    -1,   605,   606,    -1,    -1,   328,  1056,    -1,
-     411,   497,    -1,   159,   497,    -1,    55,    -1,    28,   144,
-    1056,   398,   608,    -1,   608,   609,    -1,    -1,   377,   497,
-      -1,    28,   144,  1056,   480,    25,  1062,   762,    -1,    28,
-     144,  1056,   480,    58,   454,   960,    35,   960,   455,    -1,
-      28,   144,  1056,   480,    71,   702,    -1,    28,   144,  1056,
-     480,    85,   702,    -1,    28,   144,  1056,   480,   125,   960,
-      -1,    28,   144,  1056,   480,   161,   728,    -1,    28,   144,
-    1056,   480,   600,   208,  1056,    -1,    28,   144,  1056,   480,
-     262,   779,   778,    -1,    28,   144,  1056,   480,   262,    66,
-     702,   400,  1058,    -1,    28,   144,  1056,   480,   262,   148,
-     702,   400,  1058,    -1,    28,   144,  1056,   480,   328,  1056,
-      -1,    28,   144,  1056,   480,   136,   382,  1056,    -1,    28,
-     144,  1056,   480,   366,   702,    -1,    28,   144,  1056,   480,
-     373,   330,   276,   702,    -1,    28,   144,  1056,   480,   373,
-     330,   119,   702,    -1,    28,   144,  1056,   480,   373,   330,
-     371,   702,    -1,    28,   144,  1056,   480,   373,   330,    78,
-     702,    -1,    28,   144,  1056,   480,   334,   702,    -1,    28,
-     144,  1056,   480,   412,   702,    -1,    28,   144,  1056,   480,
-     230,   412,   702,    -1,    28,   144,  1056,   480,   156,   366,
-     702,    -1,    28,   144,  1056,   480,   156,   102,   423,  1056,
-      -1,    28,   144,  1056,   480,   337,  1056,    -1,    28,   144,
-    1056,   480,   380,   154,   960,   208,  1056,    -1,    28,   144,
-    1056,   480,   387,   960,    -1,    88,   156,   102,   423,  1056,
-     614,   617,    -1,   169,   595,    -1,   244,   169,    -1,   404,
-     595,    -1,   244,   404,    -1,   612,    -1,   613,   612,    -1,
-     613,    -1,    -1,   127,   156,   102,   423,  1056,   513,    -1,
-     127,   156,   102,   423,   175,   142,  1056,   513,    -1,    28,
-     156,   102,   423,  1056,   614,   619,    -1,    28,   156,   102,
-     423,  1056,   613,    -1,   264,   454,   618,   455,    -1,    -1,
-     622,    -1,   618,   458,   622,    -1,   264,   454,   620,   455,
-      -1,   621,    -1,   620,   458,   621,    -1,   622,    -1,   340,
-     622,    -1,    22,   622,    -1,   127,   623,    -1,   623,   624,
-      -1,  1073,    -1,  1065,    -1,    88,   337,  1056,   626,   628,
-     156,   102,   423,  1056,   617,    -1,   387,  1065,    -1,    -1,
-     411,  1065,    -1,   411,   251,    -1,   627,    -1,    -1,   127,
-     337,  1056,   513,    -1,   127,   337,   175,   142,  1056,   513,
-      -1,    28,   337,  1056,   627,   619,    -1,    28,   337,  1056,
-     627,    -1,    28,   337,  1056,   619,    -1,    88,   156,   366,
-    1054,   454,   543,   455,   572,   337,  1056,   617,    -1,    88,
-     156,   366,   175,   246,   142,  1054,   454,   543,   455,   572,
-     337,  1056,   617,    -1,    28,   156,   366,   945,   510,    -1,
-      28,   156,   366,   175,   142,   945,   510,    -1,   180,   156,
-     328,  1056,   635,   159,   337,  1056,   200,  1056,   617,    -1,
-     218,   377,    -1,   137,    -1,   634,   454,   946,   455,    -1,
-      -1,    88,   399,   228,   154,   637,   337,  1056,   617,    -1,
-    1068,    -1,   399,    -1,   127,   399,   228,   154,   637,   337,
-    1056,    -1,   127,   399,   228,   175,   142,   154,   637,   337,
-    1056,    -1,    28,   399,   228,   154,   637,   337,  1056,   619,
-      -1,    88,   284,  1056,   260,  1054,   647,   645,   643,   644,
-      -1,    28,   284,  1056,   260,  1054,   646,   643,   644,    -1,
-     127,   284,  1056,   260,   702,   513,    -1,   127,   284,   175,
-     142,  1056,   260,   702,   513,    -1,   400,   454,   984,   455,
-      -1,    -1,   419,    64,   454,   984,   455,    -1,    -1,   377,
-    1069,    -1,    -1,   377,  1069,    -1,    -1,   154,   648,    -1,
-      -1,    26,    -1,   333,    -1,   194,    -1,   398,    -1,   114,
-      -1,    88,    20,   232,  1056,   387,   184,   169,   595,    -1,
-      88,   382,  1056,   651,   652,   260,  1054,   654,   657,   141,
-     295,  1062,   454,   658,   455,    -1,    88,    81,   382,  1056,
-      24,   652,   260,  1054,   660,   661,   154,   128,   324,   657,
-     141,   295,  1062,   454,   658,   455,    -1,    44,    -1,    24,
-      -1,   195,   256,    -1,   653,    -1,   652,   265,   653,    -1,
-     194,    -1,   114,    -1,   398,    -1,   398,   256,   562,    -1,
-     385,    -1,   154,   655,   656,    -1,    -1,   128,    -1,    -1,
-     324,    -1,   355,    -1,   415,   454,   984,   455,    -1,    -1,
-     659,    -1,   658,   458,   659,    -1,    -1,  1064,    -1,     4,
-      -1,  1065,    -1,  1073,    -1,   159,  1054,    -1,    -1,    -1,
-     661,   662,    -1,   246,   111,    -1,   111,    -1,   188,   177,
-      -1,   188,   112,    -1,   246,   402,    -1,   244,   186,    -1,
-     127,   382,  1056,   260,   702,   513,    -1,   127,   382,   175,
-     142,  1056,   260,   702,   513,    -1,    88,   136,   382,  1056,
-     260,  1073,   141,   295,  1062,   454,   455,    -1,    88,   136,
-     382,  1056,   260,  1073,   415,   665,   141,   295,  1062,   454,
-     455,    -1,   666,    -1,   665,    32,   666,    -1,  1070,   181,
-     454,   667,   455,    -1,     5,    -1,   667,   458,     5,    -1,
-      28,   136,   382,  1056,   669,    -1,   130,    -1,   130,   313,
-      -1,   130,    29,    -1,   120,    -1,    88,    37,  1056,    64,
-     454,   984,   455,   661,    -1,   127,    37,  1056,   513,    -1,
-      88,    25,  1062,   762,   673,    -1,    88,    25,  1062,   677,
-      -1,    88,   262,   779,   673,    -1,    88,   387,   702,   673,
-      -1,    88,   387,   702,    -1,    88,   387,   702,    35,   454,
-     957,   455,    -1,    88,   387,   702,    35,   134,   454,   680,
-     455,    -1,    88,   387,   702,    35,   298,   673,    -1,    88,
-     373,   330,   276,   702,   673,    -1,    88,   373,   330,   119,
-     702,   673,    -1,    88,   373,   330,   371,   702,   673,    -1,
-      88,   373,   330,    78,   702,   673,    -1,    88,    71,   702,
-     673,    -1,    88,    71,   702,   159,   702,    -1,   454,   674,
-     455,    -1,   675,    -1,   674,   458,   675,    -1,  1073,   443,
-     676,    -1,  1073,    -1,   759,    -1,  1077,    -1,  1018,    -1,
-     591,    -1,  1065,    -1,   454,   678,   455,    -1,   679,    -1,
-     678,   458,   679,    -1,     3,   443,   676,    -1,   681,    -1,
-      -1,  1065,    -1,   681,   458,  1065,    -1,    28,   387,   702,
-      22,   405,   683,  1065,    -1,    28,   387,   702,    22,   405,
-     683,  1065,    44,  1065,    -1,    28,   387,   702,    22,   405,
-     683,  1065,    24,  1065,    -1,   175,   246,   142,    -1,    -1,
-      88,   262,    66,   702,   687,   154,   387,   960,   400,  1058,
-     688,    35,   685,    -1,   686,    -1,   685,   458,   686,    -1,
-     262,  1064,   779,   689,   690,    -1,   262,  1064,   779,   778,
-     689,   690,    -1,   161,  1064,  1062,   751,    -1,   161,  1064,
-     454,  1023,   455,  1062,   751,    -1,   359,   960,    -1,   109,
-      -1,    -1,   148,   702,    -1,    -1,   154,   330,    -1,   154,
-     266,    52,   702,    -1,    -1,   302,    -1,    -1,    88,   262,
-     148,   702,   400,  1058,    -1,    28,   262,   148,   702,   400,
-    1058,    22,   685,    -1,    28,   262,   148,   702,   400,  1058,
-     127,   693,    -1,   694,    -1,   693,   458,   694,    -1,   262,
-    1064,   454,  1023,   455,    -1,   161,  1064,   454,  1023,   455,
-      -1,   127,   262,    66,   702,   400,  1058,   513,    -1,   127,
-     262,    66,   175,   142,   702,   400,  1058,   513,    -1,   127,
-     262,   148,   702,   400,  1058,   513,    -1,   127,   262,   148,
-     175,   142,   702,   400,  1058,   513,    -1,   127,   273,    52,
-    1069,   513,    -1,   301,   273,    52,  1069,   377,  1068,    -1,
-     127,   700,   175,   142,   701,   513,    -1,   127,   700,   701,
-     513,    -1,   127,   387,   704,   513,    -1,   127,   387,   175,
-     142,   704,   513,    -1,   127,   125,   704,   513,    -1,   127,
-     125,   175,   142,   704,   513,    -1,   127,   184,    77,   701,
-     513,    -1,   127,   184,    77,   175,   142,   701,   513,    -1,
-     366,    -1,   334,    -1,   412,    -1,   230,   412,    -1,   184,
-      -1,   156,   366,    -1,    20,   232,    -1,   136,   382,    -1,
-      71,    -1,    85,    -1,   328,    -1,   144,    -1,   373,   330,
-     276,    -1,   373,   330,   119,    -1,   373,   330,   371,    -1,
-     373,   330,    78,    -1,   702,    -1,   701,   458,   702,    -1,
-    1070,    -1,  1070,   703,    -1,   456,  1059,    -1,   703,   456,
-    1059,    -1,   960,    -1,   704,   458,   960,    -1,   385,   902,
-     946,   706,   513,    -1,    84,   174,    -1,   315,   174,    -1,
-      -1,    73,   260,   708,   702,   202,   709,    -1,    73,   260,
-     387,   960,   202,   709,    -1,    73,   260,   125,   960,   202,
-     709,    -1,    73,   260,    25,  1062,   762,   202,   709,    -1,
-      73,   260,   161,  1062,   751,   202,   709,    -1,    73,   260,
-     262,   779,   778,   202,   709,    -1,    73,   260,    81,  1056,
-     260,   702,   202,   709,    -1,    73,   260,    81,  1056,   260,
-     125,   702,   202,   709,    -1,    73,   260,   284,  1056,   260,
-     702,   202,   709,    -1,    73,   260,   326,  1056,   260,   702,
-     202,   709,    -1,    73,   260,   326,  1056,   202,   709,    -1,
-      73,   260,   380,   154,   960,   208,  1056,   202,   709,    -1,
-      73,   260,   382,  1056,   260,   702,   202,   709,    -1,    73,
-     260,   262,    66,   702,   400,  1058,   202,   709,    -1,    73,
-     260,   262,   148,   702,   400,  1058,   202,   709,    -1,    73,
-     260,   209,   255,   591,   202,   709,    -1,    73,   260,    58,
-     454,   960,    35,   960,   455,   202,   709,    -1,    73,   260,
-     600,   208,   702,   202,   709,    -1,    20,   232,    -1,    72,
-      -1,   103,    -1,   328,    -1,   184,    -1,   334,    -1,   366,
-      -1,   412,    -1,   230,   412,    -1,    71,    -1,    85,    -1,
-     369,    -1,   144,    -1,   321,    -1,   156,   366,    -1,   337,
-      -1,   156,   102,   423,    -1,   136,   382,    -1,   373,   330,
-      78,    -1,   373,   330,   119,    -1,   373,   330,   276,    -1,
-     373,   330,   371,    -1,  1065,    -1,   251,    -1,   332,   207,
-     711,   260,   712,   702,   202,   713,    -1,   332,   207,   711,
-     260,   387,   960,   202,   713,    -1,   332,   207,   711,   260,
-     125,   960,   202,   713,    -1,   332,   207,   711,   260,    25,
-    1062,   762,   202,   713,    -1,   332,   207,   711,   260,   161,
-    1062,   751,   202,   713,    -1,   332,   207,   711,   260,   209,
-     255,   591,   202,   713,    -1,   332,   207,   711,   260,   600,
-     208,   702,   202,   713,    -1,   154,   497,    -1,    -1,    72,
-      -1,   103,    -1,   136,   382,    -1,   156,   366,    -1,   328,
-      -1,   334,    -1,   366,    -1,   321,    -1,   369,    -1,   412,
-      -1,   230,   412,    -1,  1065,    -1,   251,    -1,   149,   715,
-      -1,   237,   715,    -1,   888,    -1,   716,   888,    -1,   243,
-     717,   888,    -1,   292,   717,   888,    -1,   151,   717,   888,
-      -1,   210,   717,   888,    -1,    19,  1066,   717,   888,    -1,
-     308,  1066,   717,   888,    -1,  1066,   717,   888,    -1,    26,
-     717,   888,    -1,   157,   717,   888,    -1,   157,  1066,   717,
-     888,    -1,   157,    26,   717,   888,    -1,    43,   717,   888,
-      -1,    43,  1066,   717,   888,    -1,    43,    26,   717,   888,
-      -1,   159,    -1,   181,    -1,   716,    -1,    -1,   164,   720,
-     260,   723,   377,   724,   726,    -1,   319,   720,   260,   723,
-     159,   724,   513,    -1,   319,   164,   263,   154,   720,   260,
-     723,   159,   724,   513,    -1,   721,    -1,    26,    -1,    26,
-     293,    -1,    26,   454,   562,   455,    -1,    26,   293,   454,
-     562,   455,    -1,   722,    -1,   721,   458,   722,    -1,   333,
-     561,    -1,   305,   561,    -1,    88,   561,    -1,  1070,   561,
-      -1,  1053,    -1,   366,  1053,    -1,   334,  1053,    -1,   156,
-     102,   423,  1055,    -1,   156,   337,  1055,    -1,   161,   727,
-      -1,   103,  1055,    -1,   125,   701,    -1,   208,  1055,    -1,
-     209,   255,   592,    -1,   328,  1055,    -1,   369,  1055,    -1,
-     387,   701,    -1,    26,   367,   181,   328,  1055,    -1,    26,
-     335,   181,   328,  1055,    -1,    26,   162,   181,   328,  1055,
-      -1,   725,    -1,   724,   458,   725,    -1,  1068,    -1,   167,
-    1068,    -1,   419,   164,   263,    -1,    -1,   728,    -1,   727,
-     458,   728,    -1,  1062,   751,    -1,   164,   721,   377,  1069,
-     731,   732,    -1,   319,   721,   159,  1069,   732,   513,    -1,
-     319,    23,   263,   154,   721,   159,  1069,   732,   513,    -1,
-     419,    23,   263,    -1,    -1,   165,    52,  1068,    -1,    -1,
-      28,   109,   293,   734,   736,    -1,   734,   735,    -1,    -1,
-     181,   328,  1055,    -1,   154,   321,  1069,    -1,   154,   399,
-    1069,    -1,   164,   720,   260,   737,   377,   724,   726,    -1,
-     319,   720,   260,   737,   159,   724,   513,    -1,   319,   164,
-     263,   154,   720,   260,   737,   159,   724,   513,    -1,   367,
-      -1,   162,    -1,   335,    -1,   388,    -1,    88,   739,   184,
-     740,   741,   260,  1054,   742,   454,   743,   455,   518,   575,
-     955,    -1,    88,   739,   184,   740,   175,   246,   142,  1060,
-     260,  1054,   742,   454,   743,   455,   518,   575,   955,    -1,
-     393,    -1,    -1,    77,    -1,    -1,  1060,    -1,    -1,   400,
-    1058,    -1,    -1,   744,    -1,   743,   458,   744,    -1,  1070,
-     745,   746,   747,   748,    -1,   989,   745,   746,   747,   748,
-      -1,   454,   984,   455,   745,   746,   747,   748,    -1,    70,
-     702,    -1,    -1,   702,    -1,    -1,    36,    -1,   118,    -1,
-      -1,   439,   151,    -1,   439,   210,    -1,    -1,    88,   750,
-     161,  1062,   753,   318,   758,   764,   769,    -1,    88,   750,
-     161,  1062,   753,   318,   366,   454,   771,   455,   764,   769,
-      -1,    88,   750,   161,  1062,   753,   764,   769,    -1,   265,
-     312,    -1,    -1,   454,   752,   455,    -1,   454,   455,    -1,
-     755,    -1,   752,   458,   755,    -1,   454,   754,   455,    -1,
-     454,   455,    -1,   760,    -1,   754,   458,   760,    -1,   756,
-     757,   759,    -1,   757,   756,   759,    -1,   757,   759,    -1,
-     756,   759,    -1,   759,    -1,   181,    -1,   268,    -1,   191,
-      -1,   181,   268,    -1,   408,    -1,  1071,    -1,   759,    -1,
-     960,    -1,  1071,   703,   449,   387,    -1,   342,  1071,   703,
-     449,   387,    -1,   755,    -1,   755,   109,   984,    -1,   755,
-     443,   984,    -1,   755,    -1,   454,   447,   455,    -1,   454,
-     763,   455,    -1,   454,   266,    52,   763,   455,    -1,   454,
-     763,   266,    52,   763,   455,    -1,   761,    -1,   763,   458,
-     761,    -1,   766,    -1,   764,   766,    -1,    54,   260,   251,
-     192,    -1,   318,   251,   260,   251,   192,    -1,   360,    -1,
-     178,    -1,   352,    -1,   414,    -1,   145,   332,   113,    -1,
-     145,   332,   201,    -1,   332,   113,    -1,   332,   201,    -1,
-     213,    -1,   246,   213,    -1,    87,   591,    -1,   325,   591,
-      -1,   502,    -1,   275,  1070,    -1,    35,   767,    -1,   208,
-     497,    -1,   380,   768,    -1,   418,    -1,   765,    -1,  1065,
-      -1,  1065,   458,  1065,    -1,   154,   387,   960,    -1,   768,
-     458,   154,   387,   960,    -1,   419,   673,    -1,    -1,   757,
-     759,    -1,   770,    -1,   771,   458,   770,    -1,    28,   161,
-     728,   773,   774,    -1,   765,    -1,   773,   765,    -1,   316,
-      -1,    -1,   127,   161,  1062,   751,   513,    -1,   127,   161,
-     175,   142,  1062,   751,   513,    -1,   127,    25,  1062,   762,
-     513,    -1,   127,    25,   175,   142,  1062,   762,   513,    -1,
-     127,   262,   779,   778,   513,    -1,   127,   262,   175,   142,
-     779,   778,   513,    -1,   454,   960,   455,    -1,   454,   960,
-     458,   960,   455,    -1,   454,   245,   458,   960,   455,    -1,
-     454,   960,   458,   245,   455,    -1,  1015,    -1,  1070,   456,
-     779,    -1,   123,   781,    -1,   782,    -1,   781,   782,    -1,
-    1065,    -1,   208,   497,    -1,    88,    58,   454,   960,    35,
-     960,   455,   419,   161,   728,   784,    -1,    88,    58,   454,
-     960,    35,   960,   455,   421,   161,   784,    -1,    88,    58,
-     454,   960,    35,   960,   455,   419,   191,   784,    -1,    35,
-     179,    -1,    35,    38,    -1,    -1,   127,    58,   786,   454,
-     960,    35,   960,   455,   513,    -1,   175,   142,    -1,    -1,
-      88,   750,   380,   154,   960,   208,  1056,   454,   788,   455,
-      -1,   159,   351,   419,   161,   728,   458,   377,   351,   419,
-     161,   728,    -1,   377,   351,   419,   161,   728,   458,   159,
-     351,   419,   161,   728,    -1,   159,   351,   419,   161,   728,
-      -1,   377,   351,   419,   161,   728,    -1,   127,   380,   786,
-     154,   960,   208,  1056,   513,    -1,   307,   791,  1054,    -1,
-     307,   792,  1056,    -1,   307,   454,   793,   455,   791,  1054,
-      -1,   307,   454,   793,   455,   792,  1056,    -1,   184,    -1,
-     366,    -1,   328,    -1,   365,    -1,   103,    -1,   794,    -1,
-     793,   458,   794,    -1,   410,    -1,    28,   369,  1056,   340,
-     517,    -1,    28,   369,  1056,   314,   517,    -1,    28,    25,
-    1062,   762,   310,   377,  1056,    -1,    28,    71,   702,   310,
-     377,  1056,    -1,    28,    85,   702,   310,   377,  1056,    -1,
-      28,   103,  1057,   310,   377,  1057,    -1,    28,   125,   702,
-     310,   377,  1056,    -1,    28,   125,   702,   310,    81,  1056,
-     377,  1056,    -1,    28,   156,   102,   423,  1056,   310,   377,
-    1056,    -1,    28,   161,   728,   310,   377,  1056,    -1,    28,
-     167,  1067,   310,   377,  1067,    -1,    28,   600,   208,  1056,
-     310,   377,  1056,    -1,    28,   262,    66,   702,   400,  1058,
-     310,   377,  1056,    -1,    28,   262,   148,   702,   400,  1058,
-     310,   377,  1056,    -1,    28,   284,  1056,   260,  1054,   310,
-     377,  1056,    -1,    28,   284,   175,   142,  1056,   260,  1054,
-     310,   377,  1056,    -1,    28,   328,  1056,   310,   377,  1056,
-      -1,    28,   337,  1056,   310,   377,  1056,    -1,    28,   366,
-     945,   310,   377,  1056,    -1,    28,   366,   175,   142,   945,
-     310,   377,  1056,    -1,    28,   334,  1054,   310,   377,  1056,
-      -1,    28,   334,   175,   142,  1054,   310,   377,  1056,    -1,
-      28,   412,  1054,   310,   377,  1056,    -1,    28,   412,   175,
-     142,  1054,   310,   377,  1056,    -1,    28,   230,   412,  1054,
-     310,   377,  1056,    -1,    28,   230,   412,   175,   142,  1054,
-     310,   377,  1056,    -1,    28,   184,  1054,   310,   377,  1056,
-      -1,    28,   184,   175,   142,  1054,   310,   377,  1056,    -1,
-      28,   156,   366,   945,   310,   377,  1056,    -1,    28,   156,
-     366,   175,   142,   945,   310,   377,  1056,    -1,    28,   366,
-     945,   310,   797,  1056,   377,  1056,    -1,    28,   366,   175,
-     142,   945,   310,   797,  1056,   377,  1056,    -1,    28,   230,
-     412,  1054,   310,   797,  1056,   377,  1056,    -1,    28,   230,
-     412,   175,   142,  1054,   310,   797,  1056,   377,  1056,    -1,
-      28,   366,   945,   310,    81,  1056,   377,  1056,    -1,    28,
-     366,   175,   142,   945,   310,    81,  1056,   377,  1056,    -1,
-      28,   156,   366,   945,   310,   797,  1056,   377,  1056,    -1,
-      28,   156,   366,   175,   142,   945,   310,   797,  1056,   377,
-    1056,    -1,    28,   326,  1056,   260,  1054,   310,   377,  1056,
-      -1,    28,   382,  1056,   260,  1054,   310,   377,  1056,    -1,
-      28,   136,   382,  1056,   310,   377,  1056,    -1,    28,   321,
-    1067,   310,   377,  1067,    -1,    28,   399,  1067,   310,   377,
-    1067,    -1,    28,   369,  1056,   310,   377,  1056,    -1,    28,
-     373,   330,   276,   702,   310,   377,  1056,    -1,    28,   373,
-     330,   119,   702,   310,   377,  1056,    -1,    28,   373,   330,
-     371,   702,   310,   377,  1056,    -1,    28,   373,   330,    78,
-     702,   310,   377,  1056,    -1,    28,   387,   702,   310,   377,
-    1056,    -1,    28,   387,   702,   310,    41,  1056,   377,  1056,
-     513,    -1,    72,    -1,    -1,   340,   102,    -1,    -1,    28,
-     161,   728,   117,   260,   144,  1056,    -1,    28,   382,  1056,
-     260,  1054,   117,   260,   144,  1056,    -1,    28,   230,   412,
-    1054,   117,   260,   144,  1056,    -1,    28,   184,  1054,   117,
-     260,   144,  1056,    -1,    28,    25,  1062,   762,   340,   328,
-    1056,    -1,    28,    71,   702,   340,   328,  1056,    -1,    28,
-      85,   702,   340,   328,  1056,    -1,    28,   125,   702,   340,
-     328,  1056,    -1,    28,   144,   702,   340,   328,  1056,    -1,
-      28,   161,   728,   340,   328,  1056,    -1,    28,   262,   779,
-     778,   340,   328,  1056,    -1,    28,   262,    66,   702,   400,
-    1058,   340,   328,  1056,    -1,    28,   262,   148,   702,   400,
-    1058,   340,   328,  1056,    -1,    28,   366,   945,   340,   328,
-    1056,    -1,    28,   366,   175,   142,   945,   340,   328,  1056,
-      -1,    28,   373,   330,   276,   702,   340,   328,  1056,    -1,
-      28,   373,   330,   119,   702,   340,   328,  1056,    -1,    28,
-     373,   330,   371,   702,   340,   328,  1056,    -1,    28,   373,
-     330,    78,   702,   340,   328,  1056,    -1,    28,   334,  1054,
-     340,   328,  1056,    -1,    28,   334,   175,   142,  1054,   340,
-     328,  1056,    -1,    28,   412,  1054,   340,   328,  1056,    -1,
-      28,   412,   175,   142,  1054,   340,   328,  1056,    -1,    28,
-     230,   412,  1054,   340,   328,  1056,    -1,    28,   230,   412,
-     175,   142,  1054,   340,   328,  1056,    -1,    28,   156,   366,
-     945,   340,   328,  1056,    -1,    28,   156,   366,   175,   142,
-     945,   340,   328,  1056,    -1,    28,   387,   702,   340,   328,
-    1056,    -1,    28,   262,   779,   778,   340,   454,   802,   455,
-      -1,   803,    -1,   802,   458,   803,    -1,  1073,   443,   245,
-      -1,  1073,   443,   676,    -1,    28,    25,  1062,   762,   274,
-     377,  1068,    -1,    28,    71,   702,   274,   377,  1068,    -1,
-      28,    85,   702,   274,   377,  1068,    -1,    28,   103,  1057,
-     274,   377,  1068,    -1,    28,   125,   702,   274,   377,  1068,
-      -1,    28,   161,   728,   274,   377,  1068,    -1,    28,   600,
-     208,  1056,   274,   377,  1068,    -1,    28,   209,   255,   591,
-     274,   377,  1068,    -1,    28,   262,   779,   778,   274,   377,
-    1068,    -1,    28,   262,    66,   702,   400,  1058,   274,   377,
-    1068,    -1,    28,   262,   148,   702,   400,  1058,   274,   377,
-    1068,    -1,    28,   328,  1056,   274,   377,  1068,    -1,    28,
-     387,   702,   274,   377,  1068,    -1,    28,   369,  1056,   274,
-     377,  1068,    -1,    28,   373,   330,   119,   702,   274,   377,
-    1068,    -1,    28,   373,   330,    78,   702,   274,   377,  1068,
-      -1,    28,   156,   102,   423,  1056,   274,   377,  1068,    -1,
-      28,   337,  1056,   274,   377,  1068,    -1,    28,   136,   382,
-    1056,   274,   377,  1068,    -1,    88,   750,   326,  1056,    35,
-     260,   810,   377,  1054,   955,   123,   811,   806,    -1,   247,
-      -1,   808,    -1,   454,   807,   455,    -1,   807,   457,   809,
-      -1,   809,    -1,   891,    -1,   865,    -1,   880,    -1,   873,
-      -1,   813,    -1,   808,    -1,    -1,   333,    -1,   398,    -1,
-     114,    -1,   194,    -1,   195,    -1,    27,    -1,    -1,   127,
-     326,  1056,   260,   702,   513,    -1,   127,   326,   175,   142,
-    1056,   260,   702,   513,    -1,   248,  1070,   814,    -1,   458,
-    1065,    -1,    -1,   219,  1070,    -1,   395,  1070,    -1,   395,
-     447,    -1,    18,   818,    -1,    45,   818,   821,    -1,   354,
-     379,   821,    -1,    75,   818,    -1,   133,   818,    -1,   322,
-     818,    -1,   327,  1070,    -1,   309,   327,  1070,    -1,   309,
-    1070,    -1,   322,   818,   377,   327,  1070,    -1,   322,   818,
-     377,  1070,    -1,   289,   379,  1065,    -1,    75,   290,  1065,
-      -1,   322,   290,  1065,    -1,   422,    -1,   379,    -1,    -1,
-     204,   216,   493,    -1,   299,   261,    -1,   299,   424,    -1,
-     111,    -1,   246,   111,    -1,   819,    -1,   820,   458,   819,
-      -1,   820,   819,    -1,   820,    -1,    -1,    88,   542,   412,
-    1054,   561,   518,    35,   891,   823,    -1,    88,   265,   312,
-     542,   412,  1054,   561,   518,    35,   891,   823,    -1,    88,
-     542,   303,   412,  1054,   454,   562,   455,   518,    35,   891,
-     823,    -1,    88,   265,   312,   542,   303,   412,  1054,   454,
-     562,   455,   518,    35,   891,   823,    -1,   419,    64,   263,
-      -1,   419,    56,    64,   263,    -1,   419,   221,    64,   263,
-      -1,    -1,   220,  1061,    -1,    88,   103,  1057,   465,   826,
-      -1,   827,    -1,    -1,   828,    -1,   827,   828,    -1,   829,
-     830,  1066,    -1,   829,   830,   494,    -1,   829,   830,   109,
-      -1,     3,    -1,    80,   218,    -1,   131,    -1,   224,    -1,
-     274,    -1,   369,    -1,   371,    -1,   443,    -1,    -1,    28,
-     103,  1057,   419,   826,    -1,    28,   103,  1057,   826,    -1,
-      28,   103,  1057,   340,   369,  1056,    -1,    28,   103,  1057,
-     501,    -1,   127,   103,  1057,    -1,   127,   103,   175,   142,
-    1057,    -1,    28,   365,   340,   488,    -1,    28,   365,   314,
-     500,    -1,    88,   125,   702,   837,   960,   551,    -1,    28,
-     125,   702,   512,    -1,    28,   125,   702,   127,   246,   251,
-      -1,    28,   125,   702,   340,   246,   251,    -1,    28,   125,
-     702,    22,   558,    -1,    28,   125,   702,   127,    81,  1056,
-     513,    -1,    28,   125,   702,   127,    81,   175,   142,  1056,
-     513,    -1,    28,   125,   702,   403,    81,  1056,    -1,    35,
-      -1,    -1,    28,   373,   330,   119,   702,   673,    -1,    28,
-     373,   330,    78,   702,    22,   228,   154,  1055,   840,   701,
-      -1,    28,   373,   330,    78,   702,    28,   228,   154,  1055,
-     840,   701,    -1,    28,   373,   330,    78,   702,    28,   228,
-     312,   702,   840,   702,    -1,    28,   373,   330,    78,   702,
-      28,   228,   154,  1055,   312,   702,   840,   702,    -1,    28,
-     373,   330,    78,   702,   127,   228,   154,  1055,    -1,    28,
-     373,   330,    78,   702,   127,   228,   175,   142,   154,  1055,
-      -1,   419,    -1,   440,    -1,    88,   687,    85,   702,   154,
-    1065,   377,  1065,   159,   702,    -1,    68,   849,  1054,   843,
-      -1,    68,   849,    -1,    68,   849,  1060,   260,  1054,    -1,
-     400,  1060,    -1,    -1,   401,   850,   851,   849,    -1,   401,
-     850,   851,   849,  1054,    -1,   401,   850,   851,   849,   847,
-      -1,   401,   454,   845,   455,    -1,   401,   454,   845,   455,
-    1054,   852,    -1,   846,    -1,   845,   458,   846,    -1,   848,
-      -1,   410,    -1,   158,    -1,   160,    -1,     3,    -1,   848,
-     849,    -1,   848,   849,  1054,   852,    -1,    31,    -1,    30,
-      -1,   410,    -1,    -1,   160,    -1,    -1,   158,    -1,    -1,
-     454,  1055,   455,    -1,    -1,   143,   854,    -1,   143,   848,
-     849,   854,    -1,   143,   410,   854,    -1,   143,   454,   855,
-     455,   854,    -1,   891,    -1,   865,    -1,   880,    -1,   873,
-      -1,   887,    -1,   578,    -1,   581,    -1,   584,    -1,   862,
-      -1,   856,    -1,   855,   458,   856,    -1,   857,   858,    -1,
-    1072,    -1,   848,    -1,   494,    -1,   591,    -1,    -1,   289,
-    1056,   860,    35,   861,    -1,   454,  1023,   455,    -1,    -1,
-     891,    -1,   865,    -1,   880,    -1,   873,    -1,   141,  1056,
-     863,    -1,    88,   542,   366,   579,    35,   141,  1056,   863,
-     580,    -1,   454,  1020,   455,    -1,    -1,   105,  1056,    -1,
-     105,   289,  1056,    -1,   105,    26,    -1,   105,   289,    26,
-      -1,   899,   194,   200,   866,   867,   870,   872,    -1,  1054,
-      -1,  1054,    35,  1070,    -1,   891,    -1,   454,   868,   455,
-     891,    -1,   109,   406,    -1,   869,    -1,   868,   458,   869,
-      -1,  1070,  1045,    -1,   260,    79,   871,   123,   398,   340,
-     881,   955,    -1,   260,    79,   871,   123,   247,    -1,    -1,
-     454,   743,   455,   955,    -1,   260,    81,  1056,    -1,    -1,
-     317,  1051,    -1,    -1,   899,   114,   159,   947,   874,   956,
-     872,    -1,   400,   936,    -1,    -1,   225,   902,   946,   876,
-     878,    -1,   181,   877,   235,    -1,    -1,    20,   343,    -1,
-     324,   343,    -1,   324,   140,    -1,   343,   398,   140,    -1,
-     343,    -1,   343,   324,   140,    -1,   140,    -1,    20,   140,
-      -1,   250,    -1,    -1,   250,    -1,   347,   226,    -1,    -1,
-     899,   398,   947,   340,   881,   935,   956,   872,    -1,   882,
-      -1,   881,   458,   882,    -1,   883,    -1,   884,    -1,   885,
-     443,  1047,    -1,   454,   886,   455,   443,  1049,    -1,   454,
-     886,   455,   443,   892,    -1,  1070,  1045,    -1,   885,    -1,
-     886,   458,   885,    -1,   108,   888,   889,   100,   890,   154,
-     891,    -1,  1056,    -1,    -1,   889,   244,   329,    -1,   889,
-     329,    -1,   889,    48,    -1,   889,   193,    -1,    -1,   419,
-     172,    -1,   421,   172,    -1,   893,    -1,   892,    -1,   454,
-     893,   455,    -1,   454,   892,   455,    -1,   895,    -1,   894,
-     907,    -1,   894,   906,   928,   911,    -1,   894,   906,   910,
-     929,    -1,   896,   894,    -1,   896,   894,   907,    -1,   896,
-     894,   906,   928,   911,    -1,   896,   894,   906,   910,   929,
-      -1,   895,    -1,   892,    -1,   333,   905,  1050,   900,   935,
-     955,   920,   927,  1001,    -1,   333,   904,  1051,   900,   935,
-     955,   920,   927,  1001,    -1,   934,    -1,   366,   945,    -1,
-     894,   392,   903,   894,    -1,   894,   198,   903,   894,    -1,
-     894,   137,   903,   894,    -1,   419,   897,    -1,   440,   897,
-      -1,   419,   303,   897,    -1,   898,    -1,   897,   458,   898,
-      -1,  1056,   852,    35,   454,   861,   455,    -1,   896,    -1,
-      -1,   200,   901,    -1,    -1,   372,   902,  1054,    -1,   370,
-     902,  1054,    -1,   221,   372,   902,  1054,    -1,   221,   370,
-     902,  1054,    -1,   163,   372,   902,  1054,    -1,   163,   370,
-     902,  1054,    -1,   396,   902,  1054,    -1,   366,  1054,    -1,
-    1054,    -1,   366,    -1,    -1,    26,    -1,   122,    -1,    -1,
-     122,    -1,   122,   260,   454,  1020,   455,    -1,    26,    -1,
-      -1,   907,    -1,    -1,   266,    52,   908,    -1,   909,    -1,
-     908,   458,   909,    -1,   984,   400,  1018,   748,    -1,   984,
-     747,   748,    -1,   912,   913,    -1,   913,   912,    -1,   912,
-      -1,   913,    -1,   910,    -1,    -1,   218,   914,    -1,   218,
-     914,   458,   915,    -1,   149,   919,   916,   918,   261,    -1,
-     258,   915,    -1,   258,   917,   918,    -1,   984,    -1,    26,
-      -1,   984,    -1,  1066,    -1,   454,   984,   455,    -1,    -1,
-     986,    -1,   324,    -1,   325,    -1,   151,    -1,   243,    -1,
-     167,    52,   921,    -1,    -1,   922,    -1,   921,   458,   922,
-      -1,   984,    -1,   923,    -1,   925,    -1,   924,    -1,   926,
-      -1,   454,   455,    -1,   323,   454,  1020,   455,    -1,    91,
-     454,  1020,   455,    -1,   168,   341,   454,   921,   455,    -1,
-     170,   984,    -1,    -1,   930,    -1,   154,   299,   261,    -1,
-     928,    -1,    -1,   931,    -1,   930,   931,    -1,   932,   933,
-     879,    -1,   154,   398,    -1,   154,   244,   206,   398,    -1,
-     154,   343,    -1,   154,   206,   343,    -1,   256,  1053,    -1,
-      -1,   406,  1049,    -1,   934,   458,  1049,    -1,   159,   936,
-      -1,    -1,   937,    -1,   936,   458,   937,    -1,   945,   940,
-      -1,   945,   940,   948,    -1,   950,   941,    -1,   211,   950,
-     941,    -1,   892,   940,    -1,   211,   892,   940,    -1,   938,
-      -1,   454,   938,   455,   939,    -1,   454,   938,   455,    -1,
-     937,    89,   205,   937,    -1,   937,   942,   205,   937,   944,
-      -1,   937,   205,   937,   944,    -1,   937,   241,   942,   205,
-     937,    -1,   937,   241,   205,   937,    -1,    35,  1070,   454,
-    1055,   455,    -1,    35,  1070,    -1,  1070,   454,  1055,   455,
-      -1,  1070,    -1,   939,    -1,    -1,   939,    -1,    35,   454,
-     958,   455,    -1,    35,  1070,   454,   958,   455,    -1,  1070,
-     454,   958,   455,    -1,    -1,   160,   943,    -1,   215,   943,
-      -1,   320,   943,    -1,   190,    -1,   269,    -1,    -1,   400,
-     454,  1055,   455,    -1,   260,   984,    -1,  1054,    -1,  1054,
-     447,    -1,   261,  1054,    -1,   261,   454,  1054,   455,    -1,
-     945,    -1,   946,   458,   945,    -1,   945,    -1,   945,  1070,
-      -1,   945,    35,  1070,    -1,   368,  1062,   454,  1020,   455,
-     949,    -1,   311,   454,   984,   455,    -1,    -1,   989,   954,
-      -1,   325,   159,   454,   952,   455,   954,    -1,   989,   953,
-      -1,   951,    -1,   952,   458,   951,    -1,    35,   454,   958,
-     455,    -1,    -1,   440,   267,    -1,    -1,   416,   984,    -1,
-      -1,   416,   984,    -1,   416,    92,   256,   888,    -1,    -1,
-     958,    -1,    -1,   959,    -1,   958,   458,   959,    -1,  1070,
-     960,   514,    -1,   962,   961,    -1,   342,   962,   961,    -1,
-     962,    34,   452,  1064,   453,    -1,   342,   962,    34,   452,
-    1064,   453,    -1,   962,    34,    -1,   342,   962,    34,    -1,
-     961,   452,   453,    -1,   961,   452,  1064,   453,    -1,    -1,
-     964,    -1,   966,    -1,   968,    -1,   972,    -1,   979,    -1,
-     980,   982,    -1,   980,   454,  1064,   455,    -1,   966,    -1,
-     969,    -1,   973,    -1,   979,    -1,  1071,   965,    -1,  1071,
-     703,   965,    -1,   454,  1020,   455,    -1,    -1,   196,    -1,
-     197,    -1,   348,    -1,    47,    -1,   300,    -1,   152,   967,
-      -1,   126,   287,    -1,   107,   965,    -1,   106,   965,    -1,
-     254,   965,    -1,    50,    -1,   454,  1064,   455,    -1,    -1,
-     970,    -1,   971,    -1,   970,    -1,   971,    -1,    49,   977,
-     454,  1020,   455,    -1,    49,   977,    -1,   974,    -1,   975,
-      -1,   974,    -1,   975,    -1,   976,   454,  1064,   455,   978,
-      -1,   976,   978,    -1,    62,   977,    -1,    61,   977,    -1,
-     407,    -1,   240,    62,   977,    -1,   240,    61,   977,    -1,
-     242,   977,    -1,   409,    -1,    -1,    62,   340,  1070,    -1,
-      -1,   376,   454,  1064,   455,   981,    -1,   376,   981,    -1,
-     375,   454,  1064,   455,   981,    -1,   375,   981,    -1,   199,
-      -1,   440,   375,   437,    -1,   421,   375,   437,    -1,    -1,
-     435,    -1,   236,    -1,   104,    -1,   173,    -1,   233,    -1,
-     983,    -1,   435,   377,   236,    -1,   104,   377,   173,    -1,
-     104,   377,   233,    -1,   104,   377,   983,    -1,   173,   377,
-     233,    -1,   173,   377,   983,    -1,   233,   377,   983,    -1,
-      -1,   331,    -1,   331,   454,  1064,   455,    -1,   986,    -1,
-     984,    11,   960,    -1,   984,    70,   702,    -1,   984,    40,
-     375,   437,   984,    -1,   445,   984,    -1,   446,   984,    -1,
-     984,   445,   984,    -1,   984,   446,   984,    -1,   984,   447,
-     984,    -1,   984,   448,   984,    -1,   984,   449,   984,    -1,
-     984,   450,   984,    -1,   984,   441,   984,    -1,   984,   442,
-     984,    -1,   984,   443,   984,    -1,   984,    15,   984,    -1,
-     984,    16,   984,    -1,   984,    17,   984,    -1,   984,  1017,
-     984,    -1,  1017,   984,    -1,   984,  1017,    -1,   984,    32,
-     984,    -1,   984,   265,   984,    -1,   246,   984,    -1,   438,
-     984,    -1,   984,   217,   984,    -1,   984,   217,   984,   135,
-     984,    -1,   984,   438,   217,   984,    -1,   984,   438,   217,
-     984,   135,   984,    -1,   984,   176,   984,    -1,   984,   176,
-     984,   135,   984,    -1,   984,   438,   176,   984,    -1,   984,
-     438,   176,   984,   135,   984,    -1,   984,   345,   377,   984,
-      -1,   984,   345,   377,   984,   135,   984,    -1,   984,   438,
-     345,   377,   984,    -1,   984,   438,   345,   377,   984,   135,
-     984,    -1,   984,   202,   251,    -1,   984,   203,    -1,   984,
-     202,   246,   251,    -1,   984,   249,    -1,  1011,   271,  1011,
-      -1,   984,   202,   384,    -1,   984,   202,   246,   384,    -1,
-     984,   202,   147,    -1,   984,   202,   246,   147,    -1,   984,
-     202,   394,    -1,   984,   202,   246,   394,    -1,   984,   202,
-     122,   159,   984,    -1,   984,   202,   246,   122,   159,   984,
-      -1,   984,   202,   256,   454,  1023,   455,    -1,   984,   202,
-     246,   256,   454,  1023,   455,    -1,   984,    46,  1046,   985,
-      32,   984,    -1,   984,   438,    46,  1046,   985,    32,   984,
-      -1,   984,    46,   363,   985,    32,   984,    -1,   984,   438,
-      46,   363,   985,    32,   984,    -1,   984,   181,  1035,    -1,
-     984,   438,   181,  1035,    -1,   984,  1019,  1014,   892,    -1,
-     984,  1019,  1014,   454,   984,   455,    -1,   393,   892,    -1,
-     984,   202,   124,    -1,   984,   202,   246,   124,    -1,   986,
-      -1,   985,    11,   960,    -1,   445,   985,    -1,   446,   985,
-      -1,   985,   445,   985,    -1,   985,   446,   985,    -1,   985,
-     447,   985,    -1,   985,   448,   985,    -1,   985,   449,   985,
-      -1,   985,   450,   985,    -1,   985,   441,   985,    -1,   985,
-     442,   985,    -1,   985,   443,   985,    -1,   985,    15,   985,
-      -1,   985,    16,   985,    -1,   985,    17,   985,    -1,   985,
-    1017,   985,    -1,  1017,   985,    -1,   985,  1017,    -1,   985,
-     202,   122,   159,   985,    -1,   985,   202,   246,   122,   159,
-     985,    -1,   985,   202,   256,   454,  1023,   455,    -1,   985,
-     202,   246,   256,   454,  1023,   455,    -1,   985,   202,   124,
-      -1,   985,   202,   246,   124,    -1,  1041,    -1,  1063,    -1,
-      10,  1045,    -1,   454,   984,   455,  1045,    -1,  1036,    -1,
-     988,    -1,   892,    -1,   892,  1044,    -1,   142,   892,    -1,
-      34,   892,    -1,    34,  1024,    -1,  1012,    -1,  1013,    -1,
-     168,   454,  1020,   455,    -1,  1062,   454,   455,    -1,  1062,
-     454,  1021,   906,   455,    -1,  1062,   454,   408,  1022,   906,
-     455,    -1,  1062,   454,  1021,   458,   408,  1022,   906,   455,
-      -1,  1062,   454,    26,  1021,   906,   455,    -1,  1062,   454,
-     122,  1021,   906,   455,    -1,  1062,   454,   447,   455,    -1,
-     987,   999,  1000,  1004,    -1,   990,    -1,   987,    -1,   990,
-      -1,    71,   154,   454,   984,   455,    -1,    94,    -1,    97,
-      -1,    97,   454,  1064,   455,    -1,    98,    -1,    98,   454,
-    1064,   455,    -1,   222,    -1,   222,   454,  1064,   455,    -1,
-     223,    -1,   223,   454,  1064,   455,    -1,    95,    -1,    99,
-      -1,   339,    -1,   399,    -1,    93,    -1,    96,    -1,    58,
-     454,   984,    35,   960,   455,    -1,   146,   454,  1026,   455,
-      -1,   272,   454,  1028,   455,    -1,   285,   454,  1030,   455,
-      -1,   362,   454,  1031,   455,    -1,   381,   454,   984,    35,
-     960,   455,    -1,   383,   454,    51,  1034,   455,    -1,   383,
-     454,   212,  1034,   455,    -1,   383,   454,   378,  1034,   455,
-      -1,   383,   454,  1034,   455,    -1,   252,   454,   984,   458,
-     984,   455,    -1,    69,   454,  1020,   455,    -1,   166,   454,
-    1020,   455,    -1,   214,   454,  1020,   455,    -1,   427,   454,
-    1020,   455,    -1,   428,   454,   238,  1073,   455,    -1,   428,
-     454,   238,  1073,   458,   993,   455,    -1,   428,   454,   238,
-    1073,   458,  1020,   455,    -1,   428,   454,   238,  1073,   458,
-     993,   458,  1020,   455,    -1,   429,   454,   986,   998,   455,
-      -1,   430,   454,   994,   455,    -1,   431,   454,   996,   984,
-     997,   455,    -1,   432,   454,   238,  1073,   455,    -1,   432,
-     454,   238,  1073,   458,   984,   455,    -1,   433,   454,   984,
-     458,   991,   992,   455,    -1,   434,   454,   996,   984,    35,
-     962,   455,    -1,   411,   984,    -1,   411,   244,   405,    -1,
-     458,   353,   436,    -1,   458,   353,   244,    -1,   458,   353,
-     244,   405,    -1,    -1,   426,   454,   994,   455,    -1,   995,
-      -1,   994,   458,   995,    -1,   984,    35,  1073,    -1,   984,
-      -1,   124,    -1,    83,    -1,   288,   417,    -1,   361,   417,
-      -1,    -1,   279,   986,    -1,   279,   986,    52,   304,    -1,
-     279,    52,   304,   986,    -1,   279,    52,   304,   986,    52,
-     304,    -1,   420,   167,   454,   907,   455,    -1,    -1,   150,
-     454,   416,   984,   455,    -1,    -1,   418,  1002,    -1,    -1,
-    1003,    -1,  1002,   458,  1003,    -1,  1070,    35,  1005,    -1,
-     270,  1005,    -1,   270,  1070,    -1,    -1,   454,  1006,  1007,
-     906,  1008,   455,    -1,  1070,    -1,    -1,   278,    52,  1020,
-      -1,    -1,   298,  1009,    -1,   325,  1009,    -1,    -1,  1010,
-      -1,    46,  1010,    32,  1010,    -1,   389,   286,    -1,   389,
-     153,    -1,    92,   324,    -1,   984,   286,    -1,   984,   153,
-      -1,   324,   454,  1020,   455,    -1,   324,   454,   455,    -1,
-     454,  1020,   458,   984,   455,    -1,   324,   454,  1020,   455,
-      -1,   324,   454,   455,    -1,   454,  1020,   458,   984,   455,
-      -1,    33,    -1,   350,    -1,    26,    -1,     8,    -1,  1016,
-      -1,   445,    -1,   446,    -1,   447,    -1,   448,    -1,   449,
-      -1,   450,    -1,   441,    -1,   442,    -1,   443,    -1,    15,
-      -1,    16,    -1,    17,    -1,     8,    -1,   262,   454,   779,
-     455,    -1,  1015,    -1,   262,   454,   779,   455,    -1,  1015,
-      -1,   262,   454,   779,   455,    -1,   217,    -1,   438,   217,
-      -1,   176,    -1,   438,   176,    -1,   984,    -1,  1020,   458,
-     984,    -1,  1022,    -1,  1021,   458,  1022,    -1,   984,    -1,
-     757,    13,   984,    -1,   757,    14,   984,    -1,   960,    -1,
-    1023,   458,   960,    -1,   452,  1020,   453,    -1,   452,  1025,
-     453,    -1,   452,   453,    -1,  1024,    -1,  1025,   458,  1024,
-      -1,  1027,   159,   984,    -1,    -1,     3,    -1,   435,    -1,
-     236,    -1,   104,    -1,   173,    -1,   233,    -1,   331,    -1,
-    1065,    -1,   984,  1029,  1032,  1033,    -1,   984,  1029,  1032,
-      -1,   282,   984,    -1,   985,   181,   985,    -1,    -1,   984,
-    1032,  1033,    -1,   984,  1033,  1032,    -1,   984,  1032,    -1,
-     984,  1033,    -1,  1020,    -1,    -1,   159,   984,    -1,   154,
-     984,    -1,   984,   159,  1020,    -1,   159,  1020,    -1,  1020,
-      -1,   892,    -1,   454,  1020,   455,    -1,    57,  1040,  1037,
-    1039,   133,    -1,  1038,    -1,  1037,  1038,    -1,   415,   984,
-     374,   984,    -1,   129,   984,    -1,    -1,   984,    -1,    -1,
-    1070,    -1,  1070,  1044,    -1,   456,  1059,    -1,   456,   447,
-      -1,   452,   984,   453,    -1,   452,  1043,   459,  1043,   453,
-      -1,   984,    -1,    -1,  1042,    -1,  1044,  1042,    -1,    -1,
-    1045,  1042,    -1,    39,    -1,    -1,   984,    -1,   109,    -1,
-    1047,    -1,  1048,   458,  1047,    -1,   454,  1048,   455,    -1,
-    1051,    -1,    -1,  1052,    -1,  1051,   458,  1052,    -1,   984,
-      35,  1073,    -1,   984,     3,    -1,   984,    -1,   447,    -1,
-    1054,    -1,  1053,   458,  1054,    -1,  1070,    -1,  1070,  1044,
-      -1,  1056,    -1,  1055,   458,  1056,    -1,  1070,    -1,  1070,
-      -1,  1070,    -1,  1073,    -1,  1070,    -1,  1065,    -1,  1071,
-      -1,  1070,  1044,    -1,  1064,    -1,     4,    -1,  1065,    -1,
-       6,    -1,     7,    -1,  1062,  1065,    -1,  1062,   454,  1021,
-     906,   455,  1065,    -1,   963,  1065,    -1,   980,  1065,   982,
-      -1,   980,   454,  1064,   455,  1065,    -1,   384,    -1,   147,
-      -1,   251,    -1,     9,    -1,     5,    -1,  1064,    -1,   445,
-    1064,    -1,   446,  1064,    -1,  1068,    -1,  1072,    -1,    99,
-      -1,   339,    -1,  1068,    -1,  1069,   458,  1068,    -1,     3,
-      -1,  1074,    -1,  1075,    -1,     3,    -1,  1074,    -1,  1076,
-      -1,     3,    -1,  1074,    -1,  1075,    -1,  1076,    -1,     3,
-      -1,  1074,    -1,  1075,    -1,  1076,    -1,  1077,    -1,    18,
-      -1,    19,    -1,    20,    -1,    21,    -1,    22,    -1,    23,
-      -1,    24,    -1,    25,    -1,    27,    -1,    28,    -1,    29,
-      -1,    37,    -1,    38,    -1,    40,    -1,    41,    -1,    43,
-      -1,    44,    -1,    45,    -1,    52,    -1,    53,    -1,    54,
-      -1,    55,    -1,    56,    -1,    59,    -1,    60,    -1,    63,
-      -1,    65,    -1,    66,    -1,    67,    -1,    68,    -1,    73,
-      -1,    74,    -1,    75,    -1,    76,    -1,    78,    -1,    79,
-      -1,    80,    -1,    82,    -1,    83,    -1,    84,    -1,    85,
-      -1,    86,    -1,    87,    -1,    90,    -1,    91,    -1,    92,
-      -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,
-      -1,   105,    -1,   108,    -1,   110,    -1,   112,    -1,   113,
-      -1,   114,    -1,   115,    -1,   116,    -1,   117,    -1,   119,
-      -1,   120,    -1,   121,    -1,   124,    -1,   125,    -1,   126,
-      -1,   127,    -1,   128,    -1,   130,    -1,   131,    -1,   132,
-      -1,   134,    -1,   135,    -1,   136,    -1,   138,    -1,   139,
-      -1,   140,    -1,   141,    -1,   143,    -1,   144,    -1,   145,
-      -1,   148,    -1,   150,    -1,   151,    -1,   153,    -1,   155,
-      -1,   157,    -1,   161,    -1,   162,    -1,   163,    -1,   165,
-      -1,   169,    -1,   171,    -1,   172,    -1,   173,    -1,   174,
-      -1,   175,    -1,   177,    -1,   178,    -1,   179,    -1,   180,
-      -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,   186,
-      -1,   187,    -1,   189,    -1,   192,    -1,   193,    -1,   194,
-      -1,   195,    -1,   201,    -1,   204,    -1,   206,    -1,   207,
-      -1,   208,    -1,   209,    -1,   210,    -1,   213,    -1,   216,
-      -1,   219,    -1,   220,    -1,   221,    -1,   224,    -1,   225,
-      -1,   226,    -1,   227,    -1,   228,    -1,   229,    -1,   230,
-      -1,   231,    -1,   232,    -1,   233,    -1,   234,    -1,   235,
-      -1,   236,    -1,   237,    -1,   238,    -1,   239,    -1,   243,
-      -1,   244,    -1,   247,    -1,   248,    -1,   250,    -1,   253,
-      -1,   255,    -1,   256,    -1,   257,    -1,   259,    -1,   262,
-      -1,   263,    -1,   264,    -1,   267,    -1,   270,    -1,   273,
-      -1,   274,    -1,   275,    -1,   276,    -1,   277,    -1,   278,
-      -1,   279,    -1,   280,    -1,   283,    -1,   284,    -1,   286,
-      -1,   289,    -1,   290,    -1,   288,    -1,   292,    -1,   293,
-      -1,   294,    -1,   295,    -1,   296,    -1,   297,    -1,   298,
-      -1,   299,    -1,   301,    -1,   302,    -1,   303,    -1,   304,
-      -1,   306,    -1,   307,    -1,   308,    -1,   309,    -1,   310,
-      -1,   311,    -1,   312,    -1,   313,    -1,   314,    -1,   315,
-      -1,   316,    -1,   318,    -1,   319,    -1,   321,    -1,   322,
-      -1,   323,    -1,   325,    -1,   326,    -1,   327,    -1,   328,
-      -1,   329,    -1,   330,    -1,   331,    -1,   332,    -1,   334,
-      -1,   335,    -1,   336,    -1,   337,    -1,   338,    -1,   340,
-      -1,   341,    -1,   343,    -1,   344,    -1,   346,    -1,   347,
-      -1,   349,    -1,   351,    -1,   352,    -1,   353,    -1,   354,
-      -1,   355,    -1,   356,    -1,   357,    -1,   358,    -1,   359,
-      -1,   360,    -1,   361,    -1,   364,    -1,   365,    -1,   367,
-      -1,   369,    -1,   370,    -1,   371,    -1,   372,    -1,   373,
-      -1,   379,    -1,   380,    -1,   382,    -1,   385,    -1,   386,
-      -1,   387,    -1,   388,    -1,   389,    -1,   390,    -1,   391,
-      -1,   394,    -1,   395,    -1,   396,    -1,   397,    -1,   398,
-      -1,   401,    -1,   402,    -1,   403,    -1,   404,    -1,   405,
-      -1,   409,    -1,   411,    -1,   412,    -1,   413,    -1,   414,
-      -1,   417,    -1,   420,    -1,   421,    -1,   422,    -1,   423,
-      -1,   424,    -1,   425,    -1,   435,    -1,   436,    -1,   437,
-      -1,    46,    -1,    47,    -1,    49,    -1,    50,    -1,    61,
-      -1,    62,    -1,    69,    -1,   106,    -1,   107,    -1,   142,
-      -1,   146,    -1,   152,    -1,   166,    -1,   168,    -1,   191,
-      -1,   196,    -1,   197,    -1,   199,    -1,   214,    -1,   240,
-      -1,   242,    -1,   245,    -1,   252,    -1,   254,    -1,   268,
-      -1,   272,    -1,   285,    -1,   287,    -1,   300,    -1,   324,
-      -1,   342,    -1,   348,    -1,   362,    -1,   375,    -1,   376,
-      -1,   381,    -1,   383,    -1,   406,    -1,   407,    -1,   426,
-      -1,   427,    -1,   428,    -1,   429,    -1,   430,    -1,   431,
-      -1,   432,    -1,   433,    -1,   434,    -1,    42,    -1,    48,
-      -1,    71,    -1,    77,    -1,    89,    -1,    96,    -1,   158,
-      -1,   160,    -1,   176,    -1,   190,    -1,   202,    -1,   203,
-      -1,   205,    -1,   215,    -1,   217,    -1,   241,    -1,   249,
-      -1,   269,    -1,   271,    -1,   320,    -1,   345,    -1,   368,
-      -1,   410,    -1,    26,    -1,    30,    -1,    31,    -1,    32,
-      -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,    39,
-      -1,    51,    -1,    57,    -1,    58,    -1,    64,    -1,    70,
-      -1,    72,    -1,    81,    -1,    88,    -1,    93,    -1,    94,
-      -1,    95,    -1,    97,    -1,    98,    -1,    99,    -1,   109,
-      -1,   111,    -1,   118,    -1,   122,    -1,   123,    -1,   129,
-      -1,   133,    -1,   137,    -1,   147,    -1,   149,    -1,   154,
-      -1,   156,    -1,   159,    -1,   164,    -1,   167,    -1,   170,
-      -1,   181,    -1,   188,    -1,   198,    -1,   200,    -1,   211,
-      -1,   212,    -1,   218,    -1,   222,    -1,   223,    -1,   246,
-      -1,   251,    -1,   258,    -1,   260,    -1,   261,    -1,   265,
-      -1,   266,    -1,   282,    -1,   291,    -1,   305,    -1,   317,
-      -1,   333,    -1,   339,    -1,   350,    -1,   363,    -1,   366,
-      -1,   374,    -1,   377,    -1,   378,    -1,   384,    -1,   392,
-      -1,   393,    -1,   399,    -1,   400,    -1,   408,    -1,   415,
-      -1,   416,    -1,   418,    -1,   419,    -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   769,   769,   776,   783,   793,   794,   795,   796,   797,
-     798,   799,   800,   801,   802,   803,   804,   805,   806,   807,
-     808,   809,   810,   811,   812,   813,   814,   815,   816,   817,
-     818,   819,   820,   821,   822,   823,   824,   825,   826,   827,
-     828,   829,   830,   831,   832,   833,   834,   835,   836,   837,
-     838,   839,   840,   841,   842,   843,   844,   845,   846,   847,
-     848,   849,   850,   851,   852,   853,   854,   855,   856,   857,
-     858,   859,   860,   861,   862,   863,   864,   865,   866,   867,
-     868,   869,   870,   871,   872,   873,   874,   875,   876,   877,
-     878,   879,   880,   881,   882,   883,   884,   885,   886,   887,
-     888,   889,   890,   891,   892,   893,   894,   895,   896,   897,
-     898,   899,   900,   901,   902,   903,   904,   905,   906,   907,
-     908,   909,   910,   911,   912,   913,   914,   915,   916,   917,
-     919,   929,   940,   941,   942,   951,   952,   956,   957,   961,
-     966,   970,   975,   980,   984,   988,   993,   997,  1045,  1047,
-    1051,  1055,  1059,  1063,  1077,  1095,  1106,  1107,  1111,  1119,
-    1137,  1149,  1170,  1177,  1196,  1203,  1220,  1238,  1249,  1250,
-    1262,  1269,  1286,  1296,  1306,  1321,  1339,  1340,  1344,  1351,
-    1359,  1360,  1361,  1362,  1363,  1364,  1378,  1385,  1391,  1397,
-    1406,  1414,  1422,  1426,  1434,  1442,  1449,  1458,  1459,  1467,
-    1478,  1486,  1494,  1505,  1513,  1521,  1528,  1537,  1547,  1548,
-    1552,  1553,  1556,  1558,  1562,  1563,  1564,  1565,  1569,  1570,
-    1571,  1577,  1589,  1593,  1597,  1612,  1619,  1620,  1621,  1625,
-    1626,  1627,  1631,  1632,  1636,  1637,  1646,  1647,  1654,  1661,
-    1671,  1678,  1688,  1689,  1694,  1695,  1701,  1707,  1713,  1719,
-    1725,  1731,  1737,  1747,  1757,  1758,  1762,  1763,  1771,  1786,
-    1792,  1798,  1804,  1810,  1829,  1838,  1847,  1858,  1869,  1878,
-    1887,  1898,  1909,  1918,  1927,  1936,  1945,  1954,  1963,  1974,
-    1988,  1989,  1994,  2003,  2012,  2021,  2030,  2039,  2047,  2055,
-    2064,  2073,  2082,  2091,  2101,  2114,  2129,  2138,  2147,  2162,
-    2170,  2180,  2190,  2197,  2204,  2212,  2220,  2227,  2234,  2242,
-    2250,  2258,  2265,  2272,  2280,  2287,  2294,  2302,  2310,  2318,
-    2326,  2334,  2342,  2352,  2359,  2367,  2375,  2383,  2391,  2399,
-    2406,  2413,  2420,  2426,  2436,  2437,  2441,  2442,  2443,  2447,
-    2455,  2459,  2460,  2464,  2471,  2478,  2485,  2495,  2498,  2499,
-    2503,  2504,  2509,  2513,  2517,  2522,  2537,  2550,  2551,  2556,
-    2565,  2575,  2585,  2611,  2617,  2650,  2679,  2701,  2702,  2706,
-    2707,  2716,  2717,  2718,  2721,  2722,  2727,  2728,  2732,  2736,
-    2740,  2744,  2748,  2752,  2756,  2760,  2764,  2768,  2772,  2776,
-    2780,  2784,  2793,  2797,  2801,  2805,  2809,  2813,  2817,  2818,
-    2823,  2827,  2834,  2841,  2842,  2843,  2844,  2845,  2849,  2853,
-    2861,  2872,  2888,  2905,  2922,  2952,  2953,  2954,  2955,  2956,
-    2963,  2970,  2971,  2975,  2976,  2980,  2981,  2985,  2989,  2996,
-    3000,  3007,  3008,  3009,  3013,  3014,  3017,  3038,  3059,  3060,
-    3064,  3072,  3073,  3074,  3105,  3112,  3119,  3130,  3141,  3153,
-    3164,  3197,  3204,  3211,  3218,  3229,  3239,  3240,  3241,  3245,
-    3246,  3247,  3248,  3249,  3250,  3259,  3267,  3271,  3284,  3299,
-    3313,  3328,  3342,  3360,  3381,  3382,  3386,  3387,  3391,  3392,
-    3395,  3401,  3405,  3413,  3418,  3424,  3425,  3429,  3434,  3441,
-    3442,  3452,  3454,  3456,  3458,  3461,  3464,  3467,  3471,  3472,
-    3473,  3474,  3475,  3478,  3479,  3484,  3485,  3486,  3487,  3490,
-    3491,  3492,  3493,  3496,  3497,  3500,  3501,  3504,  3519,  3532,
-    3548,  3562,  3563,  3564,  3576,  3589,  3605,  3618,  3619,  3631,
-    3651,  3661,  3674,  3682,  3693,  3694,  3697,  3698,  3701,  3705,
-    3709,  3713,  3717,  3721,  3725,  3729,  3733,  3737,  3741,  3745,
-    3751,  3752,  3756,  3757,  3762,  3765,  3766,  3778,  3790,  3805,
-    3806,  3814,  3815,  3819,  3820,  3824,  3825,  3829,  3830,  3834,
-    3845,  3858,  3859,  3869,  3880,  3881,  3894,  3901,  3918,  3926,
-    3937,  3940,  3944,  3948,  3952,  3956,  3968,  3978,  3981,  3985,
-    3998,  4008,  4018,  4027,  4036,  4045,  4055,  4064,  4074,  4083,
-    4092,  4101,  4110,  4119,  4128,  4137,  4146,  4155,  4164,  4173,
-    4182,  4191,  4200,  4209,  4219,  4237,  4248,  4249,  4250,  4251,
-    4255,  4256,  4260,  4261,  4271,  4282,  4302,  4310,  4322,  4323,
-    4327,  4331,  4339,  4343,  4347,  4354,  4358,  4363,  4368,  4375,
-    4382,  4387,  4397,  4411,  4412,  4417,  4418,  4422,  4423,  4433,
-    4444,  4464,  4473,  4481,  4498,  4518,  4548,  4557,  4578,  4593,
-    4594,  4598,  4606,  4621,  4632,  4633,  4643,  4651,  4668,  4690,
-    4706,  4720,  4731,  4745,  4746,  4750,  4751,  4755,  4756,  4760,
-    4761,  4765,  4766,  4770,  4771,  4772,  4773,  4774,  4784,  4803,
-    4823,  4848,  4849,  4850,  4854,  4856,  4878,  4880,  4882,  4884,
-    4886,  4891,  4896,  4906,  4907,  4911,  4912,  4916,  4917,  4921,
-    4922,  4923,  4927,  4931,  4932,  4933,  4937,  4938,  4943,  4944,
-    4971,  4972,  4973,  4974,  4975,  4976,  4981,  4992,  5015,  5025,
-    5039,  5041,  5046,  5051,  5053,  5058,  5068,  5069,  5070,  5071,
-    5083,  5103,  5126,  5136,  5147,  5157,  5167,  5178,  5187,  5194,
-    5201,  5210,  5219,  5228,  5237,  5246,  5257,  5260,  5261,  5264,
-    5268,  5275,  5276,  5277,  5278,  5279,  5282,  5285,  5286,  5294,
-    5301,  5302,  5305,  5307,  5318,  5328,  5338,  5350,  5351,  5367,
-    5382,  5383,  5387,  5397,  5408,  5417,  5427,  5436,  5437,  5440,
-    5441,  5444,  5445,  5446,  5449,  5463,  5468,  5478,  5487,  5499,
-    5500,  5504,  5512,  5524,  5534,  5547,  5557,  5579,  5589,  5607,
-    5618,  5629,  5639,  5649,  5659,  5669,  5680,  5694,  5695,  5696,
-    5697,  5698,  5699,  5700,  5701,  5702,  5703,  5704,  5705,  5706,
-    5707,  5708,  5709,  5713,  5714,  5717,  5718,  5721,  5723,  5728,
-    5729,  5739,  5750,  5751,  5752,  5786,  5795,  5804,  5813,  5822,
-    5831,  5840,  5849,  5863,  5872,  5881,  5891,  5900,  5909,  5917,
-    5926,  5935,  5944,  5956,  5957,  5958,  5959,  5960,  5961,  5962,
-    5963,  5964,  5965,  5966,  5967,  5968,  5969,  5970,  5971,  5972,
-    5973,  5974,  5975,  5976,  5977,  5981,  5982,  5996,  6007,  6018,
-    6029,  6040,  6051,  6062,  6075,  6076,  6080,  6081,  6082,  6083,
-    6084,  6085,  6086,  6087,  6088,  6089,  6090,  6093,  6094,  6104,
-    6110,  6118,  6126,  6134,  6142,  6150,  6158,  6166,  6174,  6182,
-    6190,  6198,  6206,  6214,  6222,  6230,  6238,  6248,  6249,  6252,
-    6253,  6263,  6279,  6293,  6319,  6321,  6323,  6325,  6332,  6341,
-    6342,  6345,  6352,  6359,  6366,  6380,  6388,  6396,  6404,  6412,
-    6420,  6428,  6436,  6444,  6452,  6460,  6468,  6476,  6484,  6492,
-    6500,  6512,  6513,  6517,  6518,  6523,  6524,  6528,  6529,  6534,
-    6550,  6563,  6573,  6585,  6586,  6589,  6590,  6600,  6610,  6611,
-    6615,  6619,  6623,  6634,  6647,  6661,  6678,  6679,  6680,  6681,
-    6693,  6719,  6748,  6749,  6753,  6754,  6758,  6759,  6763,  6764,
-    6767,  6768,  6776,  6787,  6798,  6811,  6812,  6815,  6816,  6819,
-    6820,  6821,  6824,  6825,  6826,  6842,  6854,  6867,  6882,  6883,
-    6886,  6887,  6891,  6892,  6900,  6901,  6905,  6906,  6921,  6930,
-    6939,  6948,  6957,  6969,  6970,  6971,  6972,  6973,  6979,  6983,
-    6998,  6999,  7005,  7015,  7019,  7024,  7032,  7073,  7077,  7081,
-    7085,  7093,  7094,  7099,  7100,  7107,  7111,  7115,  7119,  7123,
-    7127,  7131,  7135,  7139,  7143,  7147,  7151,  7155,  7159,  7163,
-    7168,  7175,  7179,  7183,  7187,  7191,  7197,  7198,  7205,  7206,
-    7210,  7211,  7214,  7226,  7230,  7245,  7256,  7257,  7262,  7263,
-    7278,  7289,  7303,  7314,  7328,  7339,  7353,  7361,  7363,  7365,
-    7370,  7372,  7385,  7394,  7395,  7399,  7403,  7415,  7426,  7437,
-    7450,  7451,  7452,  7456,  7469,  7470,  7480,  7492,  7496,  7500,
-    7504,  7511,  7532,  7541,  7550,  7559,  7570,  7571,  7574,  7575,
-    7576,  7579,  7580,  7583,  7593,  7602,  7619,  7629,  7638,  7647,
-    7656,  7665,  7674,  7683,  7693,  7702,  7711,  7720,  7729,  7739,
-    7749,  7758,  7767,  7777,  7787,  7797,  7807,  7817,  7827,  7837,
-    7847,  7857,  7867,  7877,  7887,  7898,  7909,  7920,  7931,  7941,
-    7951,  7962,  7973,  7983,  7993,  8001,  8010,  8019,  8028,  8037,
-    8046,  8055,  8064,  8073,  8087,  8088,  8091,  8092,  8102,  8112,
-    8122,  8132,  8151,  8161,  8170,  8179,  8188,  8197,  8207,  8217,
-    8226,  8235,  8244,  8253,  8262,  8271,  8280,  8289,  8298,  8307,
-    8316,  8325,  8334,  8343,  8352,  8361,  8379,  8389,  8390,  8393,
-    8395,  8405,  8414,  8422,  8430,  8438,  8446,  8455,  8463,  8471,
-    8480,  8488,  8496,  8504,  8512,  8520,  8528,  8536,  8544,  8552,
-    8569,  8586,  8587,  8588,  8593,  8599,  8608,  8609,  8610,  8611,
-    8612,  8616,  8617,  8620,  8621,  8622,  8623,  8627,  8628,  8629,
-    8634,  8645,  8667,  8677,  8678,  8681,  8690,  8696,  8715,  8722,
-    8729,  8736,  8743,  8750,  8757,  8765,  8773,  8781,  8789,  8797,
-    8804,  8811,  8820,  8821,  8822,  8826,  8829,  8832,  8835,  8838,
-    8845,  8847,  8849,  8854,  8856,  8868,  8881,  8894,  8912,  8933,
-    8934,  8935,  8936,  8946,  8962,  8972,  8973,  8977,  8978,  8982,
-    8986,  8990,  9008,  9009,  9010,  9011,  9012,  9013,  9014,  9021,
-    9022,  9033,  9040,  9047,  9058,  9075,  9082,  9100,  9106,  9122,
-    9135,  9144,  9152,  9160,  9169,  9180,  9191,  9201,  9202,  9213,
-    9223,  9234,  9245,  9256,  9267,  9276,  9288,  9289,  9303,  9326,
-    9334,  9343,  9354,  9355,  9367,  9381,  9395,  9407,  9415,  9428,
-    9429,  9433,  9434,  9435,  9436,  9437,  9450,  9460,  9473,  9474,
-    9478,  9479,  9482,  9483,  9486,  9487,  9491,  9492,  9505,  9512,
-    9522,  9529,  9539,  9540,  9541,  9542,  9543,  9544,  9545,  9546,
-    9547,  9551,  9555,  9562,  9569,  9570,  9574,  9575,  9576,  9586,
-    9596,  9597,  9601,  9602,  9603,  9604,  9614,  9621,  9639,  9640,
-    9650,  9656,  9662,  9668,  9684,  9702,  9706,  9714,  9720,  9726,
-    9735,  9737,  9742,  9753,  9763,  9773,  9779,  9788,  9797,  9803,
-    9804,  9815,  9829,  9830,  9841,  9852,  9853,  9856,  9857,  9858,
-    9859,  9860,  9861,  9862,  9863,  9866,  9867,  9871,  9872,  9873,
-    9884,  9902,  9903,  9907,  9908,  9912,  9928,  9954,  9987,  9998,
-    9999, 10009, 10020, 10023, 10024, 10025, 10026, 10027, 10030, 10031,
-   10032, 10080, 10081, 10085, 10086, 10101, 10102, 10109, 10117, 10125,
-   10133, 10141, 10149, 10160, 10161, 10188, 10202, 10217, 10218, 10237,
-   10241, 10245, 10262, 10269, 10276, 10286, 10287, 10290, 10302, 10303,
-   10307, 10319, 10327, 10332, 10337, 10342, 10347, 10355, 10363, 10368,
-   10373, 10380, 10381, 10385, 10386, 10387, 10394, 10395, 10399, 10400,
-   10404, 10405, 10409, 10413, 10414, 10417, 10426, 10439, 10440, 10441,
-   10442, 10446, 10447, 10451, 10453, 10463, 10468, 10471, 10476, 10477,
-   10485, 10495, 10496, 10497, 10505, 10509, 10510, 10513, 10514, 10539,
-   10540, 10544, 10545, 10549, 10550, 10551, 10552, 10553, 10557, 10570,
-   10577, 10584, 10591, 10592, 10596, 10597, 10601, 10602, 10606, 10607,
-   10611, 10622, 10623, 10624, 10625, 10629, 10630, 10635, 10641, 10659,
-   10660, 10664, 10665, 10671, 10676, 10684, 10691, 10699, 10734, 10759,
-   10763, 10789, 10793, 10805, 10818, 10832, 10843, 10858, 10864, 10869,
-   10875, 10882, 10883, 10891, 10895, 10899, 10905, 10912, 10917, 10918,
-   10919, 10920, 10924, 10925, 10937, 10938, 10943, 10950, 10957, 10964,
-   10975, 10976, 10989, 10993, 11000, 11013, 11026, 11027, 11042, 11052,
-   11064, 11069, 11070, 11073, 11074, 11077, 11078, 11083, 11084, 11089,
-   11090, 11098, 11103, 11104, 11108, 11112, 11118, 11148, 11153, 11160,
-   11165, 11171, 11176, 11185, 11187, 11190, 11194, 11195, 11196, 11197,
-   11198, 11199, 11204, 11224, 11225, 11226, 11227, 11238, 11244, 11252,
-   11253, 11259, 11264, 11269, 11274, 11279, 11284, 11289, 11294, 11300,
-   11306, 11312, 11319, 11341, 11350, 11354, 11362, 11366, 11374, 11386,
-   11407, 11411, 11417, 11421, 11434, 11445, 11460, 11462, 11464, 11466,
-   11468, 11470, 11475, 11476, 11480, 11481, 11488, 11497, 11505, 11514,
-   11525, 11533, 11534, 11535, 11539, 11541, 11543, 11545, 11547, 11549,
-   11551, 11556, 11561, 11567, 11575, 11580, 11587, 11594, 11598, 11602,
-   11638, 11639, 11641, 11649, 11664, 11666, 11668, 11670, 11672, 11674,
-   11676, 11678, 11680, 11682, 11684, 11686, 11688, 11690, 11693, 11695,
-   11697, 11700, 11702, 11704, 11706, 11709, 11714, 11722, 11727, 11735,
-   11740, 11748, 11753, 11762, 11770, 11778, 11786, 11804, 11812, 11820,
-   11828, 11836, 11852, 11860, 11868, 11876, 11884, 11892, 11900, 11904,
-   11910, 11914, 11918, 11926, 11934, 11942, 11950, 11970, 11992, 12003,
-   12010, 12026, 12031, 12048, 12050, 12052, 12054, 12056, 12058, 12060,
-   12062, 12064, 12066, 12068, 12070, 12072, 12074, 12076, 12078, 12080,
-   12082, 12084, 12086, 12090, 12096, 12100, 12104, 12109, 12125, 12126,
-   12127, 12142, 12172, 12174, 12176, 12187, 12211, 12222, 12233, 12241,
-   12251, 12261, 12270, 12274, 12280, 12287, 12294, 12304, 12311, 12339,
-   12374, 12385, 12386, 12393, 12399, 12425, 12435, 12448, 12456, 12469,
-   12479, 12492, 12502, 12515, 12519, 12523, 12527, 12531, 12535, 12539,
-   12541, 12545, 12554, 12559, 12566, 12581, 12588, 12592, 12596, 12600,
-   12604, 12611, 12619, 12627, 12631, 12635, 12639, 12643, 12647, 12653,
-   12657, 12666, 12670, 12674, 12679, 12693, 12695, 12699, 12701, 12703,
-   12706, 12709, 12712, 12713, 12716, 12724, 12734, 12735, 12738, 12739,
-   12740, 12745, 12749, 12753, 12757, 12768, 12769, 12773, 12774, 12782,
-   12783, 12787, 12788, 12793, 12801, 12803, 12817, 12820, 12847, 12848,
-   12851, 12852, 12863, 12881, 12888, 12897, 12914, 12959, 12967, 12975,
-   12983, 12991, 13012, 13013, 13014, 13017, 13018, 13021, 13024, 13025,
-   13026, 13029, 13030, 13033, 13034, 13035, 13036, 13037, 13038, 13039,
-   13040, 13041, 13042, 13043, 13044, 13047, 13049, 13054, 13056, 13061,
-   13063, 13065, 13067, 13069, 13071, 13083, 13087, 13094, 13098, 13104,
-   13108, 13117, 13128, 13129, 13132, 13136, 13140, 13146, 13147, 13152,
-   13156, 13163, 13164, 13165, 13166, 13167, 13168, 13169, 13170, 13180,
-   13184, 13191, 13198, 13199, 13215, 13219, 13224, 13228, 13243, 13248,
-   13252, 13255, 13258, 13259, 13260, 13263, 13270, 13280, 13294, 13295,
-   13299, 13310, 13311, 13314, 13315, 13318, 13322, 13329, 13333, 13337,
-   13345, 13356, 13357, 13361, 13362, 13366, 13367, 13370, 13371, 13382,
-   13383, 13392, 13393, 13401, 13411, 13412, 13416, 13417, 13420, 13436,
-   13444, 13452, 13474, 13475, 13486, 13490, 13517, 13519, 13524, 13527,
-   13530, 13532, 13534, 13536, 13546, 13548, 13559, 13563, 13567, 13571,
-   13575, 13584, 13591, 13623, 13627, 13633, 13640, 13644, 13648, 13654,
-   13655, 13657, 13658, 13659, 13663, 13693, 13720, 13724, 13730, 13732,
-   13749, 13750, 13751, 13756, 13757, 13758, 13763, 13764, 13765, 13766,
-   13772, 13773, 13774, 13775, 13776, 13796, 13797, 13798, 13799, 13800,
-   13801, 13802, 13803, 13804, 13805, 13806, 13807, 13808, 13809, 13810,
-   13811, 13812, 13813, 13814, 13815, 13816, 13817, 13818, 13819, 13820,
-   13821, 13822, 13823, 13824, 13825, 13826, 13827, 13828, 13829, 13830,
-   13831, 13832, 13833, 13834, 13835, 13836, 13837, 13838, 13839, 13840,
-   13841, 13842, 13843, 13844, 13845, 13846, 13847, 13848, 13849, 13850,
-   13851, 13852, 13853, 13854, 13855, 13856, 13857, 13858, 13859, 13860,
-   13861, 13862, 13863, 13864, 13865, 13866, 13867, 13868, 13869, 13870,
-   13871, 13872, 13873, 13874, 13875, 13876, 13877, 13878, 13879, 13880,
-   13881, 13882, 13883, 13884, 13885, 13886, 13887, 13888, 13889, 13890,
-   13891, 13892, 13893, 13894, 13895, 13896, 13897, 13898, 13899, 13900,
-   13901, 13902, 13903, 13904, 13905, 13906, 13907, 13908, 13909, 13910,
-   13911, 13912, 13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920,
-   13921, 13922, 13923, 13924, 13925, 13926, 13927, 13928, 13929, 13930,
-   13931, 13932, 13933, 13934, 13935, 13936, 13937, 13938, 13939, 13940,
-   13941, 13942, 13943, 13944, 13945, 13946, 13947, 13948, 13949, 13950,
-   13951, 13952, 13953, 13954, 13955, 13956, 13957, 13958, 13959, 13960,
-   13961, 13962, 13963, 13964, 13965, 13966, 13967, 13968, 13969, 13970,
-   13971, 13972, 13973, 13974, 13975, 13976, 13977, 13978, 13979, 13980,
-   13981, 13982, 13983, 13984, 13985, 13986, 13987, 13988, 13989, 13990,
-   13991, 13992, 13993, 13994, 13995, 13996, 13997, 13998, 13999, 14000,
-   14001, 14002, 14003, 14004, 14005, 14006, 14007, 14008, 14009, 14010,
-   14011, 14012, 14013, 14014, 14015, 14016, 14017, 14018, 14019, 14020,
-   14021, 14022, 14023, 14024, 14025, 14026, 14027, 14028, 14029, 14030,
-   14031, 14032, 14033, 14034, 14035, 14036, 14037, 14038, 14039, 14040,
-   14041, 14042, 14043, 14044, 14045, 14046, 14047, 14048, 14049, 14050,
-   14051, 14052, 14053, 14054, 14055, 14056, 14057, 14058, 14059, 14060,
-   14061, 14062, 14063, 14064, 14065, 14066, 14080, 14081, 14082, 14083,
-   14084, 14085, 14086, 14087, 14088, 14089, 14090, 14091, 14092, 14093,
-   14094, 14095, 14096, 14097, 14098, 14099, 14100, 14101, 14102, 14103,
-   14104, 14105, 14106, 14107, 14108, 14109, 14110, 14111, 14112, 14113,
-   14114, 14115, 14116, 14117, 14118, 14119, 14120, 14121, 14122, 14123,
-   14124, 14125, 14126, 14127, 14141, 14142, 14143, 14144, 14145, 14146,
-   14147, 14148, 14149, 14150, 14151, 14152, 14153, 14154, 14155, 14156,
-   14157, 14158, 14159, 14160, 14161, 14162, 14163, 14173, 14174, 14175,
-   14176, 14177, 14178, 14179, 14180, 14181, 14182, 14183, 14184, 14185,
-   14186, 14187, 14188, 14189, 14190, 14191, 14192, 14193, 14194, 14195,
-   14196, 14197, 14198, 14199, 14200, 14201, 14202, 14203, 14204, 14205,
-   14206, 14207, 14208, 14209, 14210, 14211, 14212, 14213, 14214, 14215,
-   14216, 14217, 14218, 14219, 14220, 14221, 14222, 14223, 14224, 14225,
-   14226, 14227, 14228, 14229, 14230, 14231, 14232, 14233, 14234, 14235,
-   14236, 14237, 14238, 14239, 14240, 14241, 14242, 14243, 14244, 14245,
-   14246, 14247, 14248, 14249
+       0,   768,   768,   775,   782,   792,   793,   794,   795,   796,
+     797,   798,   799,   800,   801,   802,   803,   804,   805,   806,
+     807,   808,   809,   810,   811,   812,   813,   814,   815,   816,
+     817,   818,   819,   820,   821,   822,   823,   824,   825,   826,
+     827,   828,   829,   830,   831,   832,   833,   834,   835,   836,
+     837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
+     847,   848,   849,   850,   851,   852,   853,   854,   855,   856,
+     857,   858,   859,   860,   861,   862,   863,   864,   865,   866,
+     867,   868,   869,   870,   871,   872,   873,   874,   875,   876,
+     877,   878,   879,   880,   881,   882,   883,   884,   885,   886,
+     887,   888,   889,   890,   891,   892,   893,   894,   895,   896,
+     897,   898,   899,   900,   901,   902,   903,   904,   905,   906,
+     907,   908,   909,   910,   911,   912,   913,   914,   915,   916,
+     918,   928,   939,   940,   941,   950,   951,   955,   956,   960,
+     965,   969,   974,   979,   983,   987,   992,   996,  1044,  1046,
+    1050,  1054,  1058,  1062,  1076,  1094,  1105,  1106,  1110,  1118,
+    1136,  1148,  1169,  1176,  1195,  1202,  1219,  1237,  1248,  1249,
+    1261,  1268,  1285,  1295,  1305,  1320,  1338,  1339,  1343,  1350,
+    1358,  1359,  1360,  1361,  1362,  1363,  1377,  1384,  1390,  1396,
+    1405,  1413,  1421,  1425,  1433,  1441,  1448,  1457,  1458,  1466,
+    1477,  1485,  1493,  1504,  1512,  1520,  1527,  1536,  1546,  1547,
+    1551,  1552,  1555,  1557,  1561,  1562,  1563,  1564,  1568,  1569,
+    1570,  1576,  1588,  1592,  1596,  1611,  1618,  1619,  1620,  1624,
+    1625,  1626,  1630,  1631,  1635,  1636,  1645,  1646,  1653,  1660,
+    1670,  1677,  1687,  1688,  1693,  1694,  1700,  1706,  1712,  1718,
+    1724,  1730,  1736,  1746,  1756,  1757,  1761,  1762,  1770,  1785,
+    1791,  1797,  1803,  1809,  1828,  1837,  1846,  1857,  1868,  1877,
+    1886,  1897,  1908,  1917,  1926,  1935,  1944,  1953,  1962,  1973,
+    1987,  1988,  1993,  2002,  2011,  2020,  2029,  2038,  2046,  2054,
+    2063,  2072,  2081,  2090,  2100,  2113,  2128,  2137,  2146,  2161,
+    2169,  2179,  2189,  2196,  2203,  2211,  2219,  2226,  2233,  2241,
+    2249,  2257,  2264,  2271,  2279,  2286,  2293,  2301,  2309,  2317,
+    2325,  2333,  2341,  2351,  2358,  2366,  2374,  2382,  2390,  2398,
+    2405,  2412,  2419,  2425,  2435,  2436,  2440,  2441,  2442,  2446,
+    2454,  2458,  2459,  2463,  2470,  2477,  2484,  2494,  2497,  2498,
+    2502,  2503,  2508,  2512,  2516,  2521,  2536,  2549,  2550,  2555,
+    2564,  2574,  2584,  2610,  2616,  2649,  2678,  2700,  2701,  2705,
+    2706,  2715,  2716,  2717,  2720,  2721,  2726,  2727,  2731,  2735,
+    2739,  2743,  2747,  2751,  2755,  2759,  2763,  2767,  2771,  2775,
+    2779,  2783,  2792,  2796,  2800,  2804,  2808,  2812,  2816,  2817,
+    2822,  2826,  2833,  2840,  2841,  2842,  2843,  2844,  2848,  2852,
+    2860,  2871,  2887,  2904,  2921,  2951,  2952,  2953,  2954,  2955,
+    2962,  2969,  2970,  2974,  2975,  2979,  2980,  2984,  2988,  2995,
+    2999,  3006,  3007,  3008,  3012,  3013,  3016,  3037,  3058,  3059,
+    3063,  3071,  3072,  3073,  3104,  3111,  3118,  3129,  3140,  3152,
+    3163,  3196,  3203,  3210,  3217,  3228,  3238,  3239,  3240,  3244,
+    3245,  3246,  3247,  3248,  3249,  3258,  3266,  3270,  3283,  3298,
+    3312,  3327,  3341,  3359,  3380,  3381,  3385,  3386,  3390,  3391,
+    3394,  3400,  3404,  3412,  3417,  3423,  3424,  3428,  3433,  3440,
+    3441,  3451,  3453,  3455,  3457,  3460,  3463,  3466,  3470,  3471,
+    3472,  3473,  3474,  3477,  3478,  3483,  3484,  3485,  3486,  3489,
+    3490,  3491,  3492,  3495,  3496,  3499,  3500,  3503,  3518,  3531,
+    3547,  3561,  3562,  3563,  3575,  3588,  3604,  3617,  3618,  3630,
+    3650,  3660,  3673,  3681,  3692,  3693,  3696,  3697,  3700,  3704,
+    3708,  3712,  3716,  3720,  3724,  3728,  3732,  3736,  3740,  3744,
+    3750,  3751,  3755,  3756,  3761,  3764,  3765,  3777,  3789,  3804,
+    3805,  3813,  3814,  3818,  3819,  3823,  3824,  3828,  3829,  3833,
+    3844,  3857,  3858,  3868,  3879,  3880,  3893,  3900,  3917,  3925,
+    3936,  3939,  3943,  3947,  3951,  3955,  3967,  3977,  3980,  3984,
+    3997,  4007,  4017,  4026,  4035,  4044,  4054,  4063,  4073,  4082,
+    4091,  4100,  4109,  4118,  4127,  4136,  4145,  4154,  4163,  4172,
+    4181,  4190,  4199,  4208,  4218,  4236,  4247,  4248,  4249,  4250,
+    4254,  4255,  4259,  4260,  4270,  4281,  4301,  4309,  4321,  4322,
+    4326,  4330,  4338,  4342,  4346,  4353,  4357,  4362,  4367,  4374,
+    4381,  4386,  4396,  4410,  4411,  4416,  4417,  4421,  4422,  4432,
+    4443,  4463,  4472,  4480,  4497,  4517,  4547,  4556,  4577,  4592,
+    4593,  4597,  4605,  4620,  4631,  4632,  4642,  4650,  4667,  4689,
+    4705,  4719,  4730,  4744,  4745,  4749,  4750,  4754,  4755,  4759,
+    4760,  4764,  4765,  4769,  4770,  4771,  4772,  4773,  4783,  4802,
+    4822,  4847,  4848,  4849,  4853,  4855,  4877,  4879,  4881,  4883,
+    4885,  4890,  4895,  4905,  4906,  4910,  4911,  4915,  4916,  4920,
+    4921,  4922,  4926,  4930,  4931,  4932,  4936,  4937,  4942,  4943,
+    4970,  4971,  4972,  4973,  4974,  4975,  4980,  4991,  5014,  5024,
+    5038,  5040,  5045,  5050,  5052,  5057,  5067,  5068,  5069,  5070,
+    5082,  5102,  5125,  5135,  5146,  5156,  5166,  5177,  5186,  5193,
+    5200,  5209,  5218,  5227,  5236,  5245,  5256,  5259,  5260,  5263,
+    5267,  5274,  5275,  5276,  5277,  5278,  5281,  5284,  5285,  5293,
+    5300,  5301,  5304,  5306,  5317,  5327,  5337,  5349,  5350,  5366,
+    5381,  5382,  5386,  5396,  5407,  5416,  5426,  5435,  5436,  5439,
+    5440,  5443,  5444,  5445,  5448,  5462,  5467,  5477,  5486,  5498,
+    5499,  5503,  5511,  5523,  5533,  5546,  5556,  5578,  5588,  5606,
+    5617,  5628,  5638,  5648,  5658,  5668,  5679,  5693,  5694,  5695,
+    5696,  5697,  5698,  5699,  5700,  5701,  5702,  5703,  5704,  5705,
+    5706,  5707,  5708,  5712,  5713,  5716,  5717,  5720,  5722,  5727,
+    5728,  5738,  5749,  5750,  5751,  5785,  5794,  5803,  5812,  5821,
+    5830,  5839,  5848,  5862,  5871,  5880,  5890,  5899,  5908,  5916,
+    5925,  5934,  5943,  5955,  5956,  5957,  5958,  5959,  5960,  5961,
+    5962,  5963,  5964,  5965,  5966,  5967,  5968,  5969,  5970,  5971,
+    5972,  5973,  5974,  5975,  5976,  5980,  5981,  5995,  6006,  6017,
+    6028,  6039,  6050,  6061,  6074,  6075,  6079,  6080,  6081,  6082,
+    6083,  6084,  6085,  6086,  6087,  6088,  6089,  6092,  6093,  6103,
+    6109,  6117,  6125,  6133,  6141,  6149,  6157,  6165,  6173,  6181,
+    6189,  6197,  6205,  6213,  6221,  6229,  6237,  6247,  6248,  6251,
+    6252,  6262,  6278,  6292,  6318,  6320,  6322,  6324,  6331,  6340,
+    6341,  6344,  6351,  6358,  6365,  6379,  6387,  6395,  6403,  6411,
+    6419,  6427,  6435,  6443,  6451,  6459,  6467,  6475,  6483,  6491,
+    6499,  6511,  6512,  6516,  6517,  6522,  6523,  6527,  6528,  6533,
+    6549,  6562,  6572,  6584,  6585,  6588,  6589,  6599,  6609,  6610,
+    6614,  6618,  6622,  6633,  6646,  6660,  6677,  6678,  6679,  6680,
+    6692,  6718,  6747,  6748,  6752,  6753,  6757,  6758,  6762,  6763,
+    6766,  6767,  6775,  6786,  6797,  6810,  6811,  6814,  6815,  6818,
+    6819,  6820,  6823,  6824,  6825,  6841,  6853,  6866,  6881,  6882,
+    6885,  6886,  6890,  6891,  6899,  6900,  6904,  6905,  6920,  6929,
+    6938,  6947,  6956,  6968,  6969,  6970,  6971,  6972,  6978,  6982,
+    6997,  6998,  7004,  7014,  7018,  7023,  7031,  7072,  7076,  7080,
+    7084,  7092,  7093,  7098,  7099,  7106,  7110,  7114,  7118,  7122,
+    7126,  7130,  7134,  7138,  7142,  7146,  7150,  7154,  7158,  7162,
+    7167,  7174,  7178,  7182,  7186,  7190,  7196,  7197,  7204,  7205,
+    7209,  7210,  7213,  7225,  7229,  7244,  7255,  7256,  7261,  7262,
+    7277,  7288,  7302,  7313,  7327,  7338,  7352,  7360,  7362,  7364,
+    7369,  7371,  7384,  7393,  7394,  7398,  7402,  7414,  7425,  7436,
+    7449,  7450,  7451,  7455,  7468,  7469,  7479,  7491,  7495,  7499,
+    7503,  7510,  7531,  7540,  7549,  7558,  7569,  7570,  7573,  7574,
+    7575,  7578,  7579,  7582,  7592,  7601,  7618,  7628,  7637,  7646,
+    7655,  7664,  7673,  7682,  7692,  7701,  7710,  7719,  7728,  7738,
+    7748,  7757,  7766,  7776,  7786,  7796,  7806,  7816,  7826,  7836,
+    7846,  7856,  7866,  7876,  7886,  7897,  7908,  7919,  7930,  7940,
+    7950,  7961,  7972,  7982,  7992,  8000,  8009,  8018,  8027,  8036,
+    8045,  8054,  8063,  8072,  8086,  8087,  8090,  8091,  8101,  8111,
+    8121,  8131,  8150,  8160,  8169,  8178,  8187,  8196,  8206,  8216,
+    8225,  8234,  8243,  8252,  8261,  8270,  8279,  8288,  8297,  8306,
+    8315,  8324,  8333,  8342,  8351,  8360,  8378,  8388,  8389,  8392,
+    8394,  8404,  8413,  8421,  8429,  8437,  8445,  8454,  8462,  8470,
+    8479,  8487,  8495,  8503,  8511,  8519,  8527,  8535,  8543,  8551,
+    8568,  8585,  8586,  8587,  8592,  8598,  8607,  8608,  8609,  8610,
+    8611,  8615,  8616,  8619,  8620,  8621,  8622,  8626,  8627,  8628,
+    8633,  8644,  8666,  8676,  8677,  8680,  8689,  8695,  8714,  8721,
+    8728,  8735,  8742,  8749,  8756,  8764,  8772,  8780,  8788,  8796,
+    8803,  8810,  8819,  8820,  8821,  8825,  8828,  8831,  8834,  8837,
+    8844,  8846,  8848,  8853,  8855,  8867,  8880,  8893,  8911,  8932,
+    8933,  8934,  8935,  8945,  8961,  8971,  8972,  8976,  8977,  8981,
+    8985,  8989,  9007,  9008,  9009,  9010,  9011,  9012,  9013,  9020,
+    9021,  9032,  9039,  9046,  9057,  9074,  9081,  9099,  9105,  9121,
+    9134,  9143,  9151,  9159,  9168,  9179,  9190,  9200,  9201,  9212,
+    9222,  9233,  9244,  9255,  9266,  9275,  9287,  9288,  9302,  9325,
+    9333,  9342,  9353,  9354,  9366,  9380,  9394,  9406,  9414,  9427,
+    9428,  9432,  9433,  9434,  9435,  9436,  9449,  9459,  9472,  9473,
+    9477,  9478,  9481,  9482,  9485,  9486,  9490,  9491,  9504,  9511,
+    9521,  9528,  9538,  9539,  9540,  9541,  9542,  9543,  9544,  9545,
+    9546,  9550,  9554,  9561,  9568,  9569,  9573,  9574,  9575,  9585,
+    9595,  9596,  9600,  9601,  9602,  9603,  9613,  9620,  9638,  9639,
+    9649,  9655,  9661,  9667,  9683,  9701,  9705,  9713,  9719,  9725,
+    9734,  9736,  9741,  9752,  9762,  9772,  9778,  9787,  9796,  9802,
+    9803,  9814,  9828,  9829,  9840,  9851,  9852,  9855,  9856,  9857,
+    9858,  9859,  9860,  9861,  9862,  9865,  9866,  9870,  9871,  9872,
+    9883,  9901,  9902,  9906,  9907,  9911,  9927,  9953,  9986,  9997,
+    9998, 10008, 10019, 10022, 10023, 10024, 10025, 10026, 10029, 10030,
+   10031, 10079, 10080, 10084, 10085, 10100, 10101, 10108, 10116, 10124,
+   10132, 10140, 10148, 10159, 10160, 10187, 10201, 10216, 10217, 10236,
+   10240, 10244, 10261, 10268, 10275, 10285, 10286, 10289, 10301, 10302,
+   10306, 10318, 10326, 10331, 10336, 10341, 10346, 10354, 10362, 10367,
+   10372, 10379, 10380, 10384, 10385, 10386, 10393, 10394, 10398, 10399,
+   10403, 10404, 10408, 10412, 10413, 10416, 10425, 10438, 10439, 10440,
+   10441, 10445, 10446, 10450, 10452, 10462, 10467, 10470, 10475, 10476,
+   10484, 10494, 10495, 10496, 10504, 10508, 10509, 10512, 10513, 10538,
+   10539, 10543, 10544, 10548, 10549, 10550, 10551, 10552, 10556, 10569,
+   10576, 10583, 10590, 10591, 10595, 10596, 10600, 10601, 10605, 10606,
+   10610, 10621, 10622, 10623, 10624, 10628, 10629, 10634, 10640, 10658,
+   10659, 10663, 10664, 10670, 10675, 10683, 10690, 10698, 10733, 10758,
+   10762, 10788, 10792, 10804, 10817, 10831, 10842, 10857, 10863, 10868,
+   10874, 10881, 10882, 10890, 10894, 10898, 10904, 10911, 10916, 10917,
+   10918, 10919, 10923, 10924, 10936, 10937, 10942, 10949, 10956, 10963,
+   10974, 10975, 10988, 10992, 10999, 11012, 11025, 11026, 11041, 11051,
+   11063, 11068, 11069, 11072, 11073, 11076, 11077, 11082, 11083, 11088,
+   11089, 11097, 11102, 11103, 11107, 11111, 11117, 11147, 11152, 11159,
+   11164, 11170, 11175, 11184, 11186, 11189, 11193, 11194, 11195, 11196,
+   11197, 11198, 11203, 11223, 11224, 11225, 11226, 11237, 11243, 11251,
+   11252, 11258, 11263, 11268, 11273, 11278, 11283, 11288, 11293, 11299,
+   11305, 11311, 11318, 11340, 11349, 11353, 11361, 11365, 11373, 11385,
+   11406, 11410, 11416, 11420, 11433, 11444, 11459, 11461, 11463, 11465,
+   11467, 11469, 11474, 11475, 11479, 11480, 11487, 11496, 11504, 11513,
+   11524, 11532, 11533, 11534, 11538, 11540, 11542, 11544, 11546, 11548,
+   11550, 11555, 11560, 11566, 11574, 11579, 11586, 11593, 11597, 11601,
+   11637, 11638, 11640, 11648, 11663, 11665, 11667, 11669, 11671, 11673,
+   11675, 11677, 11679, 11681, 11683, 11685, 11687, 11689, 11692, 11694,
+   11696, 11699, 11701, 11703, 11705, 11708, 11713, 11721, 11726, 11734,
+   11739, 11747, 11752, 11761, 11769, 11777, 11785, 11803, 11811, 11819,
+   11827, 11835, 11851, 11859, 11867, 11875, 11883, 11891, 11899, 11903,
+   11907, 11911, 11915, 11923, 11931, 11939, 11947, 11967, 11989, 12000,
+   12007, 12023, 12028, 12045, 12047, 12049, 12051, 12053, 12055, 12057,
+   12059, 12061, 12063, 12065, 12067, 12069, 12071, 12073, 12075, 12077,
+   12079, 12081, 12083, 12087, 12091, 12095, 12099, 12104, 12120, 12121,
+   12122, 12137, 12167, 12169, 12171, 12182, 12206, 12217, 12228, 12236,
+   12246, 12256, 12265, 12269, 12275, 12282, 12289, 12299, 12306, 12334,
+   12369, 12380, 12381, 12388, 12394, 12420, 12430, 12443, 12451, 12464,
+   12474, 12487, 12497, 12510, 12514, 12518, 12522, 12526, 12530, 12534,
+   12536, 12540, 12549, 12554, 12561, 12576, 12583, 12587, 12591, 12595,
+   12599, 12606, 12614, 12622, 12626, 12630, 12634, 12638, 12642, 12648,
+   12652, 12661, 12665, 12669, 12674, 12688, 12690, 12694, 12696, 12698,
+   12701, 12704, 12707, 12708, 12711, 12719, 12729, 12730, 12733, 12734,
+   12735, 12740, 12744, 12748, 12752, 12763, 12764, 12768, 12769, 12777,
+   12778, 12782, 12783, 12788, 12796, 12798, 12812, 12815, 12842, 12843,
+   12846, 12847, 12858, 12876, 12883, 12892, 12909, 12954, 12962, 12970,
+   12978, 12986, 13007, 13008, 13009, 13012, 13013, 13016, 13019, 13020,
+   13021, 13024, 13025, 13028, 13029, 13030, 13031, 13032, 13033, 13034,
+   13035, 13036, 13037, 13038, 13039, 13042, 13044, 13049, 13051, 13056,
+   13058, 13060, 13062, 13064, 13066, 13078, 13082, 13089, 13093, 13099,
+   13103, 13112, 13123, 13124, 13127, 13131, 13135, 13141, 13142, 13147,
+   13151, 13158, 13159, 13160, 13161, 13162, 13163, 13164, 13165, 13175,
+   13179, 13186, 13193, 13194, 13210, 13214, 13219, 13223, 13238, 13243,
+   13247, 13250, 13253, 13254, 13255, 13258, 13265, 13275, 13289, 13290,
+   13294, 13305, 13306, 13309, 13310, 13313, 13317, 13324, 13328, 13332,
+   13340, 13351, 13352, 13356, 13357, 13361, 13362, 13365, 13366, 13377,
+   13378, 13387, 13388, 13396, 13406, 13407, 13411, 13412, 13415, 13431,
+   13439, 13447, 13469, 13470, 13481, 13485, 13512, 13514, 13519, 13522,
+   13525, 13527, 13529, 13531, 13541, 13543, 13554, 13558, 13562, 13566,
+   13570, 13579, 13586, 13618, 13622, 13628, 13635, 13639, 13643, 13649,
+   13650, 13652, 13653, 13654, 13658, 13688, 13715, 13719, 13725, 13727,
+   13744, 13745, 13746, 13751, 13752, 13753, 13758, 13759, 13760, 13761,
+   13767, 13768, 13769, 13770, 13771, 13791, 13792, 13793, 13794, 13795,
+   13796, 13797, 13798, 13799, 13800, 13801, 13802, 13803, 13804, 13805,
+   13806, 13807, 13808, 13809, 13810, 13811, 13812, 13813, 13814, 13815,
+   13816, 13817, 13818, 13819, 13820, 13821, 13822, 13823, 13824, 13825,
+   13826, 13827, 13828, 13829, 13830, 13831, 13832, 13833, 13834, 13835,
+   13836, 13837, 13838, 13839, 13840, 13841, 13842, 13843, 13844, 13845,
+   13846, 13847, 13848, 13849, 13850, 13851, 13852, 13853, 13854, 13855,
+   13856, 13857, 13858, 13859, 13860, 13861, 13862, 13863, 13864, 13865,
+   13866, 13867, 13868, 13869, 13870, 13871, 13872, 13873, 13874, 13875,
+   13876, 13877, 13878, 13879, 13880, 13881, 13882, 13883, 13884, 13885,
+   13886, 13887, 13888, 13889, 13890, 13891, 13892, 13893, 13894, 13895,
+   13896, 13897, 13898, 13899, 13900, 13901, 13902, 13903, 13904, 13905,
+   13906, 13907, 13908, 13909, 13910, 13911, 13912, 13913, 13914, 13915,
+   13916, 13917, 13918, 13919, 13920, 13921, 13922, 13923, 13924, 13925,
+   13926, 13927, 13928, 13929, 13930, 13931, 13932, 13933, 13934, 13935,
+   13936, 13937, 13938, 13939, 13940, 13941, 13942, 13943, 13944, 13945,
+   13946, 13947, 13948, 13949, 13950, 13951, 13952, 13953, 13954, 13955,
+   13956, 13957, 13958, 13959, 13960, 13961, 13962, 13963, 13964, 13965,
+   13966, 13967, 13968, 13969, 13970, 13971, 13972, 13973, 13974, 13975,
+   13976, 13977, 13978, 13979, 13980, 13981, 13982, 13983, 13984, 13985,
+   13986, 13987, 13988, 13989, 13990, 13991, 13992, 13993, 13994, 13995,
+   13996, 13997, 13998, 13999, 14000, 14001, 14002, 14003, 14004, 14005,
+   14006, 14007, 14008, 14009, 14010, 14011, 14012, 14013, 14014, 14015,
+   14016, 14017, 14018, 14019, 14020, 14021, 14022, 14023, 14024, 14025,
+   14026, 14027, 14028, 14029, 14030, 14031, 14032, 14033, 14034, 14035,
+   14036, 14037, 14038, 14039, 14040, 14041, 14042, 14043, 14044, 14045,
+   14046, 14047, 14048, 14049, 14050, 14051, 14052, 14053, 14054, 14055,
+   14056, 14057, 14058, 14059, 14060, 14061, 14075, 14076, 14077, 14078,
+   14079, 14080, 14081, 14082, 14083, 14084, 14085, 14086, 14087, 14088,
+   14089, 14090, 14091, 14092, 14093, 14094, 14095, 14096, 14097, 14098,
+   14099, 14100, 14101, 14102, 14103, 14104, 14105, 14106, 14107, 14108,
+   14109, 14110, 14111, 14112, 14113, 14114, 14115, 14116, 14117, 14118,
+   14119, 14120, 14121, 14122, 14136, 14137, 14138, 14139, 14140, 14141,
+   14142, 14143, 14144, 14145, 14146, 14147, 14148, 14149, 14150, 14151,
+   14152, 14153, 14154, 14155, 14156, 14157, 14158, 14168, 14169, 14170,
+   14171, 14172, 14173, 14174, 14175, 14176, 14177, 14178, 14179, 14180,
+   14181, 14182, 14183, 14184, 14185, 14186, 14187, 14188, 14189, 14190,
+   14191, 14192, 14193, 14194, 14195, 14196, 14197, 14198, 14199, 14200,
+   14201, 14202, 14203, 14204, 14205, 14206, 14207, 14208, 14209, 14210,
+   14211, 14212, 14213, 14214, 14215, 14216, 14217, 14218, 14219, 14220,
+   14221, 14222, 14223, 14224, 14225, 14226, 14227, 14228, 14229, 14230,
+   14231, 14232, 14233, 14234, 14235, 14236, 14237, 14238, 14239, 14240,
+   14241, 14242, 14243, 14244
 };
 #endif
 
@@ -3294,13 +2129,13 @@ static const char *const yytname[] =
   "SignedIconst", "RoleId", "RoleSpec", "role_list", "ColId",
   "type_function_name", "NonReservedWord", "ColLabel",
   "unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
-  "reserved_keyword", YY_NULL
+  "reserved_keyword", YY_NULLPTR
 };
 #endif
 
 # ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
-   token YYLEX-NUM.  */
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+   (internal) symbol number NUM (which must be that of a token).  */
 static const yytype_uint16 yytoknum[] =
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
@@ -3352,1098 +2187,19 @@ static const yytype_uint16 yytoknum[] =
 };
 # endif
 
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
-static const yytype_uint16 yyr1[] =
-{
-       0,   460,   461,   462,   462,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
-     463,   464,   465,   465,   465,   466,   466,   467,   467,   468,
-     468,   468,   468,   468,   468,   468,   468,   468,   469,   469,
-     469,   469,   469,   469,   470,   471,   472,   472,   473,   473,
-     474,   475,   476,   476,   477,   477,   478,   479,   480,   480,
-     481,   481,   482,   482,   482,   482,   483,   483,   484,   484,
-     485,   485,   485,   485,   485,   485,   486,   486,   486,   486,
-     487,   487,   487,   488,   488,   488,   488,   489,   489,   489,
-     489,   489,   489,   489,   489,   489,   489,   489,   490,   490,
-     491,   491,   492,   492,   493,   493,   493,   493,   494,   494,
-     494,   494,   495,   495,   495,   495,   495,   495,   495,   496,
-     496,   496,   497,   497,   498,   498,   499,   499,   499,   499,
-     500,   500,   501,   501,   502,   502,   503,   503,   503,   503,
-     503,   503,   503,   504,   505,   505,   506,   506,   507,   508,
-     508,   508,   508,   508,   509,   509,   509,   509,   509,   509,
-     509,   509,   509,   509,   509,   509,   509,   509,   509,   509,
-     510,   510,   511,   511,   511,   511,   511,   511,   511,   511,
-     511,   511,   511,   511,   511,   511,   511,   511,   511,   511,
-     511,   511,   511,   511,   511,   511,   511,   511,   511,   511,
-     511,   511,   511,   511,   511,   511,   511,   511,   511,   511,
-     511,   511,   511,   511,   511,   511,   511,   511,   511,   511,
-     511,   511,   511,   511,   512,   512,   513,   513,   513,   514,
-     514,   515,   515,   516,   516,   516,   516,   517,   518,   518,
-     519,   519,   520,   520,   520,   520,   521,   522,   522,   523,
-     523,   523,   523,   524,   524,   525,   525,   526,   526,   527,
-     527,   528,   528,   528,   529,   529,   530,   530,   531,   531,
-     531,   531,   531,   531,   531,   531,   531,   531,   531,   531,
-     531,   531,   532,   532,   533,   533,   534,   534,   535,   535,
-     536,   536,   537,   538,   538,   538,   538,   538,   539,   539,
-     540,   541,   541,   541,   541,   542,   542,   542,   542,   542,
-     542,   542,   542,   543,   543,   544,   544,   545,   545,   546,
-     546,   547,   547,   547,   548,   548,   549,   550,   551,   551,
-     552,   552,   552,   552,   553,   553,   553,   553,   553,   553,
-     553,   554,   554,   554,   554,   555,   556,   556,   556,   557,
-     557,   557,   557,   557,   557,   558,   558,   559,   559,   559,
-     559,   559,   559,   559,   560,   560,   561,   561,   562,   562,
-     563,   564,   564,   564,   564,   565,   565,   566,   566,   567,
-     567,   568,   568,   568,   568,   568,   569,   570,   571,   571,
-     571,   571,   571,   572,   572,   573,   573,   573,   573,   574,
-     574,   574,   574,   575,   575,   576,   576,   577,   578,   578,
-     579,   580,   580,   580,   581,   581,   582,   583,   583,   584,
-     585,   585,   586,   586,   587,   587,   588,   588,   589,   589,
-     589,   589,   589,   589,   589,   589,   589,   589,   589,   589,
-     590,   590,   591,   591,   591,   592,   592,   593,   593,   594,
-     594,   595,   595,   596,   596,   597,   597,   598,   598,   599,
-     599,   600,   600,   601,   602,   602,   603,   603,   604,   604,
-     605,   605,   606,   606,   606,   606,   607,   608,   608,   609,
-     610,   610,   610,   610,   610,   610,   610,   610,   610,   610,
-     610,   610,   610,   610,   610,   610,   610,   610,   610,   610,
-     610,   610,   610,   610,   610,   611,   612,   612,   612,   612,
-     613,   613,   614,   614,   615,   615,   616,   616,   617,   617,
-     618,   618,   619,   620,   620,   621,   621,   621,   621,   622,
-     623,   624,   625,   626,   626,   627,   627,   628,   628,   629,
-     629,   630,   630,   630,   631,   631,   632,   632,   633,   634,
-     634,   635,   635,   636,   637,   637,   638,   638,   639,   640,
-     641,   642,   642,   643,   643,   644,   644,   645,   645,   646,
-     646,   647,   647,   648,   648,   648,   648,   648,   649,   650,
-     650,   651,   651,   651,   652,   652,   653,   653,   653,   653,
-     653,   654,   654,   655,   655,   656,   656,   657,   657,   658,
-     658,   658,   659,   659,   659,   659,   660,   660,   661,   661,
-     662,   662,   662,   662,   662,   662,   663,   663,   664,   664,
-     665,   665,   666,   667,   667,   668,   669,   669,   669,   669,
-     670,   671,   672,   672,   672,   672,   672,   672,   672,   672,
-     672,   672,   672,   672,   672,   672,   673,   674,   674,   675,
-     675,   676,   676,   676,   676,   676,   677,   678,   678,   679,
-     680,   680,   681,   681,   682,   682,   682,   683,   683,   684,
-     685,   685,   686,   686,   686,   686,   686,   687,   687,   688,
-     688,   689,   689,   689,   690,   690,   691,   692,   692,   693,
-     693,   694,   694,   695,   695,   696,   696,   697,   698,   699,
-     699,   699,   699,   699,   699,   699,   699,   700,   700,   700,
-     700,   700,   700,   700,   700,   700,   700,   700,   700,   700,
-     700,   700,   700,   701,   701,   702,   702,   703,   703,   704,
-     704,   705,   706,   706,   706,   707,   707,   707,   707,   707,
-     707,   707,   707,   707,   707,   707,   707,   707,   707,   707,
-     707,   707,   707,   708,   708,   708,   708,   708,   708,   708,
-     708,   708,   708,   708,   708,   708,   708,   708,   708,   708,
-     708,   708,   708,   708,   708,   709,   709,   710,   710,   710,
-     710,   710,   710,   710,   711,   711,   712,   712,   712,   712,
-     712,   712,   712,   712,   712,   712,   712,   713,   713,   714,
-     714,   715,   715,   715,   715,   715,   715,   715,   715,   715,
-     715,   715,   715,   715,   715,   715,   715,   716,   716,   717,
-     717,   718,   719,   719,   720,   720,   720,   720,   720,   721,
-     721,   722,   722,   722,   722,   723,   723,   723,   723,   723,
-     723,   723,   723,   723,   723,   723,   723,   723,   723,   723,
-     723,   724,   724,   725,   725,   726,   726,   727,   727,   728,
-     729,   730,   730,   731,   731,   732,   732,   733,   734,   734,
-     735,   735,   735,   736,   736,   736,   737,   737,   737,   737,
-     738,   738,   739,   739,   740,   740,   741,   741,   742,   742,
-     743,   743,   744,   744,   744,   745,   745,   746,   746,   747,
-     747,   747,   748,   748,   748,   749,   749,   749,   750,   750,
-     751,   751,   752,   752,   753,   753,   754,   754,   755,   755,
-     755,   755,   755,   756,   756,   756,   756,   756,   757,   758,
-     759,   759,   759,   760,   760,   760,   761,   762,   762,   762,
-     762,   763,   763,   764,   764,   765,   765,   765,   765,   765,
-     765,   765,   765,   765,   765,   765,   765,   765,   765,   765,
-     765,   766,   766,   766,   766,   766,   767,   767,   768,   768,
-     769,   769,   770,   771,   771,   772,   773,   773,   774,   774,
-     775,   775,   776,   776,   777,   777,   778,   778,   778,   778,
-     779,   779,   780,   781,   781,   782,   782,   783,   783,   783,
-     784,   784,   784,   785,   786,   786,   787,   788,   788,   788,
-     788,   789,   790,   790,   790,   790,   791,   791,   792,   792,
-     792,   793,   793,   794,   795,   795,   796,   796,   796,   796,
-     796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
-     796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
-     796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
-     796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
-     796,   796,   796,   796,   797,   797,   798,   798,   799,   799,
-     799,   799,   800,   800,   800,   800,   800,   800,   800,   800,
-     800,   800,   800,   800,   800,   800,   800,   800,   800,   800,
-     800,   800,   800,   800,   800,   800,   801,   802,   802,   803,
-     803,   804,   804,   804,   804,   804,   804,   804,   804,   804,
-     804,   804,   804,   804,   804,   804,   804,   804,   804,   804,
-     805,   806,   806,   806,   807,   807,   808,   808,   808,   808,
-     808,   809,   809,   810,   810,   810,   810,   811,   811,   811,
-     812,   812,   813,   814,   814,   815,   816,   816,   817,   817,
-     817,   817,   817,   817,   817,   817,   817,   817,   817,   817,
-     817,   817,   818,   818,   818,   819,   819,   819,   819,   819,
-     820,   820,   820,   821,   821,   822,   822,   822,   822,   823,
-     823,   823,   823,   824,   825,   826,   826,   827,   827,   828,
-     828,   828,   829,   829,   829,   829,   829,   829,   829,   830,
-     830,   831,   831,   831,   832,   833,   833,   834,   834,   835,
-     836,   836,   836,   836,   836,   836,   836,   837,   837,   838,
-     839,   839,   839,   839,   839,   839,   840,   840,   841,   842,
-     842,   842,   843,   843,   844,   844,   844,   844,   844,   845,
-     845,   846,   846,   846,   846,   846,   847,   847,   848,   848,
-     849,   849,   850,   850,   851,   851,   852,   852,   853,   853,
-     853,   853,   854,   854,   854,   854,   854,   854,   854,   854,
-     854,   855,   855,   856,   857,   857,   858,   858,   858,   859,
-     860,   860,   861,   861,   861,   861,   862,   862,   863,   863,
-     864,   864,   864,   864,   865,   866,   866,   867,   867,   867,
-     868,   868,   869,   870,   870,   870,   871,   871,   871,   872,
-     872,   873,   874,   874,   875,   876,   876,   877,   877,   877,
-     877,   877,   877,   877,   877,   878,   878,   879,   879,   879,
-     880,   881,   881,   882,   882,   883,   884,   884,   885,   886,
-     886,   887,   888,   889,   889,   889,   889,   889,   890,   890,
-     890,   891,   891,   892,   892,   893,   893,   893,   893,   893,
-     893,   893,   893,   894,   894,   895,   895,   895,   895,   895,
-     895,   895,   896,   896,   896,   897,   897,   898,   899,   899,
-     900,   900,   901,   901,   901,   901,   901,   901,   901,   901,
-     901,   902,   902,   903,   903,   903,   904,   904,   905,   905,
-     906,   906,   907,   908,   908,   909,   909,   910,   910,   910,
-     910,   911,   911,   912,   912,   912,   913,   913,   914,   914,
-     915,   916,   916,   916,   917,   918,   918,   919,   919,   920,
-     920,   921,   921,   922,   922,   922,   922,   922,   923,   924,
-     925,   926,   927,   927,   928,   928,   929,   929,   930,   930,
-     931,   932,   932,   932,   932,   933,   933,   934,   934,   935,
-     935,   936,   936,   937,   937,   937,   937,   937,   937,   937,
-     937,   938,   938,   938,   938,   938,   938,   939,   939,   939,
-     939,   940,   940,   941,   941,   941,   941,   941,   942,   942,
-     942,   942,   943,   943,   944,   944,   945,   945,   945,   945,
-     946,   946,   947,   947,   947,   948,   949,   949,   950,   950,
-     951,   952,   952,   953,   953,   954,   954,   955,   955,   956,
-     956,   956,   957,   957,   958,   958,   959,   960,   960,   960,
-     960,   960,   960,   961,   961,   961,   962,   962,   962,   962,
-     962,   962,   962,   963,   963,   963,   963,   964,   964,   965,
-     965,   966,   966,   966,   966,   966,   966,   966,   966,   966,
-     966,   966,   967,   967,   968,   968,   969,   969,   970,   971,
-     972,   972,   973,   973,   974,   975,   976,   976,   976,   976,
-     976,   976,   977,   977,   978,   978,   979,   979,   979,   979,
-     980,   981,   981,   981,   982,   982,   982,   982,   982,   982,
-     982,   982,   982,   982,   982,   982,   982,   982,   983,   983,
-     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
-     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
-     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
-     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
-     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
-     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
-     984,   984,   984,   985,   985,   985,   985,   985,   985,   985,
-     985,   985,   985,   985,   985,   985,   985,   985,   985,   985,
-     985,   985,   985,   985,   985,   985,   985,   985,   986,   986,
-     986,   986,   986,   986,   986,   986,   986,   986,   986,   986,
-     986,   986,   987,   987,   987,   987,   987,   987,   987,   988,
-     988,   989,   989,   990,   990,   990,   990,   990,   990,   990,
-     990,   990,   990,   990,   990,   990,   990,   990,   990,   990,
-     990,   990,   990,   990,   990,   990,   990,   990,   990,   990,
-     990,   990,   990,   990,   990,   990,   990,   990,   990,   990,
-     990,   990,   990,   990,   990,   991,   991,   992,   992,   992,
-     992,   993,   994,   994,   995,   995,   996,   996,   997,   997,
-     997,   998,   998,   998,   998,   999,   999,  1000,  1000,  1001,
-    1001,  1002,  1002,  1003,  1004,  1004,  1004,  1005,  1006,  1006,
-    1007,  1007,  1008,  1008,  1008,  1009,  1009,  1010,  1010,  1010,
-    1010,  1010,  1011,  1011,  1011,  1012,  1012,  1013,  1014,  1014,
-    1014,  1015,  1015,  1016,  1016,  1016,  1016,  1016,  1016,  1016,
-    1016,  1016,  1016,  1016,  1016,  1017,  1017,  1018,  1018,  1019,
-    1019,  1019,  1019,  1019,  1019,  1020,  1020,  1021,  1021,  1022,
-    1022,  1022,  1023,  1023,  1024,  1024,  1024,  1025,  1025,  1026,
-    1026,  1027,  1027,  1027,  1027,  1027,  1027,  1027,  1027,  1028,
-    1028,  1029,  1030,  1030,  1031,  1031,  1031,  1031,  1031,  1031,
-    1032,  1033,  1034,  1034,  1034,  1035,  1035,  1036,  1037,  1037,
-    1038,  1039,  1039,  1040,  1040,  1041,  1041,  1042,  1042,  1042,
-    1042,  1043,  1043,  1044,  1044,  1045,  1045,  1046,  1046,  1047,
-    1047,  1048,  1048,  1049,  1050,  1050,  1051,  1051,  1052,  1052,
-    1052,  1052,  1053,  1053,  1054,  1054,  1055,  1055,  1056,  1057,
-    1058,  1059,  1060,  1061,  1062,  1062,  1063,  1063,  1063,  1063,
-    1063,  1063,  1063,  1063,  1063,  1063,  1063,  1063,  1063,  1064,
-    1065,  1066,  1066,  1066,  1067,  1068,  1068,  1068,  1069,  1069,
-    1070,  1070,  1070,  1071,  1071,  1071,  1072,  1072,  1072,  1072,
-    1073,  1073,  1073,  1073,  1073,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
-    1074,  1074,  1074,  1074,  1074,  1074,  1075,  1075,  1075,  1075,
-    1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,
-    1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,
-    1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,
-    1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,
-    1075,  1075,  1075,  1075,  1076,  1076,  1076,  1076,  1076,  1076,
-    1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,
-    1076,  1076,  1076,  1076,  1076,  1076,  1076,  1077,  1077,  1077,
-    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
-    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
-    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
-    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
-    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
-    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
-    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
-    1077,  1077,  1077,  1077
-};
+#define YYPACT_NINF -4498
 
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
-static const yytype_uint8 yyr2[] =
-{
-       0,     2,     1,     3,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       0,     5,     1,     1,     0,     2,     0,     2,     0,     2,
-       2,     3,     3,     1,     3,     3,     2,     1,     1,     2,
-       2,     2,     3,     3,     5,     5,     0,     3,     5,     5,
-       5,     4,     3,     5,     3,     5,     5,     6,     1,     1,
-       3,     5,     6,     4,     9,     7,     1,     0,     2,     0,
-       1,     1,     1,     1,     1,     1,     3,     2,     3,     3,
-       2,     5,     1,     3,     3,     3,     3,     1,     3,     3,
-       2,     2,     2,     2,     3,     3,     3,     3,     1,     3,
-       1,     3,     1,     1,     2,     2,     2,     1,     1,     1,
-       1,     1,     1,     1,     3,     5,     1,     1,     1,     1,
-       1,     0,     1,     1,     2,     3,     1,     2,     3,     2,
-       1,     1,     2,     1,     2,     1,     3,     3,     2,     3,
-       4,     3,     2,     4,     1,     1,     1,     1,     1,     2,
-       2,     2,     2,     2,     4,     6,    10,    13,     4,     6,
-      10,    13,     4,     6,     4,     6,     5,     7,    11,    14,
-       1,     3,     2,     5,     3,     6,     4,     6,     6,     6,
-       5,     5,     6,     6,     4,     8,     4,     2,     4,     3,
-       6,     4,     3,     3,     3,     3,     2,     2,     3,     4,
-       4,     3,     3,     3,     3,     3,     3,     4,     4,     3,
-       2,     3,     2,     2,     3,     3,     2,     2,     3,     4,
-       4,     4,     5,     1,     3,     2,     1,     1,     0,     2,
-       0,     2,     0,     1,     1,     1,     3,     3,     2,     0,
-       1,     3,     3,     1,     5,     3,     4,     1,     3,     4,
-       6,     4,     8,     2,     2,    11,     9,     1,     1,     1,
-       0,     1,     1,     1,     1,     3,     2,     0,     1,     1,
-       1,     3,     3,     1,     1,     3,     3,     3,     3,     4,
-       3,     2,     1,     0,     2,     0,     3,     0,     1,     0,
-       1,     3,     2,     1,     1,     1,     3,     0,     1,     3,
-       1,    11,    14,    10,    13,     1,     1,     2,     2,     2,
-       2,     1,     0,     1,     0,     3,     0,     1,     3,     1,
-       3,     1,     1,     1,     1,     1,     4,     4,     2,     0,
-       3,     1,     1,     2,     2,     1,     3,     4,     5,     2,
-       5,     1,     2,     2,     2,     3,     3,     3,     0,     1,
-       1,     1,     1,     1,     1,     3,     1,     5,     7,     3,
-       8,     4,     9,    11,     2,     0,     3,     0,     1,     3,
-       1,     2,     2,     2,     0,     1,     3,     3,     6,     4,
-       0,     1,     1,     2,     2,     0,     3,     3,     2,     1,
-       1,     2,     2,     4,     0,     2,     2,     2,     0,     3,
-       4,     4,     0,     2,     0,     4,     0,     3,     7,    10,
-       5,     2,     3,     0,     8,    11,     4,     1,     0,     6,
-       5,     8,     4,     6,     1,     0,     1,     2,     2,     1,
-       2,     3,     2,     2,     2,     2,     3,     3,     1,     3,
-       1,     0,     1,     2,     1,     1,     3,     6,    10,     1,
-       0,     1,     2,     2,     0,     2,     2,     1,     0,     5,
-       7,     1,     0,     7,     2,     0,     3,     5,     5,     8,
-       2,     0,     2,     2,     2,     1,     5,     2,     0,     2,
-       7,    10,     6,     6,     6,     6,     7,     7,     9,     9,
-       6,     7,     6,     8,     8,     8,     8,     6,     6,     7,
-       7,     8,     6,     9,     6,     7,     2,     2,     2,     2,
-       1,     2,     1,     0,     6,     8,     7,     6,     4,     0,
-       1,     3,     4,     1,     3,     1,     2,     2,     2,     2,
-       1,     1,    10,     2,     0,     2,     2,     1,     0,     4,
-       6,     5,     4,     4,    11,    14,     5,     7,    11,     2,
-       1,     4,     0,     8,     1,     1,     7,     9,     8,     9,
-       8,     6,     8,     4,     0,     5,     0,     2,     0,     2,
-       0,     2,     0,     1,     1,     1,     1,     1,     8,    15,
-      20,     1,     1,     2,     1,     3,     1,     1,     1,     3,
-       1,     3,     0,     1,     0,     1,     1,     4,     0,     1,
-       3,     0,     1,     1,     1,     1,     2,     0,     0,     2,
-       2,     1,     2,     2,     2,     2,     6,     8,    11,    13,
-       1,     3,     5,     1,     3,     5,     1,     2,     2,     1,
-       8,     4,     5,     4,     4,     4,     3,     7,     8,     6,
-       6,     6,     6,     6,     4,     5,     3,     1,     3,     3,
-       1,     1,     1,     1,     1,     1,     3,     1,     3,     3,
-       1,     0,     1,     3,     7,     9,     9,     3,     0,    13,
-       1,     3,     5,     6,     4,     7,     2,     1,     0,     2,
-       0,     2,     4,     0,     1,     0,     6,     8,     8,     1,
-       3,     5,     5,     7,     9,     7,     9,     5,     6,     6,
-       4,     4,     6,     4,     6,     5,     7,     1,     1,     1,
-       2,     1,     2,     2,     2,     1,     1,     1,     1,     3,
-       3,     3,     3,     1,     3,     1,     2,     2,     3,     1,
-       3,     5,     2,     2,     0,     6,     6,     6,     7,     7,
-       7,     8,     9,     8,     8,     6,     9,     8,     9,     9,
-       7,    10,     7,     2,     1,     1,     1,     1,     1,     1,
-       1,     2,     1,     1,     1,     1,     1,     2,     1,     3,
-       2,     3,     3,     3,     3,     1,     1,     8,     8,     8,
-       9,     9,     9,     9,     2,     0,     1,     1,     2,     2,
-       1,     1,     1,     1,     1,     1,     2,     1,     1,     2,
-       2,     1,     2,     3,     3,     3,     3,     4,     4,     3,
-       3,     3,     4,     4,     3,     4,     4,     1,     1,     1,
-       0,     7,     7,    10,     1,     1,     2,     4,     5,     1,
-       3,     2,     2,     2,     2,     1,     2,     2,     4,     3,
-       2,     2,     2,     2,     3,     2,     2,     2,     5,     5,
-       5,     1,     3,     1,     2,     3,     0,     1,     3,     2,
-       6,     6,     9,     3,     0,     3,     0,     5,     2,     0,
-       3,     3,     3,     7,     7,    10,     1,     1,     1,     1,
-      14,    17,     1,     0,     1,     0,     1,     0,     2,     0,
-       1,     3,     5,     5,     7,     2,     0,     1,     0,     1,
-       1,     0,     2,     2,     0,     9,    12,     7,     2,     0,
-       3,     2,     1,     3,     3,     2,     1,     3,     3,     3,
-       2,     2,     1,     1,     1,     1,     2,     1,     1,     1,
-       1,     4,     5,     1,     3,     3,     1,     3,     3,     5,
-       6,     1,     3,     1,     2,     4,     5,     1,     1,     1,
-       1,     3,     3,     2,     2,     1,     2,     2,     2,     1,
-       2,     2,     2,     2,     1,     1,     1,     3,     3,     5,
-       2,     0,     2,     1,     3,     5,     1,     2,     1,     0,
-       5,     7,     5,     7,     5,     7,     3,     5,     5,     5,
-       1,     3,     2,     1,     2,     1,     2,    11,    10,    10,
-       2,     2,     0,     9,     2,     0,    10,    11,    11,     5,
-       5,     8,     3,     3,     6,     6,     1,     1,     1,     1,
-       1,     1,     3,     1,     5,     5,     7,     6,     6,     6,
-       6,     8,     8,     6,     6,     7,     9,     9,     8,    10,
-       6,     6,     6,     8,     6,     8,     6,     8,     7,     9,
-       6,     8,     7,     9,     8,    10,     9,    11,     8,    10,
-       9,    11,     8,     8,     7,     6,     6,     6,     8,     8,
-       8,     8,     6,     9,     1,     0,     2,     0,     7,     9,
-       8,     7,     7,     6,     6,     6,     6,     6,     7,     9,
-       9,     6,     8,     8,     8,     8,     8,     6,     8,     6,
-       8,     7,     9,     7,     9,     6,     8,     1,     3,     3,
-       3,     7,     6,     6,     6,     6,     6,     7,     7,     7,
-       9,     9,     6,     6,     6,     8,     8,     8,     6,     7,
-      13,     1,     1,     3,     3,     1,     1,     1,     1,     1,
-       1,     1,     0,     1,     1,     1,     1,     1,     1,     0,
-       6,     8,     3,     2,     0,     2,     2,     2,     2,     3,
-       3,     2,     2,     2,     2,     3,     2,     5,     4,     3,
-       3,     3,     1,     1,     0,     3,     2,     2,     1,     2,
-       1,     3,     2,     1,     0,     9,    11,    12,    14,     3,
-       4,     4,     0,     2,     5,     1,     0,     1,     2,     3,
-       3,     3,     1,     2,     1,     1,     1,     1,     1,     1,
-       0,     5,     4,     6,     4,     3,     5,     4,     4,     6,
-       4,     6,     6,     5,     7,     9,     6,     1,     0,     6,
-      11,    11,    11,    13,     9,    11,     1,     1,    10,     4,
-       2,     5,     2,     0,     4,     5,     5,     4,     6,     1,
-       3,     1,     1,     1,     1,     1,     2,     4,     1,     1,
-       1,     0,     1,     0,     1,     0,     3,     0,     2,     4,
-       3,     5,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     3,     2,     1,     1,     1,     1,     0,     5,
-       3,     0,     1,     1,     1,     1,     3,     9,     3,     0,
-       2,     3,     2,     3,     7,     1,     3,     1,     4,     2,
-       1,     3,     2,     8,     5,     0,     4,     3,     0,     2,
-       0,     7,     2,     0,     5,     3,     0,     2,     2,     2,
-       3,     1,     3,     1,     2,     1,     0,     1,     2,     0,
-       8,     1,     3,     1,     1,     3,     5,     5,     2,     1,
-       3,     7,     1,     0,     3,     2,     2,     2,     0,     2,
-       2,     1,     1,     3,     3,     1,     2,     4,     4,     2,
-       3,     5,     5,     1,     1,     9,     9,     1,     2,     4,
-       4,     4,     2,     2,     3,     1,     3,     6,     1,     0,
-       2,     0,     3,     3,     4,     4,     4,     4,     3,     2,
-       1,     1,     0,     1,     1,     0,     1,     5,     1,     0,
-       1,     0,     3,     1,     3,     4,     3,     2,     2,     1,
-       1,     1,     0,     2,     4,     5,     2,     3,     1,     1,
-       1,     1,     3,     0,     1,     1,     1,     1,     1,     3,
-       0,     1,     3,     1,     1,     1,     1,     1,     2,     4,
-       4,     5,     2,     0,     1,     3,     1,     0,     1,     2,
-       3,     2,     4,     2,     3,     2,     0,     2,     3,     2,
-       0,     1,     3,     2,     3,     2,     3,     2,     3,     1,
-       4,     3,     4,     5,     4,     5,     4,     5,     2,     4,
-       1,     1,     0,     1,     4,     5,     4,     0,     2,     2,
-       2,     1,     1,     0,     4,     2,     1,     2,     2,     4,
-       1,     3,     1,     2,     3,     6,     4,     0,     2,     6,
-       2,     1,     3,     4,     0,     2,     0,     2,     0,     2,
-       4,     0,     1,     0,     1,     3,     3,     2,     3,     5,
-       6,     2,     3,     3,     4,     0,     1,     1,     1,     1,
-       1,     2,     4,     1,     1,     1,     1,     2,     3,     3,
-       0,     1,     1,     1,     1,     1,     2,     2,     2,     2,
-       2,     1,     3,     0,     1,     1,     1,     1,     5,     2,
-       1,     1,     1,     1,     5,     2,     2,     2,     1,     3,
-       3,     2,     1,     0,     3,     0,     5,     2,     5,     2,
-       1,     3,     3,     0,     1,     1,     1,     1,     1,     1,
-       3,     3,     3,     3,     3,     3,     3,     0,     1,     4,
-       1,     3,     3,     5,     2,     2,     3,     3,     3,     3,
-       3,     3,     3,     3,     3,     3,     3,     3,     3,     2,
-       2,     3,     3,     2,     2,     3,     5,     4,     6,     3,
-       5,     4,     6,     4,     6,     5,     7,     3,     2,     4,
-       2,     3,     3,     4,     3,     4,     3,     4,     5,     6,
-       6,     7,     6,     7,     6,     7,     3,     4,     4,     6,
-       2,     3,     4,     1,     3,     2,     2,     3,     3,     3,
-       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       2,     2,     5,     6,     6,     7,     3,     4,     1,     1,
-       2,     4,     1,     1,     1,     2,     2,     2,     2,     1,
-       1,     4,     3,     5,     6,     8,     6,     6,     4,     4,
-       1,     1,     1,     5,     1,     1,     4,     1,     4,     1,
-       4,     1,     4,     1,     1,     1,     1,     1,     1,     6,
-       4,     4,     4,     4,     6,     5,     5,     5,     4,     6,
-       4,     4,     4,     4,     5,     7,     7,     9,     5,     4,
-       6,     5,     7,     7,     7,     2,     3,     3,     3,     4,
-       0,     4,     1,     3,     3,     1,     1,     1,     2,     2,
-       0,     2,     4,     4,     6,     5,     0,     5,     0,     2,
-       0,     1,     3,     3,     2,     2,     0,     6,     1,     0,
-       3,     0,     2,     2,     0,     1,     4,     2,     2,     2,
-       2,     2,     4,     3,     5,     4,     3,     5,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     4,     1,     4,     1,
-       4,     1,     2,     1,     2,     1,     3,     1,     3,     1,
-       3,     3,     1,     3,     3,     3,     2,     1,     3,     3,
-       0,     1,     1,     1,     1,     1,     1,     1,     1,     4,
-       3,     2,     3,     0,     3,     3,     2,     2,     1,     0,
-       2,     2,     3,     2,     1,     1,     3,     5,     1,     2,
-       4,     2,     0,     1,     0,     1,     2,     2,     2,     3,
-       5,     1,     0,     1,     2,     0,     2,     1,     0,     1,
-       1,     1,     3,     3,     1,     0,     1,     3,     3,     2,
-       1,     1,     1,     3,     1,     2,     1,     3,     1,     1,
-       1,     1,     1,     1,     1,     2,     1,     1,     1,     1,
-       1,     2,     6,     2,     3,     5,     1,     1,     1,     1,
-       1,     1,     2,     2,     1,     1,     1,     1,     1,     3,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1
-};
-
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
-   Performed when YYTABLE doesn't specify something else to do.  Zero
-   means the default is an error.  */
-static const yytype_uint16 yydefact[] =
-{
-    1499,  1284,   572,  1369,  1368,  1284,   258,     0,  1371,     0,
-    1284,   393,  1019,     0,     0,     0,     0,   572,  1284,     0,
-    1499,     0,     0,     0,     0,     0,  1512,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1284,     0,     0,
-    1519,     0,     0,     0,     0,  1512,     0,  1373,     0,     0,
-       0,     0,     0,     2,     4,    67,    68,    29,    28,    34,
-      33,    92,    93,    53,    17,    81,    60,   127,   126,   128,
-      40,    36,    75,    25,    27,    37,    41,    62,    43,    54,
-     105,    61,    23,    59,    86,    63,    89,    48,    11,    12,
-      49,    79,    13,    50,    80,    14,    51,    15,   101,    69,
-      94,    32,    58,    22,    85,    42,    65,    91,    66,     5,
-      44,    77,    73,    10,    55,    56,    57,    82,    83,    84,
-     110,    88,   122,    39,   119,    98,    99,   116,   100,   117,
-       8,   102,    52,    16,   113,   112,   114,    76,    45,    78,
-      64,    90,   111,    26,   115,    18,    19,    21,    20,   118,
-      87,   108,   104,   123,   121,   129,   106,    70,     6,     7,
-      95,    24,    47,     9,    31,    30,    46,    38,   125,    35,
-    1371,    97,   109,    96,    71,   103,    74,   107,   124,    72,
-     120,  1472,  1471,  1521,  1475,  1498,     0,  1487,  1283,  1282,
-    1268,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   571,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1294,  2080,  2095,  2096,  2097,  2098,  2099,  2100,
-    2101,  2102,   364,  2103,  2104,  2105,  2106,  2107,  2108,  2109,
-    2110,  2111,  2112,  2366,  2367,  2368,  2369,  2113,  2114,  2115,
-    2116,  2117,  2118,  2119,  2370,  2371,  2120,  2121,  2122,  2123,
-    2124,  2372,  2125,  2126,  2127,  2128,  2129,  2130,  2131,  2132,
-    2133,  2134,  2135,  2136,  2137,  2138,  2139,  2140,  2141,  2142,
-    2143,  2144,  2145,  2146,  2373,  2374,  2147,  2148,  2149,  2150,
-    2151,  2152,  2153,  2154,  2155,  2156,  2157,  2158,  2159,  2160,
-    2161,  2162,  2163,  2164,  2165,  2166,  2167,  2168,  2169,  2170,
-    2171,  2172,  2375,  2173,  2174,  2175,  2376,  2176,  2177,  2178,
-    2377,  2179,  2180,  2181,  2182,  2183,  2184,  2185,  2378,  2379,
-    2186,  2187,  2188,  2189,  2190,  2191,  2192,  2193,  2194,  2195,
-    2196,  2197,  2198,  2199,  2200,  2201,  2202,  2380,  2203,  2204,
-    2205,  2206,  2381,  2382,  2383,  2207,  2208,  2209,  2210,  2211,
-    2212,  2213,  2214,  2384,  2215,  2216,  2217,  2218,  2219,  2220,
-    2221,  2222,  2223,  2224,  2225,  2226,  2227,  2228,  2229,  2230,
-    2231,  2232,  2233,  2234,  2385,  2386,  2235,  2236,  2387,  2237,
-    2238,  2239,  2388,  2240,  2389,  2241,  2242,  2243,  2244,  2245,
-    2246,  2247,  2248,  2390,  2249,  2391,  2250,  2251,  2252,  2253,
-    2254,  2255,  2256,  2257,  2258,  2259,  2392,  2260,  2393,  2263,
-    2261,  2262,  2264,  2265,  2266,  2267,  2268,  2269,  2270,  2271,
-    2394,  2272,  2273,  2274,  2275,  2276,  2277,  2278,  2279,  2280,
-    2281,  2282,  2283,  2284,  2285,  2286,  2287,  2288,  2289,  2290,
-    2291,  2395,  2292,  2293,  2294,  2295,  2296,  2297,  2298,  2299,
-    2300,  2301,  2302,  2303,  2304,  2305,  2306,  2396,  2307,  2308,
-    2309,  2310,  2397,  2311,  2312,  2313,  2314,  2315,  2316,  2317,
-    2318,  2319,  2320,  2321,  2322,  2398,  2323,  2324,  2325,  2326,
-    2327,  2328,  2329,  2330,  2399,  2400,  2331,  2332,  2401,  2333,
-    2402,  2334,  2335,  2336,  2337,  2338,  2339,  2340,  2341,  2342,
-    2343,  2344,  2345,  2346,  2347,  2348,  2349,  2350,  2403,  2404,
-    2351,  2352,  2353,  2354,  2355,  2356,  2357,  2358,  2359,  2360,
-    2361,  2362,  2405,  2406,  2407,  2408,  2409,  2410,  2411,  2412,
-    2413,  2363,  2364,  2365,   363,  1462,  2048,  2081,  2082,  1370,
-    1350,   572,     0,  1271,   392,  1499,     0,     0,     0,     0,
-       0,     0,     0,     0,   787,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   177,     0,     0,   416,
-     415,     0,     0,     0,   992,   421,     0,     0,     0,     0,
-       0,   560,  1412,  2261,  1410,  1463,   259,   262,   263,   260,
-     261,  2070,     0,  1102,  1103,  1105,     0,     0,     0,  1115,
-     825,   826,     0,     0,     0,   828,     0,     0,     0,   821,
-       0,     0,     0,     0,     0,     0,   827,   818,     0,   817,
-       0,     0,  1115,     0,     0,     0,   819,     0,     0,  1272,
-    1409,   422,  1499,     0,  1387,  1388,  1389,  1371,  1378,  1390,
-    1383,  1385,  1384,  1386,  1382,  2069,  2096,   930,   930,   930,
-     930,   927,   928,   930,   930,   930,  2278,     0,     0,   909,
-       0,   911,  2071,   930,   935,   477,   477,   477,     0,   934,
-     939,   477,     0,  1265,  1303,  2053,  1511,     0,   910,  1264,
-       0,     0,     0,  2331,  1401,     0,     0,  1130,  1126,  1128,
-    1129,  1127,     0,     0,     0,  2294,  1276,   241,  2304,  2399,
-    2331,   240,   234,   236,   208,  2100,     0,     0,   934,     0,
-    1273,  1274,   895,  1518,  1516,     0,  2035,  2118,  2132,  2218,
-     231,  2289,  2295,  2304,  2399,  2331,  2362,   187,   197,   192,
-       0,   252,  2304,  2399,  2331,   248,  1294,     0,  1488,  1616,
-    2044,     0,  1267,  1266,  1372,     0,  1375,     0,  1577,  2274,
-    1492,  1495,  1377,  1493,  1484,     0,     0,     1,  1499,  1366,
-    1515,  1515,     0,  1515,     0,  1476,  1484,  1479,  1483,     0,
-       0,     0,     0,  2080,  2414,  2415,  2416,  2417,  2418,  2419,
-    2420,  2421,  2422,  2423,  2424,  2425,  2426,  2427,  2428,  2429,
-    2430,  2431,  2432,  2433,  2434,  2435,  2436,     0,     0,  2054,
-    2081,  2085,     0,   835,     0,  1306,  2049,   979,     0,     0,
-       0,     0,  2048,     0,     0,     0,     0,  2086,  2076,  2077,
-       0,  2074,  2075,  2087,  2088,  2089,     0,  2191,     0,     0,
-       0,  1941,  1952,  1953,  1954,  2122,  2176,  1949,  1950,  1951,
-    1943,  1944,  1945,  1946,  1947,  1948,     0,  1100,  1942,     0,
-    2191,     0,   156,     0,   134,     0,     0,  2191,     0,     0,
-       0,     0,     0,  2191,     0,     0,     0,     0,     0,  2223,
-       0,   134,  2191,     0,     0,  1288,     0,     0,     0,  1290,
-    1293,  1269,  1353,     0,  2044,     0,     0,     0,   872,   864,
-       0,   873,   865,     0,     0,   875,     0,     0,   867,     0,
-       0,     0,     0,   876,     0,   866,   868,   878,   869,   874,
-       0,     0,     0,     0,   870,     0,     0,  1280,     0,  1403,
-    1405,  1404,  1402,   477,     0,     0,     0,     0,     0,     0,
-     134,  1338,     0,  2191,   134,     0,     0,   420,   419,   134,
-    2074,   418,   417,  2122,  2176,     0,  1018,     0,   134,  2191,
-       0,   179,   644,   575,     0,     0,   746,  2223,   134,     0,
-       0,     0,     0,     0,     0,   995,     0,     0,     0,   559,
-     572,  1413,  1411,     0,  1106,   233,   232,  1104,   823,  2191,
-       0,   338,     0,     0,  2191,  1325,  2083,  1674,  1703,  1681,
-    1703,  1703,  1670,  1670,  2160,  1683,  2191,  1671,  1672,  1710,
-       0,  1703,  1670,  1675,     0,  1673,  1713,  1713,  1698,   338,
-     839,  1655,  1656,  1657,  1658,  1684,  1685,  1659,  1690,  1691,
-    1705,  1660,  1727,  1670,  2084,   824,     0,   822,  2191,     0,
-    2191,  2078,   170,     0,   820,  2122,  2176,  2191,     0,     0,
-    2191,     0,  2191,   162,  2191,     0,  2191,   338,  2191,   576,
-       0,     0,  2191,     0,  2191,   338,  2191,  2223,   164,     0,
-    2191,   338,   833,     0,  1406,     0,  1380,  2403,  1395,     0,
-    1391,  1398,  1394,  1499,   930,   929,     0,   930,     0,   930,
-       0,   930,     0,   930,     0,     0,     0,   930,  2072,  2073,
-     912,     0,   936,     0,     0,   943,   942,   941,     0,     0,
-       0,   944,     0,  1620,  1436,     0,  1262,   235,   186,     0,
-     247,   246,  1279,     0,     0,     0,   995,  1133,     0,  1131,
-    1122,  1123,  1275,   239,   237,     0,     0,     0,     0,     0,
-       0,  1281,     0,     0,     0,     0,  2057,  2059,  2060,  1955,
-    2025,     0,  2367,  2368,  2369,  2014,     0,  2370,  2371,  2372,
-    2416,  1857,  1844,  1853,  1858,  1845,  1847,  1854,  2373,  2374,
-    2375,  2376,  2067,  2377,  2378,  2379,  2381,  2382,  2383,  2384,
-    1849,  1851,  2385,  2386,     0,  2068,  2388,  2389,  2245,  2391,
-    2392,  2394,  2395,  1855,  2397,  2398,  2399,  2400,  2401,  2402,
-    2066,     0,  1856,  2404,  2406,  2407,  2408,  2409,  2410,  2411,
-    2412,  2413,     0,     0,     0,  2041,     0,  1824,     0,  1663,
-    1664,  1686,  1687,  1665,  1692,  1693,  1666,     0,  2040,  1730,
-    1906,  1823,  1840,     0,  1829,  1830,     0,  1822,  1818,  1501,
-    2036,     0,  1819,  2056,  2058,  2015,  1501,  2034,   200,   254,
-       0,   255,  2042,  2304,   188,   230,   202,   229,   203,   201,
-       0,  2120,   189,     0,     0,   190,     0,     0,     0,     0,
-     251,   249,     0,  1270,     0,  1618,  1617,  2022,     0,  2023,
-    2045,   844,  1365,  1363,  1364,  1362,     0,  1359,  1361,  1374,
-    1371,  2030,  2029,  2031,     0,  1494,     0,     0,     0,  1474,
-    1473,     3,  1377,  1513,  1514,     0,     0,     0,     0,     0,
-       0,     0,     0,  1567,  1529,  1530,  1532,  1564,  1568,  1576,
-       0,  1480,     0,     0,  1622,     0,  1578,     0,     0,  2055,
-       0,     0,     0,     0,   836,     0,     0,     0,  1312,     0,
-    1314,  1315,  1316,     0,     0,     0,  1317,  1318,  1306,   243,
-    1324,  1322,  1305,  1307,  1320,     0,     0,     0,     0,     0,
-       0,     0,  1330,     0,     0,   168,   169,   588,   572,     0,
-    2191,     0,     0,     0,     0,     0,  1058,  1065,     0,     0,
-       0,     0,     0,     0,     0,     0,  1059,  1057,  1060,   245,
-    1069,  1086,  1089,     0,   969,     0,     0,     0,     0,     0,
-    1185,     0,     0,     0,  1185,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   268,   280,
-     333,   552,     0,     0,   554,     0,  2191,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   132,   133,
-     138,     0,     0,     0,     0,     0,     0,   539,   551,     0,
-       0,     0,     0,     0,   548,     0,   134,   272,   532,   536,
-       0,     0,     0,   653,   652,  1328,  1327,     0,     0,  1185,
-       0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   356,   357,     0,
-       0,     0,   138,   161,     0,     0,     0,   274,     0,     0,
-    1289,  1286,  1287,     0,  1292,     0,  1349,     0,   863,     0,
-       0,     0,     0,   880,     0,   877,     0,     0,   871,  2122,
-    2176,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   395,     0,     0,   743,     0,     0,     0,     0,     0,
-     754,     0,  1306,  1337,     0,     0,     0,   581,     0,  2191,
-       0,   136,   788,     0,   744,   421,     0,     0,   136,     0,
-       0,   173,     0,   648,     0,     0,     0,     0,     0,     0,
-     692,   691,     0,     0,     0,   745,     0,   136,     0,  2191,
-     535,  2191,     0,   477,   477,     0,     0,   994,   997,     0,
-       0,     0,     0,  1466,  1468,  1467,     0,  1465,     0,   338,
-     336,   337,   741,  1114,     0,     0,  1702,  1689,  1697,  1696,
-       0,  1679,  1678,  1677,     0,  1676,     0,  1703,  1703,  1701,
-    1680,  1655,     0,     0,     0,  1709,     0,  1707,     0,   813,
-    1651,  1647,     0,     0,  1695,  1716,  1717,  1718,  1715,  1728,
-    1714,     0,  1661,  1719,  1670,  1667,     0,     0,   338,     0,
-       0,  2191,   338,  2191,     0,  2191,     0,     0,   338,   338,
-       0,     0,     0,     0,     0,     0,   649,     0,   832,   830,
-     829,   831,     0,     0,     0,     0,   811,     0,     0,     0,
-    2191,   338,     0,     0,   810,  1965,     0,     0,  1499,     0,
-     219,   220,   218,  1396,   221,  1397,  1393,  1379,     0,   920,
-       0,   924,     0,   915,     0,   921,     0,   916,   913,   914,
-       0,   919,     0,     0,   478,   480,     0,     0,  2144,  2159,
-       0,  2182,  2211,  2212,  2295,  2300,     0,  2326,  2336,     0,
-     945,   974,   940,   662,     0,     0,  1446,  1263,  1972,     0,
-    1499,     0,     0,     0,     0,   238,   209,     0,     0,     0,
-     976,  2294,  1278,   894,   572,     0,  1820,     0,  1827,  1828,
-    2013,     0,     0,     0,     0,     0,     0,  1826,  1980,     0,
-       0,     0,     0,     0,  1753,     0,     0,     0,  1993,     0,
-    1999,     0,     0,  1790,     0,     0,     0,     0,     0,     0,
-       0,     0,  1754,  1734,  1735,  1824,  1965,     0,  1825,  2063,
-       0,  1727,  2039,  1955,     0,  1952,  1953,  1954,     0,     0,
-       0,  2028,     0,  1963,     0,     0,  1768,  1961,  1770,     0,
-       0,     0,     0,  1949,  1950,  1951,  1943,  1944,  1945,  1946,
-    1947,  1948,  1959,  1750,     0,     0,  1908,     0,  1749,     0,
-       0,  1580,     0,  2061,  2016,  1580,   256,   257,   253,     0,
-       0,   205,   204,     0,   223,   227,   228,   199,   226,     0,
-     222,   207,  1897,  1896,   206,   198,   195,   193,   210,   212,
-     213,   196,   194,   250,     0,  2021,     0,  2090,  2437,  2438,
-    2439,  2440,  2441,  2442,  2443,  2444,  2445,  2446,  2447,  2448,
-    2449,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,  2458,
-    2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,  2467,  2468,
-    2469,  2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477,  2478,
-    2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,  2487,  2488,
-    2489,  2490,  2491,  2492,  2493,  2494,  2495,  2496,  2497,  2498,
-    2499,  2500,  2501,  2502,  2503,  2504,  2505,  2506,  2507,  2508,
-    2509,  2510,  2511,  2512,  2513,  2018,  2017,  2051,  2091,  2092,
-    2093,  2094,  2024,     0,     0,   338,  1357,     0,  1354,  2033,
-       0,  1496,     0,  2046,     0,  1367,  1491,  1490,  1522,  1523,
-    1011,  1489,  1547,  1548,  1543,     0,     0,     0,  1573,  1571,
-    1539,  1533,  1538,  1536,     0,  1540,  1730,  1566,  1478,  1527,
-    1528,  1531,  1477,     0,  1569,     0,  1449,  1567,  1532,  1433,
-       0,  1415,     0,  1623,     0,  1033,  1035,     0,  1034,     0,
-    1037,     0,  1046,     0,     0,  1032,  1051,     0,  1040,  1038,
-       0,     0,     0,     0,     0,     0,   837,     0,     0,     0,
-       0,  1313,     0,     0,  2326,   242,  1316,  1321,  1308,  1319,
-       0,     0,     0,     0,     0,   978,   977,     0,     0,   999,
-       0,     0,     0,  1333,   466,     0,   335,     0,     0,     0,
-       0,     0,     0,     0,     0,   739,   736,     0,     0,   735,
-       0,   586,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   623,     0,  1185,     0,   656,     0,  1067,     0,     0,
-    1066,     0,  1070,     0,     0,  1068,  1063,  1064,  2295,  2304,
-    2331,   244,  1088,     0,  1087,  1085,  1021,     0,  1022,     0,
-       0,     0,     0,     0,  2169,  2191,   282,   297,     0,  1184,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   320,     0,     0,   323,   322,
-       0,     0,     0,     0,     0,   327,   306,     0,   307,     0,
-       0,   326,     0,     0,   553,     0,     0,     0,     0,  1185,
-       0,   276,     0,     0,     0,     0,     0,     0,  1101,     0,
-     680,     0,   159,     0,   155,   158,     0,     0,     0,     0,
-     538,   550,     0,   542,   543,   540,   544,   545,     0,     0,
-       0,     0,     0,     0,   537,     0,     0,   646,   645,   651,
-       0,     0,     0,     0,     0,     0,     0,     0,  1135,  1134,
-       0,     0,     0,     0,     0,     0,   778,     0,     0,     0,
-       0,     0,     0,     0,   665,     0,   664,     0,   160,     0,
-       0,     0,     0,     0,     0,     0,   217,  1285,  1291,  1352,
-    2052,  1351,     0,     0,     0,     0,   879,     0,     0,     0,
-       0,     0,     0,     0,     0,   881,   882,   883,   884,     0,
-       0,     0,     0,     0,   370,     0,     0,     0,  2083,     0,
-     767,   742,     0,     0,   755,     0,   757,   760,     0,  1304,
-     439,     0,     0,   578,   623,     0,   424,   166,     0,     0,
-       0,     0,   682,   131,   177,   179,   422,     0,   178,   180,
-     182,   183,   184,   181,   185,   643,   647,     0,   574,     0,
-       0,     0,     0,     0,   693,   697,   696,   700,   698,     0,
-     694,     0,     0,  1643,     0,   154,     0,     0,   530,   534,
-       0,     0,     0,   424,   508,   349,  2191,     0,   477,     0,
-    2191,     0,   996,     0,     0,     0,     0,     0,     0,     0,
-       0,  1464,     0,  1092,     0,  1326,     0,     0,     0,   338,
-    1700,  1699,  1652,  1648,     0,     0,     0,     0,   840,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,  1668,
-    2191,   338,     0,  1090,   171,  2079,     0,   815,     0,     0,
-       0,     0,     0,  1094,   807,     0,   338,   163,     0,   338,
-     338,   577,     0,     0,   338,   338,   165,     0,     0,     0,
-     569,   338,   834,  1408,     0,  2191,   477,  1381,  1392,   917,
-     926,   925,   923,   922,   918,     0,   937,     0,   476,     0,
-       0,     0,   951,   952,     0,     0,   950,   967,   953,     0,
-     955,   947,   946,   956,   957,     0,     0,   976,   660,     0,
-       0,     0,     0,  1443,     0,  1441,     0,  1621,  1445,  1434,
-    1400,     0,  1399,     0,   523,     0,     0,  1132,     0,     0,
-     934,     0,     0,   338,  1277,     0,   896,   897,     0,     0,
-       0,     0,     0,     0,   903,   900,   901,   902,   904,     0,
-     905,     0,     0,     0,  2026,  1976,     0,  1977,     0,     0,
-    2012,  2008,     0,     0,     0,     0,     0,  1981,  1984,  1985,
-    1986,  1983,  1987,  1982,     0,     0,  1988,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  2395,     0,     0,     0,
-       0,  1793,     0,     0,  1936,     0,  1965,  1998,     0,     0,
-       0,     0,     0,     0,  1965,  2004,     0,     0,     0,     0,
-    1895,     0,  1892,     0,     0,     0,     0,  2025,     0,     0,
-    2064,  1731,  1745,  1746,  1747,  1751,  2038,     0,  2027,     0,
-       0,  1732,  1759,     0,  2005,  1786,     0,  1791,  1774,     0,
-    1767,     0,  1772,  1776,  1755,     0,  1752,     0,  2028,  1964,
-       0,  1962,     0,  1742,  1743,  1744,  1736,  1737,  1738,  1739,
-    1740,  1741,  1748,  1940,  1938,  1939,     0,     0,     0,  1916,
-       0,     0,  1771,  2184,  2218,     0,  1512,  1512,  1512,  1500,
-    1510,  2037,     0,  1638,     0,     0,     0,     0,  1832,     0,
-    1969,  1521,  1967,  1038,  1638,  2043,     0,     0,  1727,     0,
-    1619,  2019,  2022,   842,   843,   841,  1377,  1360,  1356,  1355,
-    2032,  1376,     0,  1499,     0,  1009,  1010,     0,  1014,     0,
-       0,  1541,  1574,     0,  1565,     0,  1545,  1546,  1537,  1575,
-    1447,     0,  1570,  1482,  1481,     0,  1641,     0,     0,  1425,
-    1417,     0,  1624,     0,  1580,  1451,  1453,  1454,     0,  2025,
-    1036,     0,  1670,  1047,     0,  1031,     0,  1030,  1670,     0,
-    1048,     0,  1670,     0,     0,     0,  1222,  1137,  1193,   838,
-    1223,  1138,  1194,  1224,  1139,  1323,  1311,  1310,  1309,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   718,  2191,   338,  1331,  1225,     0,  1140,
-     334,  1332,  1195,  1336,   738,   737,     0,     0,  1196,     0,
-     587,     0,     0,   592,   593,   594,     0,     0,     0,   595,
-       0,  2122,  2176,     0,   600,   607,   612,   602,     0,     0,
-     614,   608,     0,     0,     0,     0,     0,     0,   620,   627,
-       0,     0,     0,     0,     0,     0,     0,  1061,  1062,  1226,
-    1143,     0,  1197,  1020,     0,  1144,   167,     0,     0,   269,
-    2191,   284,     0,   629,   718,  1187,   304,     0,     0,   319,
-     314,   315,   313,  2191,   338,  2191,   338,     0,     0,     0,
-       0,     0,   316,   311,   312,   308,     0,     0,   321,  2099,
-    2161,  2305,     0,   633,   635,     0,   640,   324,  1160,   345,
-     344,   343,     0,   328,     0,   350,   353,   325,   302,   305,
-     303,   299,   281,     0,     0,     0,     0,     0,     0,     0,
-       0,  2050,     0,     0,  1096,     0,     0,     0,     0,     0,
-       0,     0,   674,   157,  1175,   147,     0,     0,   143,     0,
-       0,     0,     0,   137,     0,  1232,  1150,     0,     0,   273,
-     533,   541,   546,  1154,   549,  1207,   547,  1238,  1151,     0,
-    1185,     0,   265,     0,  1152,     0,  1201,  1234,  1177,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  1339,     0,
-       0,     0,     0,     0,     0,   338,     0,     0,     0,  1187,
-    2191,   338,  1233,     0,  1182,  1215,     0,   358,     0,  1176,
-       0,     0,   275,  1156,  1209,     0,     0,   215,   214,   216,
-       0,     0,  2159,     0,   886,   847,   885,     0,     0,     0,
-       0,     0,     0,   855,     0,     0,     0,   846,     0,   845,
-     369,     0,   394,   367,   368,   370,     0,     0,   766,     0,
-       0,     0,   756,     0,     0,     0,  1329,     0,   134,   585,
-       0,     0,     0,   580,   622,   629,     0,     0,     0,   423,
-     427,   431,   432,   433,     0,     0,     0,     0,   148,   135,
-       0,   796,     0,   477,     0,   678,     0,   179,   172,     0,
-       0,     0,   349,   753,   751,   750,   752,     0,     0,     0,
-     771,   749,     0,  1642,  1644,     0,     0,     0,     0,     0,
-     523,   426,     0,   480,     0,     0,   512,     0,     0,     0,
-       0,   349,     0,     0,     0,  1025,     0,  1043,  1026,     0,
-       0,     0,     0,  1074,  1081,  1075,  1053,     0,     0,   557,
-    1469,  1470,     0,   338,     0,     0,  1669,  1682,   814,     0,
-    1712,  1711,  1713,  1713,     0,  1653,     0,  1704,  1705,  1721,
-    1722,  1723,  1724,  1725,  1726,     0,  1720,  1662,     0,   624,
-     338,   338,     0,   338,     0,   338,   338,     0,   671,     0,
-    1260,   650,     0,     0,   726,   812,     0,     0,   338,   809,
-    1966,     0,   938,   479,     0,     0,     0,     0,   949,     0,
-     555,   954,     0,   966,   961,   963,     0,   970,   659,     0,
-       0,  1444,  1437,  1439,  1438,     0,     0,  1435,  1973,   808,
-       0,   529,  1124,  1125,     0,     0,   338,     0,   971,     0,
-       0,   898,   899,     0,     0,   906,     0,     0,     0,  1517,
-    1974,  1975,     0,     0,     0,  2009,     0,     0,  1870,     0,
-    1846,  1848,  1860,     0,  1871,  1831,  1872,  1850,  1852,     0,
-    1956,     0,     0,  1861,     0,  1795,  1796,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1811,  1810,  1862,  1935,     0,     0,
-    1996,  1997,  1863,     0,     0,  2003,     0,     0,     0,  1868,
-    1873,     0,     0,     0,     0,  1879,     0,  1900,     0,     0,
-       0,  1821,  1966,     0,     0,     0,     0,     0,     0,     0,
-       0,  1792,  1775,  1769,     0,  1773,  1777,     0,     0,     0,
-    1763,     0,     0,  1761,  1787,  1757,     0,     0,  1788,     0,
-       0,     0,  1839,     0,     0,  1512,  1512,  1512,  1512,  1509,
-       0,     0,     0,     0,  2292,     0,  1602,  1579,  1581,  1589,
-    1602,  1607,  1841,  1636,  1842,     0,  2044,     0,  1550,  1521,
-    1521,  1521,  1838,     0,     0,     0,     0,  1520,  1550,   191,
-       0,   224,   211,  2021,     0,  1358,  2047,     0,  1524,     0,
-    1957,  1014,     0,  1526,     0,     0,  1572,  1534,  1448,  1432,
-       0,  1430,  1419,     0,  1420,  2025,     0,  1430,  1416,  1459,
-       0,     0,  1641,     0,  1458,     0,  1670,  1028,  1029,     0,
-    1052,     0,  1221,  1136,  1192,   981,   982,     0,   980,     0,
-       0,     0,   465,   998,     0,     0,     0,   718,     0,     0,
-     469,     0,  1334,     0,  1239,  1174,   589,   590,     0,   601,
-       0,   610,   609,     0,     0,   597,     0,     0,     0,     0,
-       0,   596,   616,   561,   617,   619,     0,     0,   618,   621,
-     626,  1185,     0,   657,  1162,     0,  1213,  1055,  1188,     0,
-    1023,     0,     0,     0,     0,     0,     0,   439,   298,     0,
-       0,     0,   286,   296,     0,  1191,   330,     0,   301,     0,
-     294,   317,   309,   318,   310,   329,   331,     0,   637,   638,
-     636,   632,     0,   639,   641,     0,   347,     0,     0,     0,
-    1228,     0,  1185,     0,   277,     0,  1158,     0,  1211,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1229,  1198,     0,  1217,     0,     0,     0,   679,     0,   676,
-       0,     0,   140,   139,     0,   146,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   359,   340,     0,   774,     0,     0,     0,
-     361,     0,     0,     0,     0,  1227,  1145,   848,     0,     0,
-       0,   849,   860,     0,     0,   850,     0,     0,     0,     0,
-     862,   372,   373,   134,   371,     0,     0,  2245,  1943,  1944,
-     764,   769,   761,   763,   765,   762,     0,   768,   718,     0,
-     758,   759,     0,     0,     0,     0,     0,   451,     0,     0,
-     445,     0,     0,  1081,   438,   441,   442,     0,     0,   581,
-     584,   582,   583,   615,     0,   458,   504,     0,   150,     0,
-       0,   151,   149,     0,     0,   349,   683,   687,   685,   684,
-     686,   681,     0,   674,     0,   175,   422,     0,     0,   573,
-     699,   702,   695,     0,   770,   772,   747,     0,   629,     0,
-     535,     0,   477,  1409,   518,     0,   508,   504,   506,   505,
-     507,     0,   514,   348,     0,     0,   523,   514,     0,     0,
-     999,  1024,     0,     0,     0,  1071,  1076,  1072,     0,     0,
-    1039,     0,  1073,     0,  1054,  1017,  1255,  1256,  1253,  1254,
-       0,     0,     0,  1461,  1093,     0,  1688,     0,  1708,  1706,
-    1649,  1654,  1694,  1729,   338,  1091,   816,     0,   803,     0,
-     805,  1095,   338,   338,   338,   338,   666,     0,   570,     0,
-       0,     0,     0,   948,   968,     0,   964,     0,     0,   931,
-     973,     0,     0,  1442,  1440,   521,     0,   976,     0,   932,
-     975,     0,     0,     0,     0,     0,     0,     0,  1978,     0,
-    2011,  2007,     0,  1843,  1979,     0,  1991,  1990,  1936,     0,
-       0,  1794,  1806,  1807,  1808,  1992,     0,  1816,     0,     0,
-    1803,  1804,  1805,  1797,  1798,  1799,  1800,  1801,  1802,  1809,
-    2001,  2000,  1994,  1995,     0,  1865,  1866,  1867,  2002,  1874,
-       0,  2113,  1901,  1878,  1894,  1893,     0,     0,     0,  1881,
-       0,     0,  1890,     0,  1937,  2065,  1733,     0,     0,  1760,
-    2006,  1778,     0,     0,     0,  1756,  1956,     0,     0,     0,
-       0,     0,  1765,     0,     0,     0,  1919,  1914,  1915,  1933,
-       0,     0,     0,     0,     0,     0,  1503,  1502,  1508,  1602,
-    1607,     0,  1484,     0,  1589,     0,  1601,  1587,  1600,     0,
-       0,  1613,  1611,     0,  1613,     0,  1613,     0,  1583,     0,
-    1603,  1585,  1600,     0,  1628,     0,  2045,  1637,     0,  1563,
-       0,     0,     0,     0,  1970,  1971,     0,  1968,  1833,  1563,
-       0,  2020,  1497,     0,  1525,  1012,  1013,  1542,  1535,  2140,
-    1639,     0,  1431,     0,     0,  1422,  1428,  1414,     0,     0,
-    1452,  1430,  1455,  1049,     0,     0,  1041,   987,   988,   986,
-     989,     0,     0,     0,   718,     0,     0,   485,     0,  1006,
-    1006,     0,     0,   471,   517,  1081,   721,     0,     0,     0,
-     719,   338,  1141,     0,   611,     0,     0,   606,   604,   603,
-     605,     0,   562,  1237,  1142,     0,     0,     0,     0,  1056,
-       0,     0,  1161,     0,   283,     0,   436,     0,   291,  1186,
-       0,     0,     0,   290,     0,   338,   338,   332,   634,   346,
-     351,   352,   355,     0,     0,     0,     0,     0,  1190,     0,
-       0,     0,     0,     0,     0,     0,   797,   780,     0,     0,
-     798,   799,     0,     0,     0,  1098,  1099,  1097,  1216,     0,
-       0,     0,  1148,     0,     0,   670,   144,   141,   142,   145,
-    1172,  1155,  1208,     0,     0,     0,  1153,     0,  1202,  1168,
-    1164,     0,     0,     0,     0,     0,  1236,  1181,  1206,  1235,
-    1179,  1204,  1178,  1203,  1180,  1205,     0,  1173,     0,  1646,
-     777,     0,     0,     0,   338,   338,   668,  1157,  1210,     0,
-       0,   851,     0,     0,   853,   854,     0,   857,   377,   397,
-     688,   740,     0,     0,   717,     0,   443,     0,   449,   453,
-     454,   452,   444,  1081,   477,   516,     0,     0,   730,     0,
-     579,   424,   455,     0,     0,   428,   153,   152,     0,     0,
-       0,   677,   676,   179,  2191,     0,     0,   704,   708,   748,
-       0,  1645,   663,   349,   531,     0,     0,   424,   523,     0,
-     429,   434,   435,     0,   512,   508,     0,     0,   520,  1302,
-       0,   524,   526,     0,     0,     0,  1027,  1044,  1045,     0,
-       0,  1081,     0,     0,  1080,     0,     0,   564,   338,  1650,
-     625,   338,   338,   672,  1261,  1121,   727,     0,   960,   959,
-     958,   556,     0,   962,   661,     0,   522,   338,     0,     0,
-     908,   889,   907,     0,     0,   888,     0,   887,  2010,  1859,
-    1869,  1989,  1935,  1966,     0,     0,  1817,     0,     0,  1864,
-    2405,     0,     0,     0,     0,  1898,  1899,  1880,     0,  2236,
-    1885,     0,     0,     0,  1784,  1782,  1779,     0,  1780,  1764,
-       0,     0,  1762,  1758,     0,  1789,  1905,     0,  1921,  1918,
-    1932,  1966,  1507,  1506,  1505,  1504,  1588,  1586,     0,  1591,
-    1598,     0,  1582,     0,  1612,  1608,     0,  1609,     0,     0,
-    1610,     0,     0,  1584,     0,  1598,     0,  1635,  1521,     0,
-       0,  1910,  1836,  1837,  1834,  1521,  2062,  1910,   225,     0,
-       0,  1429,  1418,  1421,     0,     0,     0,     0,  1460,  1450,
-    1042,  1050,     0,     0,     0,   467,     0,  1081,     0,     0,
-       0,  1008,  1008,     0,  1081,   516,   723,   722,   725,   720,
-     724,  1335,     0,   598,   599,   613,  1163,     0,  1214,  1170,
-       0,  1446,   285,     0,   630,   287,   288,   289,   292,   340,
-     300,   293,     0,     0,     0,  1159,     0,  1212,  1166,  1230,
-    1146,  1199,     0,     0,   786,     0,     0,     0,     0,  1231,
-    1147,  1200,  1218,  1219,  1220,     0,     0,     0,     0,  1446,
-       0,     0,     0,     0,     0,  1344,     0,  1189,   339,   776,
-     775,   340,   360,  1183,     0,   852,   858,   859,   856,     0,
-     366,   374,   398,   134,     0,     0,  1112,  1112,     0,   718,
-       0,     0,   440,   516,   484,     0,   446,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   669,
-     174,     0,   424,   629,   703,     0,     0,     0,   773,     0,
-     523,   426,     0,  1407,   425,     0,     0,   514,   512,     0,
-     509,     0,   513,     0,  1295,     0,     0,     0,     0,  1077,
-       0,  1083,     0,  1038,  1015,  1078,     0,  1638,     0,     0,
-       0,     0,   568,  1113,   804,   806,   667,   965,     0,   972,
-     338,   890,   891,   892,   893,  1937,  1812,     0,     0,     0,
-       0,  1875,     0,  1876,  1903,  1902,  1882,  1886,     0,  1883,
-    1884,  1781,  1785,  1783,  1766,  1907,     0,  1521,  1934,  1631,
-       0,  1634,  1590,     0,     0,  1592,     0,     0,  1594,  1596,
-       0,     0,     0,     0,     0,     0,  2048,     0,  2139,  2379,
-    2291,     0,  1549,  1551,  1554,  1556,  1555,  1557,  1553,  1562,
-       0,  1486,     0,  1485,  1958,  1640,     0,     0,  1000,     0,
-       0,  1457,  1456,   966,     0,   338,  1006,   516,   486,  2245,
-     487,  1005,  1007,  1011,  1011,     0,   516,   718,   591,     0,
-       0,   270,   628,     0,   342,   354,     0,  1446,     0,     0,
-       0,   793,   781,     0,     0,   800,  1149,   673,     0,     0,
-     266,  1169,  1165,  1346,  1347,     0,     0,     0,     0,     0,
-     338,   861,     0,   400,   407,   378,   383,  1338,     0,  1338,
-       0,   380,   384,  1338,   379,  1338,   376,   377,     0,  1112,
-       0,  1109,  1108,   716,     0,   475,   447,     0,   495,     0,
-       0,   731,     0,     0,   504,   464,   463,   460,   459,   461,
-     462,   457,   456,     0,   629,   790,   349,  1302,     0,   642,
-     705,   706,   701,     0,     0,     0,   519,   508,   504,   430,
-     439,   413,   514,   510,   511,     0,     0,     0,   523,  1348,
-     999,     0,  1082,     0,     0,     0,     0,     0,     0,  1116,
-     563,     0,     0,   567,   558,   629,   933,  1813,     0,  1814,
-       0,     0,     0,  1888,  1887,     0,  1924,  1636,     0,     0,
-    1630,     0,  1599,  1615,     0,  1595,  1593,     0,  1604,     0,
-    1606,  1833,     0,     0,     0,  1558,     0,  1909,  1911,     0,
-    1835,  1427,  1638,     0,  1424,     0,   983,     0,   984,  1008,
-     490,     0,  1014,  1014,   477,   718,   468,  1171,     0,   631,
-       0,   295,     0,   278,  1167,     0,   784,     0,   795,   793,
-       0,     0,     0,     0,  1340,     0,  1341,  1342,  1345,   362,
-     375,     0,   405,     0,   403,   402,   404,     0,   391,     0,
-       0,     0,     0,     0,     0,   365,   396,  1107,  1111,  1110,
-       0,     0,   448,   481,   482,   483,     0,   450,   491,   492,
-       0,   728,     0,   733,     0,     0,   503,   654,     0,     0,
-       0,  1296,     0,     0,     0,  1302,   512,   508,   437,   411,
-       0,  1299,     0,   525,     0,   349,  1081,  1084,  1079,  1259,
-       0,     0,   566,   565,   658,  1815,  1891,  1877,  1904,  1889,
-    1920,     0,     0,     0,  1629,  1632,     0,  1597,     0,     0,
-    1605,     0,     0,     0,  1552,     0,     0,  1426,  1001,     0,
-       0,  1011,     0,   718,     0,  1003,  1002,   484,   470,  1446,
-     341,     0,     0,     0,   791,   794,   782,   795,   802,   801,
-     675,  1446,     0,   401,   410,     0,   408,   381,   386,     0,
-     390,   388,   387,   382,   385,     0,   474,     0,     0,     0,
-     493,     0,   494,   515,     0,   732,     0,     0,   789,     0,
-       0,   424,   707,     0,  1297,   514,   512,  1300,  1301,     0,
-     514,  1016,  1258,  1257,  1499,     0,     0,  2366,  2140,  2338,
-       0,  1922,  1925,  1923,  1917,     0,  1614,  1627,  1560,     0,
-    1559,  1912,  1913,  1638,   338,  1014,     0,   472,   488,   495,
-     271,  1446,     0,     0,   783,   267,  1343,   406,     0,   389,
-     708,   500,     0,   499,     0,   497,   496,   729,   734,   629,
-     779,  1302,   711,   414,   514,     0,  1638,  1241,  1499,  1240,
-    1242,  1250,  1247,  1249,  1248,  1246,  1119,  1120,     0,  1929,
-    1928,  1927,  1931,  1930,  1633,     0,  1625,  1561,  1423,   985,
-    1004,     0,   718,   279,   785,   792,   409,     0,   498,   502,
-     501,   655,  1298,   713,     0,   709,   712,   714,   715,   412,
-     349,   990,     0,  1251,  1245,  1484,  1471,     0,     0,     0,
-       0,   489,   473,     0,   689,     0,   514,  1243,  1499,     0,
-       0,  1926,     0,     0,   710,  1638,  1244,     0,     0,  1626,
-       0,   991,     0,     0,   711,     0,     0,     0,  1117,  1118,
-     690
-};
-
-/* YYDEFGOTO[NTERM-NUM].  */
-static const yytype_int16 yydefgoto[] =
-{
-      -1,    52,    53,    54,    55,  1440,  2307,  2194,  3028,  3029,
-      56,    57,  1436,    58,    59,    60,    61,    62,    63,    64,
-    1368,    65,    66,   960,  1561,  2318,    67,  2045,   738,   739,
-     740,  1867,  1868,  2257,  1869,  1857,  1256,  1694,  1389,   712,
-     713,  1350,  1390,    69,    70,  1250,  1848,    71,    72,    73,
-    1418,  1419,  1362,  1602,  4029,  4681,  2863,  2171,  3068,  2864,
-    2865,    74,  1487,  1488,    75,    76,  2995,  2991,  3563,  4340,
-    4341,  4556,   556,  2286,  4343,  4344,  4542,  4543,  4705,  4815,
-    4816,  2319,  1556,  3062,  3646,  3019,  4099,  3020,  4100,  3021,
-    4101,  3006,  3594,  3595,  3596,  3022,  4072,  4581,  3023,  2064,
-    4722,  2354,  1716,  1714,  4568,  3906,  3907,  4793,  4727,  4728,
-    4729,  4895,  4074,  3066,  3652,  4108,  4356,  2753,   644,  1582,
-    3171,   645,  2357,   588,   646,  2320,    82,  2348,  2349,  1459,
-    2202,  3570,  3151,    83,   980,  3412,  4412,  4623,  4624,    84,
-     221,    85,  1565,    86,    87,  2303,  3013,    88,  2081,  2770,
-      89,    90,  2798,  2799,  2800,    91,    92,  3437,  4283,  1420,
-    2852,  2853,  2854,  2855,  3463,    93,  1563,  1464,  2327,    94,
-      95,    96,    97,    98,  2470,  2471,    99,  2245,   100,   101,
-     102,   103,   104,  3499,  3995,  3623,  2892,  3035,  3621,   105,
-    2321,  1573,  2339,  2340,  4088,  4375,  4592,  4377,  4944,  4945,
-    4349,  3390,  3920,   107,   108,  4067,  4068,  4734,   109,  2079,
-     110,   111,   112,  1540,  2295,  2296,  3571,  1534,  2289,  2290,
-    3633,  3634,   113,  2948,   114,  3976,  3977,   589,  4739,  4688,
-    4806,   115,   116,  3980,  3981,   117,   118,   119,   120,   121,
-     638,  1071,  1072,  1334,  1019,   122,  1965,   123,   926,  2975,
-     124,  1144,  2512,  4151,   125,   669,  1085,  1086,  2322,   127,
-     678,  2490,   680,  1729,  3153,  3154,  3719,  2456,   825,   128,
-     129,  2467,  2493,   130,  1355,  2055,  2056,  3901,  2323,   590,
-    1588,  2361,  2748,  4487,  4488,  4261,  4503,  2678,  3343,   132,
-     591,  1394,  2127,  2364,  3076,  2022,  2023,  2024,  3669,  2025,
-    3078,  2026,  1328,  2027,  3084,  3085,  3086,  3665,  3672,  3675,
-    4401,  4402,   133,  1392,  2125,   134,   135,   136,  1431,   856,
-     137,   603,   604,   138,  4561,   139,   993,   140,  4410,   141,
-     142,   703,   704,  1128,  1129,   143,   144,  2141,  3444,   145,
-     146,   147,  3492,  3493,   148,   149,  4909,  4952,  4953,  4954,
-    3680,  4854,   150,  4911,  1116,   152,   153,   154,   190,   889,
-     890,   891,  2324,  4394,   156,   157,  1351,  1352,  1353,  1354,
-    2050,   158,   159,   160,   161,   162,   163,  1544,   164,   165,
-    4535,   166,   167,  1506,   168,  1286,  1287,   169,   170,   550,
-     756,  1290,  1298,   171,   648,  1079,  1080,  1081,  1696,   172,
-    1124,   928,   649,  1074,   174,   650,  2010,  2699,  3353,  3354,
-    3357,  4246,  3882,   651,  2696,   177,  1736,  2476,  2479,  2692,
-     652,  2704,  2705,  2706,  2707,  2708,  3360,   653,   671,   983,
-    2370,   654,  1217,   182,   183,   184,   766,   760,   761,   186,
-    1841,  2639,   687,  1305,   725,   726,   774,  3327,  1978,  1979,
-    2001,  2002,  1314,  1315,  1991,  1993,  2680,  1994,  2688,  1984,
-    3859,  4472,  4473,  4474,  4475,  4476,  4477,  4231,  1997,  1998,
-    1317,  1318,  1319,  2006,   187,  2643,  3307,  3308,  3309,  3836,
-    3837,  3851,  3847,  4215,  4458,  3310,  1114,  1325,  4223,  4926,
-    3311,  4449,  4450,  4640,  3854,  3318,  3351,  3052,  3053,  3054,
-    2028,  1631,  1021,  1218,  1022,  1645,  1219,  1615,  1024,  1220,
-    1221,  1222,  1027,  1223,  1224,  1225,  1030,  1607,  1634,  1226,
-    1227,  1625,  1642,  1643,  1685,  2550,  1229,  1230,  1231,  3313,
-    1232,  3792,  4182,  4171,  2571,  2572,  1864,  3788,  3253,  1836,
-    2629,  4481,  4657,  4658,  3292,  3817,  4198,  4447,  4773,  4861,
-    4862,  1233,  1234,  1235,  2626,  1832,   858,  1236,  3573,  1834,
-    2565,  2651,  2652,  1739,  1759,  2518,  2534,  2535,  2545,  3212,
-    2553,  2558,  3240,  3241,  2566,  2595,  1237,  2520,  2521,  3196,
-    1761,  1238,  1279,  1876,  1280,  1756,  2590,  1293,  1294,   758,
-    1246,  1239,  1240,  1730,   749,  4454,   545,   815,  2880,  1956,
-     893,   684,  1241,  1242,  1243,  1244,  1424,   830,  1041,  1042,
-     546,   809,   832,  2856,   547,   548,   811,  1961
-};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-   STATE-NUM.  */
-#define YYPACT_NINF -4498
-static const int yypact[] =
+#define yypact_value_is_default(Yystate) \
+  (!!((Yystate) == (-4498)))
+
+#define YYTABLE_NINF -2420
+
+#define yytable_value_is_error(Yytable_value) \
+  (!!((Yytable_value) == (-2420)))
+
+  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+     STATE-NUM.  */
+static const int yypact[] =
 {
     3868,     9, 11062, -4498, -4498,     9, -4498, 63467,   -12,   154,
     1019,   161, 11885, 63902, 70862,   199,   366, 12007,     9, 70862,
@@ -4947,7 +2703,514 @@ static const int yypact[] =
    -4498
 };
 
-/* YYPGOTO[NTERM-NUM].  */
+  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+     Performed when YYTABLE does not specify something else to do.  Zero
+     means the default is an error.  */
+static const yytype_uint16 yydefact[] =
+{
+    1499,  1284,   572,  1369,  1368,  1284,   258,     0,  1371,     0,
+    1284,   393,  1019,     0,     0,     0,     0,   572,  1284,     0,
+    1499,     0,     0,     0,     0,     0,  1512,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1284,     0,     0,
+    1519,     0,     0,     0,     0,  1512,     0,  1373,     0,     0,
+       0,     0,     0,     2,     4,    67,    68,    29,    28,    34,
+      33,    92,    93,    53,    17,    81,    60,   127,   126,   128,
+      40,    36,    75,    25,    27,    37,    41,    62,    43,    54,
+     105,    61,    23,    59,    86,    63,    89,    48,    11,    12,
+      49,    79,    13,    50,    80,    14,    51,    15,   101,    69,
+      94,    32,    58,    22,    85,    42,    65,    91,    66,     5,
+      44,    77,    73,    10,    55,    56,    57,    82,    83,    84,
+     110,    88,   122,    39,   119,    98,    99,   116,   100,   117,
+       8,   102,    52,    16,   113,   112,   114,    76,    45,    78,
+      64,    90,   111,    26,   115,    18,    19,    21,    20,   118,
+      87,   108,   104,   123,   121,   129,   106,    70,     6,     7,
+      95,    24,    47,     9,    31,    30,    46,    38,   125,    35,
+    1371,    97,   109,    96,    71,   103,    74,   107,   124,    72,
+     120,  1472,  1471,  1521,  1475,  1498,     0,  1487,  1283,  1282,
+    1268,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   571,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1294,  2080,  2095,  2096,  2097,  2098,  2099,  2100,
+    2101,  2102,   364,  2103,  2104,  2105,  2106,  2107,  2108,  2109,
+    2110,  2111,  2112,  2366,  2367,  2368,  2369,  2113,  2114,  2115,
+    2116,  2117,  2118,  2119,  2370,  2371,  2120,  2121,  2122,  2123,
+    2124,  2372,  2125,  2126,  2127,  2128,  2129,  2130,  2131,  2132,
+    2133,  2134,  2135,  2136,  2137,  2138,  2139,  2140,  2141,  2142,
+    2143,  2144,  2145,  2146,  2373,  2374,  2147,  2148,  2149,  2150,
+    2151,  2152,  2153,  2154,  2155,  2156,  2157,  2158,  2159,  2160,
+    2161,  2162,  2163,  2164,  2165,  2166,  2167,  2168,  2169,  2170,
+    2171,  2172,  2375,  2173,  2174,  2175,  2376,  2176,  2177,  2178,
+    2377,  2179,  2180,  2181,  2182,  2183,  2184,  2185,  2378,  2379,
+    2186,  2187,  2188,  2189,  2190,  2191,  2192,  2193,  2194,  2195,
+    2196,  2197,  2198,  2199,  2200,  2201,  2202,  2380,  2203,  2204,
+    2205,  2206,  2381,  2382,  2383,  2207,  2208,  2209,  2210,  2211,
+    2212,  2213,  2214,  2384,  2215,  2216,  2217,  2218,  2219,  2220,
+    2221,  2222,  2223,  2224,  2225,  2226,  2227,  2228,  2229,  2230,
+    2231,  2232,  2233,  2234,  2385,  2386,  2235,  2236,  2387,  2237,
+    2238,  2239,  2388,  2240,  2389,  2241,  2242,  2243,  2244,  2245,
+    2246,  2247,  2248,  2390,  2249,  2391,  2250,  2251,  2252,  2253,
+    2254,  2255,  2256,  2257,  2258,  2259,  2392,  2260,  2393,  2263,
+    2261,  2262,  2264,  2265,  2266,  2267,  2268,  2269,  2270,  2271,
+    2394,  2272,  2273,  2274,  2275,  2276,  2277,  2278,  2279,  2280,
+    2281,  2282,  2283,  2284,  2285,  2286,  2287,  2288,  2289,  2290,
+    2291,  2395,  2292,  2293,  2294,  2295,  2296,  2297,  2298,  2299,
+    2300,  2301,  2302,  2303,  2304,  2305,  2306,  2396,  2307,  2308,
+    2309,  2310,  2397,  2311,  2312,  2313,  2314,  2315,  2316,  2317,
+    2318,  2319,  2320,  2321,  2322,  2398,  2323,  2324,  2325,  2326,
+    2327,  2328,  2329,  2330,  2399,  2400,  2331,  2332,  2401,  2333,
+    2402,  2334,  2335,  2336,  2337,  2338,  2339,  2340,  2341,  2342,
+    2343,  2344,  2345,  2346,  2347,  2348,  2349,  2350,  2403,  2404,
+    2351,  2352,  2353,  2354,  2355,  2356,  2357,  2358,  2359,  2360,
+    2361,  2362,  2405,  2406,  2407,  2408,  2409,  2410,  2411,  2412,
+    2413,  2363,  2364,  2365,   363,  1462,  2048,  2081,  2082,  1370,
+    1350,   572,     0,  1271,   392,  1499,     0,     0,     0,     0,
+       0,     0,     0,     0,   787,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   177,     0,     0,   416,
+     415,     0,     0,     0,   992,   421,     0,     0,     0,     0,
+       0,   560,  1412,  2261,  1410,  1463,   259,   262,   263,   260,
+     261,  2070,     0,  1102,  1103,  1105,     0,     0,     0,  1115,
+     825,   826,     0,     0,     0,   828,     0,     0,     0,   821,
+       0,     0,     0,     0,     0,     0,   827,   818,     0,   817,
+       0,     0,  1115,     0,     0,     0,   819,     0,     0,  1272,
+    1409,   422,  1499,     0,  1387,  1388,  1389,  1371,  1378,  1390,
+    1383,  1385,  1384,  1386,  1382,  2069,  2096,   930,   930,   930,
+     930,   927,   928,   930,   930,   930,  2278,     0,     0,   909,
+       0,   911,  2071,   930,   935,   477,   477,   477,     0,   934,
+     939,   477,     0,  1265,  1303,  2053,  1511,     0,   910,  1264,
+       0,     0,     0,  2331,  1401,     0,     0,  1130,  1126,  1128,
+    1129,  1127,     0,     0,     0,  2294,  1276,   241,  2304,  2399,
+    2331,   240,   234,   236,   208,  2100,     0,     0,   934,     0,
+    1273,  1274,   895,  1518,  1516,     0,  2035,  2118,  2132,  2218,
+     231,  2289,  2295,  2304,  2399,  2331,  2362,   187,   197,   192,
+       0,   252,  2304,  2399,  2331,   248,  1294,     0,  1488,  1616,
+    2044,     0,  1267,  1266,  1372,     0,  1375,     0,  1577,  2274,
+    1492,  1495,  1377,  1493,  1484,     0,     0,     1,  1499,  1366,
+    1515,  1515,     0,  1515,     0,  1476,  1484,  1479,  1483,     0,
+       0,     0,     0,  2080,  2414,  2415,  2416,  2417,  2418,  2419,
+    2420,  2421,  2422,  2423,  2424,  2425,  2426,  2427,  2428,  2429,
+    2430,  2431,  2432,  2433,  2434,  2435,  2436,     0,     0,  2054,
+    2081,  2085,     0,   835,     0,  1306,  2049,   979,     0,     0,
+       0,     0,  2048,     0,     0,     0,     0,  2086,  2076,  2077,
+       0,  2074,  2075,  2087,  2088,  2089,     0,  2191,     0,     0,
+       0,  1941,  1952,  1953,  1954,  2122,  2176,  1949,  1950,  1951,
+    1943,  1944,  1945,  1946,  1947,  1948,     0,  1100,  1942,     0,
+    2191,     0,   156,     0,   134,     0,     0,  2191,     0,     0,
+       0,     0,     0,  2191,     0,     0,     0,     0,     0,  2223,
+       0,   134,  2191,     0,     0,  1288,     0,     0,     0,  1290,
+    1293,  1269,  1353,     0,  2044,     0,     0,     0,   872,   864,
+       0,   873,   865,     0,     0,   875,     0,     0,   867,     0,
+       0,     0,     0,   876,     0,   866,   868,   878,   869,   874,
+       0,     0,     0,     0,   870,     0,     0,  1280,     0,  1403,
+    1405,  1404,  1402,   477,     0,     0,     0,     0,     0,     0,
+     134,  1338,     0,  2191,   134,     0,     0,   420,   419,   134,
+    2074,   418,   417,  2122,  2176,     0,  1018,     0,   134,  2191,
+       0,   179,   644,   575,     0,     0,   746,  2223,   134,     0,
+       0,     0,     0,     0,     0,   995,     0,     0,     0,   559,
+     572,  1413,  1411,     0,  1106,   233,   232,  1104,   823,  2191,
+       0,   338,     0,     0,  2191,  1325,  2083,  1674,  1703,  1681,
+    1703,  1703,  1670,  1670,  2160,  1683,  2191,  1671,  1672,  1710,
+       0,  1703,  1670,  1675,     0,  1673,  1713,  1713,  1698,   338,
+     839,  1655,  1656,  1657,  1658,  1684,  1685,  1659,  1690,  1691,
+    1705,  1660,  1727,  1670,  2084,   824,     0,   822,  2191,     0,
+    2191,  2078,   170,     0,   820,  2122,  2176,  2191,     0,     0,
+    2191,     0,  2191,   162,  2191,     0,  2191,   338,  2191,   576,
+       0,     0,  2191,     0,  2191,   338,  2191,  2223,   164,     0,
+    2191,   338,   833,     0,  1406,     0,  1380,  2403,  1395,     0,
+    1391,  1398,  1394,  1499,   930,   929,     0,   930,     0,   930,
+       0,   930,     0,   930,     0,     0,     0,   930,  2072,  2073,
+     912,     0,   936,     0,     0,   943,   942,   941,     0,     0,
+       0,   944,     0,  1620,  1436,     0,  1262,   235,   186,     0,
+     247,   246,  1279,     0,     0,     0,   995,  1133,     0,  1131,
+    1122,  1123,  1275,   239,   237,     0,     0,     0,     0,     0,
+       0,  1281,     0,     0,     0,     0,  2057,  2059,  2060,  1955,
+    2025,     0,  2367,  2368,  2369,  2014,     0,  2370,  2371,  2372,
+    2416,  1857,  1844,  1853,  1858,  1845,  1847,  1854,  2373,  2374,
+    2375,  2376,  2067,  2377,  2378,  2379,  2381,  2382,  2383,  2384,
+    1849,  1851,  2385,  2386,     0,  2068,  2388,  2389,  2245,  2391,
+    2392,  2394,  2395,  1855,  2397,  2398,  2399,  2400,  2401,  2402,
+    2066,     0,  1856,  2404,  2406,  2407,  2408,  2409,  2410,  2411,
+    2412,  2413,     0,     0,     0,  2041,     0,  1824,     0,  1663,
+    1664,  1686,  1687,  1665,  1692,  1693,  1666,     0,  2040,  1730,
+    1906,  1823,  1840,     0,  1829,  1830,     0,  1822,  1818,  1501,
+    2036,     0,  1819,  2056,  2058,  2015,  1501,  2034,   200,   254,
+       0,   255,  2042,  2304,   188,   230,   202,   229,   203,   201,
+       0,  2120,   189,     0,     0,   190,     0,     0,     0,     0,
+     251,   249,     0,  1270,     0,  1618,  1617,  2022,     0,  2023,
+    2045,   844,  1365,  1363,  1364,  1362,     0,  1359,  1361,  1374,
+    1371,  2030,  2029,  2031,     0,  1494,     0,     0,     0,  1474,
+    1473,     3,  1377,  1513,  1514,     0,     0,     0,     0,     0,
+       0,     0,     0,  1567,  1529,  1530,  1532,  1564,  1568,  1576,
+       0,  1480,     0,     0,  1622,     0,  1578,     0,     0,  2055,
+       0,     0,     0,     0,   836,     0,     0,     0,  1312,     0,
+    1314,  1315,  1316,     0,     0,     0,  1317,  1318,  1306,   243,
+    1324,  1322,  1305,  1307,  1320,     0,     0,     0,     0,     0,
+       0,     0,  1330,     0,     0,   168,   169,   588,   572,     0,
+    2191,     0,     0,     0,     0,     0,  1058,  1065,     0,     0,
+       0,     0,     0,     0,     0,     0,  1059,  1057,  1060,   245,
+    1069,  1086,  1089,     0,   969,     0,     0,     0,     0,     0,
+    1185,     0,     0,     0,  1185,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   268,   280,
+     333,   552,     0,     0,   554,     0,  2191,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   132,   133,
+     138,     0,     0,     0,     0,     0,     0,   539,   551,     0,
+       0,     0,     0,     0,   548,     0,   134,   272,   532,   536,
+       0,     0,     0,   653,   652,  1328,  1327,     0,     0,  1185,
+       0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   356,   357,     0,
+       0,     0,   138,   161,     0,     0,     0,   274,     0,     0,
+    1289,  1286,  1287,     0,  1292,     0,  1349,     0,   863,     0,
+       0,     0,     0,   880,     0,   877,     0,     0,   871,  2122,
+    2176,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   395,     0,     0,   743,     0,     0,     0,     0,     0,
+     754,     0,  1306,  1337,     0,     0,     0,   581,     0,  2191,
+       0,   136,   788,     0,   744,   421,     0,     0,   136,     0,
+       0,   173,     0,   648,     0,     0,     0,     0,     0,     0,
+     692,   691,     0,     0,     0,   745,     0,   136,     0,  2191,
+     535,  2191,     0,   477,   477,     0,     0,   994,   997,     0,
+       0,     0,     0,  1466,  1468,  1467,     0,  1465,     0,   338,
+     336,   337,   741,  1114,     0,     0,  1702,  1689,  1697,  1696,
+       0,  1679,  1678,  1677,     0,  1676,     0,  1703,  1703,  1701,
+    1680,  1655,     0,     0,     0,  1709,     0,  1707,     0,   813,
+    1651,  1647,     0,     0,  1695,  1716,  1717,  1718,  1715,  1728,
+    1714,     0,  1661,  1719,  1670,  1667,     0,     0,   338,     0,
+       0,  2191,   338,  2191,     0,  2191,     0,     0,   338,   338,
+       0,     0,     0,     0,     0,     0,   649,     0,   832,   830,
+     829,   831,     0,     0,     0,     0,   811,     0,     0,     0,
+    2191,   338,     0,     0,   810,  1965,     0,     0,  1499,     0,
+     219,   220,   218,  1396,   221,  1397,  1393,  1379,     0,   920,
+       0,   924,     0,   915,     0,   921,     0,   916,   913,   914,
+       0,   919,     0,     0,   478,   480,     0,     0,  2144,  2159,
+       0,  2182,  2211,  2212,  2295,  2300,     0,  2326,  2336,     0,
+     945,   974,   940,   662,     0,     0,  1446,  1263,  1972,     0,
+    1499,     0,     0,     0,     0,   238,   209,     0,     0,     0,
+     976,  2294,  1278,   894,   572,     0,  1820,     0,  1827,  1828,
+    2013,     0,     0,     0,     0,     0,     0,  1826,  1980,     0,
+       0,     0,     0,     0,  1753,     0,     0,     0,  1993,     0,
+    1999,     0,     0,  1790,     0,     0,     0,     0,     0,     0,
+       0,     0,  1754,  1734,  1735,  1824,  1965,     0,  1825,  2063,
+       0,  1727,  2039,  1955,     0,  1952,  1953,  1954,     0,     0,
+       0,  2028,     0,  1963,     0,     0,  1768,  1961,  1770,     0,
+       0,     0,     0,  1949,  1950,  1951,  1943,  1944,  1945,  1946,
+    1947,  1948,  1959,  1750,     0,     0,  1908,     0,  1749,     0,
+       0,  1580,     0,  2061,  2016,  1580,   256,   257,   253,     0,
+       0,   205,   204,     0,   223,   227,   228,   199,   226,     0,
+     222,   207,  1897,  1896,   206,   198,   195,   193,   210,   212,
+     213,   196,   194,   250,     0,  2021,     0,  2090,  2437,  2438,
+    2439,  2440,  2441,  2442,  2443,  2444,  2445,  2446,  2447,  2448,
+    2449,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,  2458,
+    2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,  2467,  2468,
+    2469,  2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477,  2478,
+    2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,  2487,  2488,
+    2489,  2490,  2491,  2492,  2493,  2494,  2495,  2496,  2497,  2498,
+    2499,  2500,  2501,  2502,  2503,  2504,  2505,  2506,  2507,  2508,
+    2509,  2510,  2511,  2512,  2513,  2018,  2017,  2051,  2091,  2092,
+    2093,  2094,  2024,     0,     0,   338,  1357,     0,  1354,  2033,
+       0,  1496,     0,  2046,     0,  1367,  1491,  1490,  1522,  1523,
+    1011,  1489,  1547,  1548,  1543,     0,     0,     0,  1573,  1571,
+    1539,  1533,  1538,  1536,     0,  1540,  1730,  1566,  1478,  1527,
+    1528,  1531,  1477,     0,  1569,     0,  1449,  1567,  1532,  1433,
+       0,  1415,     0,  1623,     0,  1033,  1035,     0,  1034,     0,
+    1037,     0,  1046,     0,     0,  1032,  1051,     0,  1040,  1038,
+       0,     0,     0,     0,     0,     0,   837,     0,     0,     0,
+       0,  1313,     0,     0,  2326,   242,  1316,  1321,  1308,  1319,
+       0,     0,     0,     0,     0,   978,   977,     0,     0,   999,
+       0,     0,     0,  1333,   466,     0,   335,     0,     0,     0,
+       0,     0,     0,     0,     0,   739,   736,     0,     0,   735,
+       0,   586,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   623,     0,  1185,     0,   656,     0,  1067,     0,     0,
+    1066,     0,  1070,     0,     0,  1068,  1063,  1064,  2295,  2304,
+    2331,   244,  1088,     0,  1087,  1085,  1021,     0,  1022,     0,
+       0,     0,     0,     0,  2169,  2191,   282,   297,     0,  1184,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   320,     0,     0,   323,   322,
+       0,     0,     0,     0,     0,   327,   306,     0,   307,     0,
+       0,   326,     0,     0,   553,     0,     0,     0,     0,  1185,
+       0,   276,     0,     0,     0,     0,     0,     0,  1101,     0,
+     680,     0,   159,     0,   155,   158,     0,     0,     0,     0,
+     538,   550,     0,   542,   543,   540,   544,   545,     0,     0,
+       0,     0,     0,     0,   537,     0,     0,   646,   645,   651,
+       0,     0,     0,     0,     0,     0,     0,     0,  1135,  1134,
+       0,     0,     0,     0,     0,     0,   778,     0,     0,     0,
+       0,     0,     0,     0,   665,     0,   664,     0,   160,     0,
+       0,     0,     0,     0,     0,     0,   217,  1285,  1291,  1352,
+    2052,  1351,     0,     0,     0,     0,   879,     0,     0,     0,
+       0,     0,     0,     0,     0,   881,   882,   883,   884,     0,
+       0,     0,     0,     0,   370,     0,     0,     0,  2083,     0,
+     767,   742,     0,     0,   755,     0,   757,   760,     0,  1304,
+     439,     0,     0,   578,   623,     0,   424,   166,     0,     0,
+       0,     0,   682,   131,   177,   179,   422,     0,   178,   180,
+     182,   183,   184,   181,   185,   643,   647,     0,   574,     0,
+       0,     0,     0,     0,   693,   697,   696,   700,   698,     0,
+     694,     0,     0,  1643,     0,   154,     0,     0,   530,   534,
+       0,     0,     0,   424,   508,   349,  2191,     0,   477,     0,
+    2191,     0,   996,     0,     0,     0,     0,     0,     0,     0,
+       0,  1464,     0,  1092,     0,  1326,     0,     0,     0,   338,
+    1700,  1699,  1652,  1648,     0,     0,     0,     0,   840,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1668,
+    2191,   338,     0,  1090,   171,  2079,     0,   815,     0,     0,
+       0,     0,     0,  1094,   807,     0,   338,   163,     0,   338,
+     338,   577,     0,     0,   338,   338,   165,     0,     0,     0,
+     569,   338,   834,  1408,     0,  2191,   477,  1381,  1392,   917,
+     926,   925,   923,   922,   918,     0,   937,     0,   476,     0,
+       0,     0,   951,   952,     0,     0,   950,   967,   953,     0,
+     955,   947,   946,   956,   957,     0,     0,   976,   660,     0,
+       0,     0,     0,  1443,     0,  1441,     0,  1621,  1445,  1434,
+    1400,     0,  1399,     0,   523,     0,     0,  1132,     0,     0,
+     934,     0,     0,   338,  1277,     0,   896,   897,     0,     0,
+       0,     0,     0,     0,   903,   900,   901,   902,   904,     0,
+     905,     0,     0,     0,  2026,  1976,     0,  1977,     0,     0,
+    2012,  2008,     0,     0,     0,     0,     0,  1981,  1984,  1985,
+    1986,  1983,  1987,  1982,     0,     0,  1988,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  2395,     0,     0,     0,
+       0,  1793,     0,     0,  1936,     0,  1965,  1998,     0,     0,
+       0,     0,     0,     0,  1965,  2004,     0,     0,     0,     0,
+    1895,     0,  1892,     0,     0,     0,     0,  2025,     0,     0,
+    2064,  1731,  1745,  1746,  1747,  1751,  2038,     0,  2027,     0,
+       0,  1732,  1759,     0,  2005,  1786,     0,  1791,  1774,     0,
+    1767,     0,  1772,  1776,  1755,     0,  1752,     0,  2028,  1964,
+       0,  1962,     0,  1742,  1743,  1744,  1736,  1737,  1738,  1739,
+    1740,  1741,  1748,  1940,  1938,  1939,     0,     0,     0,  1916,
+       0,     0,  1771,  2184,  2218,     0,  1512,  1512,  1512,  1500,
+    1510,  2037,     0,  1638,     0,     0,     0,     0,  1832,     0,
+    1969,  1521,  1967,  1038,  1638,  2043,     0,     0,  1727,     0,
+    1619,  2019,  2022,   842,   843,   841,  1377,  1360,  1356,  1355,
+    2032,  1376,     0,  1499,     0,  1009,  1010,     0,  1014,     0,
+       0,  1541,  1574,     0,  1565,     0,  1545,  1546,  1537,  1575,
+    1447,     0,  1570,  1482,  1481,     0,  1641,     0,     0,  1425,
+    1417,     0,  1624,     0,  1580,  1451,  1453,  1454,     0,  2025,
+    1036,     0,  1670,  1047,     0,  1031,     0,  1030,  1670,     0,
+    1048,     0,  1670,     0,     0,     0,  1222,  1137,  1193,   838,
+    1223,  1138,  1194,  1224,  1139,  1323,  1311,  1310,  1309,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   718,  2191,   338,  1331,  1225,     0,  1140,
+     334,  1332,  1195,  1336,   738,   737,     0,     0,  1196,     0,
+     587,     0,     0,   592,   593,   594,     0,     0,     0,   595,
+       0,  2122,  2176,     0,   600,   607,   612,   602,     0,     0,
+     614,   608,     0,     0,     0,     0,     0,     0,   620,   627,
+       0,     0,     0,     0,     0,     0,     0,  1061,  1062,  1226,
+    1143,     0,  1197,  1020,     0,  1144,   167,     0,     0,   269,
+    2191,   284,     0,   629,   718,  1187,   304,     0,     0,   319,
+     314,   315,   313,  2191,   338,  2191,   338,     0,     0,     0,
+       0,     0,   316,   311,   312,   308,     0,     0,   321,  2099,
+    2161,  2305,     0,   633,   635,     0,   640,   324,  1160,   345,
+     344,   343,     0,   328,     0,   350,   353,   325,   302,   305,
+     303,   299,   281,     0,     0,     0,     0,     0,     0,     0,
+       0,  2050,     0,     0,  1096,     0,     0,     0,     0,     0,
+       0,     0,   674,   157,  1175,   147,     0,     0,   143,     0,
+       0,     0,     0,   137,     0,  1232,  1150,     0,     0,   273,
+     533,   541,   546,  1154,   549,  1207,   547,  1238,  1151,     0,
+    1185,     0,   265,     0,  1152,     0,  1201,  1234,  1177,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,  1339,     0,
+       0,     0,     0,     0,     0,   338,     0,     0,     0,  1187,
+    2191,   338,  1233,     0,  1182,  1215,     0,   358,     0,  1176,
+       0,     0,   275,  1156,  1209,     0,     0,   215,   214,   216,
+       0,     0,  2159,     0,   886,   847,   885,     0,     0,     0,
+       0,     0,     0,   855,     0,     0,     0,   846,     0,   845,
+     369,     0,   394,   367,   368,   370,     0,     0,   766,     0,
+       0,     0,   756,     0,     0,     0,  1329,     0,   134,   585,
+       0,     0,     0,   580,   622,   629,     0,     0,     0,   423,
+     427,   431,   432,   433,     0,     0,     0,     0,   148,   135,
+       0,   796,     0,   477,     0,   678,     0,   179,   172,     0,
+       0,     0,   349,   753,   751,   750,   752,     0,     0,     0,
+     771,   749,     0,  1642,  1644,     0,     0,     0,     0,     0,
+     523,   426,     0,   480,     0,     0,   512,     0,     0,     0,
+       0,   349,     0,     0,     0,  1025,     0,  1043,  1026,     0,
+       0,     0,     0,  1074,  1081,  1075,  1053,     0,     0,   557,
+    1469,  1470,     0,   338,     0,     0,  1669,  1682,   814,     0,
+    1712,  1711,  1713,  1713,     0,  1653,     0,  1704,  1705,  1721,
+    1722,  1723,  1724,  1725,  1726,     0,  1720,  1662,     0,   624,
+     338,   338,     0,   338,     0,   338,   338,     0,   671,     0,
+    1260,   650,     0,     0,   726,   812,     0,     0,   338,   809,
+    1966,     0,   938,   479,     0,     0,     0,     0,   949,     0,
+     555,   954,     0,   966,   961,   963,     0,   970,   659,     0,
+       0,  1444,  1437,  1439,  1438,     0,     0,  1435,  1973,   808,
+       0,   529,  1124,  1125,     0,     0,   338,     0,   971,     0,
+       0,   898,   899,     0,     0,   906,     0,     0,     0,  1517,
+    1974,  1975,     0,     0,     0,  2009,     0,     0,  1870,     0,
+    1846,  1848,  1860,     0,  1871,  1831,  1872,  1850,  1852,     0,
+    1956,     0,     0,  1861,     0,  1795,  1796,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1811,  1810,  1862,  1935,     0,     0,
+    1996,  1997,  1863,     0,     0,  2003,     0,     0,     0,  1868,
+    1873,     0,     0,     0,     0,  1879,     0,  1900,     0,     0,
+       0,  1821,  1966,     0,     0,     0,     0,     0,     0,     0,
+       0,  1792,  1775,  1769,     0,  1773,  1777,     0,     0,     0,
+    1763,     0,     0,  1761,  1787,  1757,     0,     0,  1788,     0,
+       0,     0,  1839,     0,     0,  1512,  1512,  1512,  1512,  1509,
+       0,     0,     0,     0,  2292,     0,  1602,  1579,  1581,  1589,
+    1602,  1607,  1841,  1636,  1842,     0,  2044,     0,  1550,  1521,
+    1521,  1521,  1838,     0,     0,     0,     0,  1520,  1550,   191,
+       0,   224,   211,  2021,     0,  1358,  2047,     0,  1524,     0,
+    1957,  1014,     0,  1526,     0,     0,  1572,  1534,  1448,  1432,
+       0,  1430,  1419,     0,  1420,  2025,     0,  1430,  1416,  1459,
+       0,     0,  1641,     0,  1458,     0,  1670,  1028,  1029,     0,
+    1052,     0,  1221,  1136,  1192,   981,   982,     0,   980,     0,
+       0,     0,   465,   998,     0,     0,     0,   718,     0,     0,
+     469,     0,  1334,     0,  1239,  1174,   589,   590,     0,   601,
+       0,   610,   609,     0,     0,   597,     0,     0,     0,     0,
+       0,   596,   616,   561,   617,   619,     0,     0,   618,   621,
+     626,  1185,     0,   657,  1162,     0,  1213,  1055,  1188,     0,
+    1023,     0,     0,     0,     0,     0,     0,   439,   298,     0,
+       0,     0,   286,   296,     0,  1191,   330,     0,   301,     0,
+     294,   317,   309,   318,   310,   329,   331,     0,   637,   638,
+     636,   632,     0,   639,   641,     0,   347,     0,     0,     0,
+    1228,     0,  1185,     0,   277,     0,  1158,     0,  1211,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    1229,  1198,     0,  1217,     0,     0,     0,   679,     0,   676,
+       0,     0,   140,   139,     0,   146,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   359,   340,     0,   774,     0,     0,     0,
+     361,     0,     0,     0,     0,  1227,  1145,   848,     0,     0,
+       0,   849,   860,     0,     0,   850,     0,     0,     0,     0,
+     862,   372,   373,   134,   371,     0,     0,  2245,  1943,  1944,
+     764,   769,   761,   763,   765,   762,     0,   768,   718,     0,
+     758,   759,     0,     0,     0,     0,     0,   451,     0,     0,
+     445,     0,     0,  1081,   438,   441,   442,     0,     0,   581,
+     584,   582,   583,   615,     0,   458,   504,     0,   150,     0,
+       0,   151,   149,     0,     0,   349,   683,   687,   685,   684,
+     686,   681,     0,   674,     0,   175,   422,     0,     0,   573,
+     699,   702,   695,     0,   770,   772,   747,     0,   629,     0,
+     535,     0,   477,  1409,   518,     0,   508,   504,   506,   505,
+     507,     0,   514,   348,     0,     0,   523,   514,     0,     0,
+     999,  1024,     0,     0,     0,  1071,  1076,  1072,     0,     0,
+    1039,     0,  1073,     0,  1054,  1017,  1255,  1256,  1253,  1254,
+       0,     0,     0,  1461,  1093,     0,  1688,     0,  1708,  1706,
+    1649,  1654,  1694,  1729,   338,  1091,   816,     0,   803,     0,
+     805,  1095,   338,   338,   338,   338,   666,     0,   570,     0,
+       0,     0,     0,   948,   968,     0,   964,     0,     0,   931,
+     973,     0,     0,  1442,  1440,   521,     0,   976,     0,   932,
+     975,     0,     0,     0,     0,     0,     0,     0,  1978,     0,
+    2011,  2007,     0,  1843,  1979,     0,  1991,  1990,  1936,     0,
+       0,  1794,  1806,  1807,  1808,  1992,     0,  1816,     0,     0,
+    1803,  1804,  1805,  1797,  1798,  1799,  1800,  1801,  1802,  1809,
+    2001,  2000,  1994,  1995,     0,  1865,  1866,  1867,  2002,  1874,
+       0,  2113,  1901,  1878,  1894,  1893,     0,     0,     0,  1881,
+       0,     0,  1890,     0,  1937,  2065,  1733,     0,     0,  1760,
+    2006,  1778,     0,     0,     0,  1756,  1956,     0,     0,     0,
+       0,     0,  1765,     0,     0,     0,  1919,  1914,  1915,  1933,
+       0,     0,     0,     0,     0,     0,  1503,  1502,  1508,  1602,
+    1607,     0,  1484,     0,  1589,     0,  1601,  1587,  1600,     0,
+       0,  1613,  1611,     0,  1613,     0,  1613,     0,  1583,     0,
+    1603,  1585,  1600,     0,  1628,     0,  2045,  1637,     0,  1563,
+       0,     0,     0,     0,  1970,  1971,     0,  1968,  1833,  1563,
+       0,  2020,  1497,     0,  1525,  1012,  1013,  1542,  1535,  2140,
+    1639,     0,  1431,     0,     0,  1422,  1428,  1414,     0,     0,
+    1452,  1430,  1455,  1049,     0,     0,  1041,   987,   988,   986,
+     989,     0,     0,     0,   718,     0,     0,   485,     0,  1006,
+    1006,     0,     0,   471,   517,  1081,   721,     0,     0,     0,
+     719,   338,  1141,     0,   611,     0,     0,   606,   604,   603,
+     605,     0,   562,  1237,  1142,     0,     0,     0,     0,  1056,
+       0,     0,  1161,     0,   283,     0,   436,     0,   291,  1186,
+       0,     0,     0,   290,     0,   338,   338,   332,   634,   346,
+     351,   352,   355,     0,     0,     0,     0,     0,  1190,     0,
+       0,     0,     0,     0,     0,     0,   797,   780,     0,     0,
+     798,   799,     0,     0,     0,  1098,  1099,  1097,  1216,     0,
+       0,     0,  1148,     0,     0,   670,   144,   141,   142,   145,
+    1172,  1155,  1208,     0,     0,     0,  1153,     0,  1202,  1168,
+    1164,     0,     0,     0,     0,     0,  1236,  1181,  1206,  1235,
+    1179,  1204,  1178,  1203,  1180,  1205,     0,  1173,     0,  1646,
+     777,     0,     0,     0,   338,   338,   668,  1157,  1210,     0,
+       0,   851,     0,     0,   853,   854,     0,   857,   377,   397,
+     688,   740,     0,     0,   717,     0,   443,     0,   449,   453,
+     454,   452,   444,  1081,   477,   516,     0,     0,   730,     0,
+     579,   424,   455,     0,     0,   428,   153,   152,     0,     0,
+       0,   677,   676,   179,  2191,     0,     0,   704,   708,   748,
+       0,  1645,   663,   349,   531,     0,     0,   424,   523,     0,
+     429,   434,   435,     0,   512,   508,     0,     0,   520,  1302,
+       0,   524,   526,     0,     0,     0,  1027,  1044,  1045,     0,
+       0,  1081,     0,     0,  1080,     0,     0,   564,   338,  1650,
+     625,   338,   338,   672,  1261,  1121,   727,     0,   960,   959,
+     958,   556,     0,   962,   661,     0,   522,   338,     0,     0,
+     908,   889,   907,     0,     0,   888,     0,   887,  2010,  1859,
+    1869,  1989,  1935,  1966,     0,     0,  1817,     0,     0,  1864,
+    2405,     0,     0,     0,     0,  1898,  1899,  1880,     0,  2236,
+    1885,     0,     0,     0,  1784,  1782,  1779,     0,  1780,  1764,
+       0,     0,  1762,  1758,     0,  1789,  1905,     0,  1921,  1918,
+    1932,  1966,  1507,  1506,  1505,  1504,  1588,  1586,     0,  1591,
+    1598,     0,  1582,     0,  1612,  1608,     0,  1609,     0,     0,
+    1610,     0,     0,  1584,     0,  1598,     0,  1635,  1521,     0,
+       0,  1910,  1836,  1837,  1834,  1521,  2062,  1910,   225,     0,
+       0,  1429,  1418,  1421,     0,     0,     0,     0,  1460,  1450,
+    1042,  1050,     0,     0,     0,   467,     0,  1081,     0,     0,
+       0,  1008,  1008,     0,  1081,   516,   723,   722,   725,   720,
+     724,  1335,     0,   598,   599,   613,  1163,     0,  1214,  1170,
+       0,  1446,   285,     0,   630,   287,   288,   289,   292,   340,
+     300,   293,     0,     0,     0,  1159,     0,  1212,  1166,  1230,
+    1146,  1199,     0,     0,   786,     0,     0,     0,     0,  1231,
+    1147,  1200,  1218,  1219,  1220,     0,     0,     0,     0,  1446,
+       0,     0,     0,     0,     0,  1344,     0,  1189,   339,   776,
+     775,   340,   360,  1183,     0,   852,   858,   859,   856,     0,
+     366,   374,   398,   134,     0,     0,  1112,  1112,     0,   718,
+       0,     0,   440,   516,   484,     0,   446,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   669,
+     174,     0,   424,   629,   703,     0,     0,     0,   773,     0,
+     523,   426,     0,  1407,   425,     0,     0,   514,   512,     0,
+     509,     0,   513,     0,  1295,     0,     0,     0,     0,  1077,
+       0,  1083,     0,  1038,  1015,  1078,     0,  1638,     0,     0,
+       0,     0,   568,  1113,   804,   806,   667,   965,     0,   972,
+     338,   890,   891,   892,   893,  1937,  1812,     0,     0,     0,
+       0,  1875,     0,  1876,  1903,  1902,  1882,  1886,     0,  1883,
+    1884,  1781,  1785,  1783,  1766,  1907,     0,  1521,  1934,  1631,
+       0,  1634,  1590,     0,     0,  1592,     0,     0,  1594,  1596,
+       0,     0,     0,     0,     0,     0,  2048,     0,  2139,  2379,
+    2291,     0,  1549,  1551,  1554,  1556,  1555,  1557,  1553,  1562,
+       0,  1486,     0,  1485,  1958,  1640,     0,     0,  1000,     0,
+       0,  1457,  1456,   966,     0,   338,  1006,   516,   486,  2245,
+     487,  1005,  1007,  1011,  1011,     0,   516,   718,   591,     0,
+       0,   270,   628,     0,   342,   354,     0,  1446,     0,     0,
+       0,   793,   781,     0,     0,   800,  1149,   673,     0,     0,
+     266,  1169,  1165,  1346,  1347,     0,     0,     0,     0,     0,
+     338,   861,     0,   400,   407,   378,   383,  1338,     0,  1338,
+       0,   380,   384,  1338,   379,  1338,   376,   377,     0,  1112,
+       0,  1109,  1108,   716,     0,   475,   447,     0,   495,     0,
+       0,   731,     0,     0,   504,   464,   463,   460,   459,   461,
+     462,   457,   456,     0,   629,   790,   349,  1302,     0,   642,
+     705,   706,   701,     0,     0,     0,   519,   508,   504,   430,
+     439,   413,   514,   510,   511,     0,     0,     0,   523,  1348,
+     999,     0,  1082,     0,     0,     0,     0,     0,     0,  1116,
+     563,     0,     0,   567,   558,   629,   933,  1813,     0,  1814,
+       0,     0,     0,  1888,  1887,     0,  1924,  1636,     0,     0,
+    1630,     0,  1599,  1615,     0,  1595,  1593,     0,  1604,     0,
+    1606,  1833,     0,     0,     0,  1558,     0,  1909,  1911,     0,
+    1835,  1427,  1638,     0,  1424,     0,   983,     0,   984,  1008,
+     490,     0,  1014,  1014,   477,   718,   468,  1171,     0,   631,
+       0,   295,     0,   278,  1167,     0,   784,     0,   795,   793,
+       0,     0,     0,     0,  1340,     0,  1341,  1342,  1345,   362,
+     375,     0,   405,     0,   403,   402,   404,     0,   391,     0,
+       0,     0,     0,     0,     0,   365,   396,  1107,  1111,  1110,
+       0,     0,   448,   481,   482,   483,     0,   450,   491,   492,
+       0,   728,     0,   733,     0,     0,   503,   654,     0,     0,
+       0,  1296,     0,     0,     0,  1302,   512,   508,   437,   411,
+       0,  1299,     0,   525,     0,   349,  1081,  1084,  1079,  1259,
+       0,     0,   566,   565,   658,  1815,  1891,  1877,  1904,  1889,
+    1920,     0,     0,     0,  1629,  1632,     0,  1597,     0,     0,
+    1605,     0,     0,     0,  1552,     0,     0,  1426,  1001,     0,
+       0,  1011,     0,   718,     0,  1003,  1002,   484,   470,  1446,
+     341,     0,     0,     0,   791,   794,   782,   795,   802,   801,
+     675,  1446,     0,   401,   410,     0,   408,   381,   386,     0,
+     390,   388,   387,   382,   385,     0,   474,     0,     0,     0,
+     493,     0,   494,   515,     0,   732,     0,     0,   789,     0,
+       0,   424,   707,     0,  1297,   514,   512,  1300,  1301,     0,
+     514,  1016,  1258,  1257,  1499,     0,     0,  2366,  2140,  2338,
+       0,  1922,  1925,  1923,  1917,     0,  1614,  1627,  1560,     0,
+    1559,  1912,  1913,  1638,   338,  1014,     0,   472,   488,   495,
+     271,  1446,     0,     0,   783,   267,  1343,   406,     0,   389,
+     708,   500,     0,   499,     0,   497,   496,   729,   734,   629,
+     779,  1302,   711,   414,   514,     0,  1638,  1241,  1499,  1240,
+    1242,  1250,  1247,  1249,  1248,  1246,  1119,  1120,     0,  1929,
+    1928,  1927,  1931,  1930,  1633,     0,  1625,  1561,  1423,   985,
+    1004,     0,   718,   279,   785,   792,   409,     0,   498,   502,
+     501,   655,  1298,   713,     0,   709,   712,   714,   715,   412,
+     349,   990,     0,  1251,  1245,  1484,  1471,     0,     0,     0,
+       0,   489,   473,     0,   689,     0,   514,  1243,  1499,     0,
+       0,  1926,     0,     0,   710,  1638,  1244,     0,     0,  1626,
+       0,   991,     0,     0,   711,     0,     0,     0,  1117,  1118,
+     690
+};
+
+  /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
    -4498, -4498, -4498,  3236, -4498,  -848,   333,  2511,  -597, -4498,
@@ -5014,10 +3277,76 @@ static const yytype_int16 yypgoto[] =
     3712, 12813,  -589, -1233, 10067, 12405, 13518, -2854
 };
 
-/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
-   positive, shift that token.  If negative, reduce the rule which
-   number is the opposite.  If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -2420
+  /* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+      -1,    52,    53,    54,    55,  1440,  2307,  2194,  3028,  3029,
+      56,    57,  1436,    58,    59,    60,    61,    62,    63,    64,
+    1368,    65,    66,   960,  1561,  2318,    67,  2045,   738,   739,
+     740,  1867,  1868,  2257,  1869,  1857,  1256,  1694,  1389,   712,
+     713,  1350,  1390,    69,    70,  1250,  1848,    71,    72,    73,
+    1418,  1419,  1362,  1602,  4029,  4681,  2863,  2171,  3068,  2864,
+    2865,    74,  1487,  1488,    75,    76,  2995,  2991,  3563,  4340,
+    4341,  4556,   556,  2286,  4343,  4344,  4542,  4543,  4705,  4815,
+    4816,  2319,  1556,  3062,  3646,  3019,  4099,  3020,  4100,  3021,
+    4101,  3006,  3594,  3595,  3596,  3022,  4072,  4581,  3023,  2064,
+    4722,  2354,  1716,  1714,  4568,  3906,  3907,  4793,  4727,  4728,
+    4729,  4895,  4074,  3066,  3652,  4108,  4356,  2753,   644,  1582,
+    3171,   645,  2357,   588,   646,  2320,    82,  2348,  2349,  1459,
+    2202,  3570,  3151,    83,   980,  3412,  4412,  4623,  4624,    84,
+     221,    85,  1565,    86,    87,  2303,  3013,    88,  2081,  2770,
+      89,    90,  2798,  2799,  2800,    91,    92,  3437,  4283,  1420,
+    2852,  2853,  2854,  2855,  3463,    93,  1563,  1464,  2327,    94,
+      95,    96,    97,    98,  2470,  2471,    99,  2245,   100,   101,
+     102,   103,   104,  3499,  3995,  3623,  2892,  3035,  3621,   105,
+    2321,  1573,  2339,  2340,  4088,  4375,  4592,  4377,  4944,  4945,
+    4349,  3390,  3920,   107,   108,  4067,  4068,  4734,   109,  2079,
+     110,   111,   112,  1540,  2295,  2296,  3571,  1534,  2289,  2290,
+    3633,  3634,   113,  2948,   114,  3976,  3977,   589,  4739,  4688,
+    4806,   115,   116,  3980,  3981,   117,   118,   119,   120,   121,
+     638,  1071,  1072,  1334,  1019,   122,  1965,   123,   926,  2975,
+     124,  1144,  2512,  4151,   125,   669,  1085,  1086,  2322,   127,
+     678,  2490,   680,  1729,  3153,  3154,  3719,  2456,   825,   128,
+     129,  2467,  2493,   130,  1355,  2055,  2056,  3901,  2323,   590,
+    1588,  2361,  2748,  4487,  4488,  4261,  4503,  2678,  3343,   132,
+     591,  1394,  2127,  2364,  3076,  2022,  2023,  2024,  3669,  2025,
+    3078,  2026,  1328,  2027,  3084,  3085,  3086,  3665,  3672,  3675,
+    4401,  4402,   133,  1392,  2125,   134,   135,   136,  1431,   856,
+     137,   603,   604,   138,  4561,   139,   993,   140,  4410,   141,
+     142,   703,   704,  1128,  1129,   143,   144,  2141,  3444,   145,
+     146,   147,  3492,  3493,   148,   149,  4909,  4952,  4953,  4954,
+    3680,  4854,   150,  4911,  1116,   152,   153,   154,   190,   889,
+     890,   891,  2324,  4394,   156,   157,  1351,  1352,  1353,  1354,
+    2050,   158,   159,   160,   161,   162,   163,  1544,   164,   165,
+    4535,   166,   167,  1506,   168,  1286,  1287,   169,   170,   550,
+     756,  1290,  1298,   171,   648,  1079,  1080,  1081,  1696,   172,
+    1124,   928,   649,  1074,   174,   650,  2010,  2699,  3353,  3354,
+    3357,  4246,  3882,   651,  2696,   177,  1736,  2476,  2479,  2692,
+     652,  2704,  2705,  2706,  2707,  2708,  3360,   653,   671,   983,
+    2370,   654,  1217,   182,   183,   184,   766,   760,   761,   186,
+    1841,  2639,   687,  1305,   725,   726,   774,  3327,  1978,  1979,
+    2001,  2002,  1314,  1315,  1991,  1993,  2680,  1994,  2688,  1984,
+    3859,  4472,  4473,  4474,  4475,  4476,  4477,  4231,  1997,  1998,
+    1317,  1318,  1319,  2006,   187,  2643,  3307,  3308,  3309,  3836,
+    3837,  3851,  3847,  4215,  4458,  3310,  1114,  1325,  4223,  4926,
+    3311,  4449,  4450,  4640,  3854,  3318,  3351,  3052,  3053,  3054,
+    2028,  1631,  1021,  1218,  1022,  1645,  1219,  1615,  1024,  1220,
+    1221,  1222,  1027,  1223,  1224,  1225,  1030,  1607,  1634,  1226,
+    1227,  1625,  1642,  1643,  1685,  2550,  1229,  1230,  1231,  3313,
+    1232,  3792,  4182,  4171,  2571,  2572,  1864,  3788,  3253,  1836,
+    2629,  4481,  4657,  4658,  3292,  3817,  4198,  4447,  4773,  4861,
+    4862,  1233,  1234,  1235,  2626,  1832,   858,  1236,  3573,  1834,
+    2565,  2651,  2652,  1739,  1759,  2518,  2534,  2535,  2545,  3212,
+    2553,  2558,  3240,  3241,  2566,  2595,  1237,  2520,  2521,  3196,
+    1761,  1238,  1279,  1876,  1280,  1756,  2590,  1293,  1294,   758,
+    1246,  1239,  1240,  1730,   749,  4454,   545,   815,  2880,  1956,
+     893,   684,  1241,  1242,  1243,  1244,  1424,   830,  1041,  1042,
+     546,   809,   832,  2856,   547,   548,   811,  1961
+};
+
+  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+     positive, shift that token.  If negative, reduce the rule whose
+     number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
      605,   180,   181,   175,   185,   176,   178,   717,   765,   685,
@@ -14317,12 +12646,6 @@ static const yytype_int16 yytable[] =
      542,   543
 };
 
-#define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-4498)))
-
-#define yytable_value_is_error(Yytable_value) \
-  (!!((Yytable_value) == (-2420)))
-
 static const yytype_int16 yycheck[] =
 {
       16,     0,     0,     0,     0,     0,     0,    36,    51,    25,
@@ -23622,8 +21945,8 @@ static const yytype_int16 yycheck[] =
      436,   437
 };
 
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
-   symbol of state STATE-NUM.  */
+  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+     symbol of state STATE-NUM.  */
 static const yytype_uint16 yystos[] =
 {
        0,    18,    28,    30,    31,    45,    65,    67,    68,    73,
@@ -24128,30 +22451,530 @@ static const yytype_uint16 yystos[] =
      455
 };
 
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                (-2)
-#define YYEOF          0
-
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT                goto yyabortlab
-#define YYERROR                goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  However,
-   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
-   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
-   discussed.  */
-
-#define YYFAIL         goto yyerrlab
-#if defined YYFAIL
-  /* This is here to suppress warnings from the GCC cpp's
-     -Wunused-macros.  Normally we don't worry about that warning, but
-     some users do, and we want to make it easy for users to remove
-     YYFAIL uses, which will produce warnings from Bison 2.5.  */
-#endif
+  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint16 yyr1[] =
+{
+       0,   460,   461,   462,   462,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
+     463,   464,   465,   465,   465,   466,   466,   467,   467,   468,
+     468,   468,   468,   468,   468,   468,   468,   468,   469,   469,
+     469,   469,   469,   469,   470,   471,   472,   472,   473,   473,
+     474,   475,   476,   476,   477,   477,   478,   479,   480,   480,
+     481,   481,   482,   482,   482,   482,   483,   483,   484,   484,
+     485,   485,   485,   485,   485,   485,   486,   486,   486,   486,
+     487,   487,   487,   488,   488,   488,   488,   489,   489,   489,
+     489,   489,   489,   489,   489,   489,   489,   489,   490,   490,
+     491,   491,   492,   492,   493,   493,   493,   493,   494,   494,
+     494,   494,   495,   495,   495,   495,   495,   495,   495,   496,
+     496,   496,   497,   497,   498,   498,   499,   499,   499,   499,
+     500,   500,   501,   501,   502,   502,   503,   503,   503,   503,
+     503,   503,   503,   504,   505,   505,   506,   506,   507,   508,
+     508,   508,   508,   508,   509,   509,   509,   509,   509,   509,
+     509,   509,   509,   509,   509,   509,   509,   509,   509,   509,
+     510,   510,   511,   511,   511,   511,   511,   511,   511,   511,
+     511,   511,   511,   511,   511,   511,   511,   511,   511,   511,
+     511,   511,   511,   511,   511,   511,   511,   511,   511,   511,
+     511,   511,   511,   511,   511,   511,   511,   511,   511,   511,
+     511,   511,   511,   511,   511,   511,   511,   511,   511,   511,
+     511,   511,   511,   511,   512,   512,   513,   513,   513,   514,
+     514,   515,   515,   516,   516,   516,   516,   517,   518,   518,
+     519,   519,   520,   520,   520,   520,   521,   522,   522,   523,
+     523,   523,   523,   524,   524,   525,   525,   526,   526,   527,
+     527,   528,   528,   528,   529,   529,   530,   530,   531,   531,
+     531,   531,   531,   531,   531,   531,   531,   531,   531,   531,
+     531,   531,   532,   532,   533,   533,   534,   534,   535,   535,
+     536,   536,   537,   538,   538,   538,   538,   538,   539,   539,
+     540,   541,   541,   541,   541,   542,   542,   542,   542,   542,
+     542,   542,   542,   543,   543,   544,   544,   545,   545,   546,
+     546,   547,   547,   547,   548,   548,   549,   550,   551,   551,
+     552,   552,   552,   552,   553,   553,   553,   553,   553,   553,
+     553,   554,   554,   554,   554,   555,   556,   556,   556,   557,
+     557,   557,   557,   557,   557,   558,   558,   559,   559,   559,
+     559,   559,   559,   559,   560,   560,   561,   561,   562,   562,
+     563,   564,   564,   564,   564,   565,   565,   566,   566,   567,
+     567,   568,   568,   568,   568,   568,   569,   570,   571,   571,
+     571,   571,   571,   572,   572,   573,   573,   573,   573,   574,
+     574,   574,   574,   575,   575,   576,   576,   577,   578,   578,
+     579,   580,   580,   580,   581,   581,   582,   583,   583,   584,
+     585,   585,   586,   586,   587,   587,   588,   588,   589,   589,
+     589,   589,   589,   589,   589,   589,   589,   589,   589,   589,
+     590,   590,   591,   591,   591,   592,   592,   593,   593,   594,
+     594,   595,   595,   596,   596,   597,   597,   598,   598,   599,
+     599,   600,   600,   601,   602,   602,   603,   603,   604,   604,
+     605,   605,   606,   606,   606,   606,   607,   608,   608,   609,
+     610,   610,   610,   610,   610,   610,   610,   610,   610,   610,
+     610,   610,   610,   610,   610,   610,   610,   610,   610,   610,
+     610,   610,   610,   610,   610,   611,   612,   612,   612,   612,
+     613,   613,   614,   614,   615,   615,   616,   616,   617,   617,
+     618,   618,   619,   620,   620,   621,   621,   621,   621,   622,
+     623,   624,   625,   626,   626,   627,   627,   628,   628,   629,
+     629,   630,   630,   630,   631,   631,   632,   632,   633,   634,
+     634,   635,   635,   636,   637,   637,   638,   638,   639,   640,
+     641,   642,   642,   643,   643,   644,   644,   645,   645,   646,
+     646,   647,   647,   648,   648,   648,   648,   648,   649,   650,
+     650,   651,   651,   651,   652,   652,   653,   653,   653,   653,
+     653,   654,   654,   655,   655,   656,   656,   657,   657,   658,
+     658,   658,   659,   659,   659,   659,   660,   660,   661,   661,
+     662,   662,   662,   662,   662,   662,   663,   663,   664,   664,
+     665,   665,   666,   667,   667,   668,   669,   669,   669,   669,
+     670,   671,   672,   672,   672,   672,   672,   672,   672,   672,
+     672,   672,   672,   672,   672,   672,   673,   674,   674,   675,
+     675,   676,   676,   676,   676,   676,   677,   678,   678,   679,
+     680,   680,   681,   681,   682,   682,   682,   683,   683,   684,
+     685,   685,   686,   686,   686,   686,   686,   687,   687,   688,
+     688,   689,   689,   689,   690,   690,   691,   692,   692,   693,
+     693,   694,   694,   695,   695,   696,   696,   697,   698,   699,
+     699,   699,   699,   699,   699,   699,   699,   700,   700,   700,
+     700,   700,   700,   700,   700,   700,   700,   700,   700,   700,
+     700,   700,   700,   701,   701,   702,   702,   703,   703,   704,
+     704,   705,   706,   706,   706,   707,   707,   707,   707,   707,
+     707,   707,   707,   707,   707,   707,   707,   707,   707,   707,
+     707,   707,   707,   708,   708,   708,   708,   708,   708,   708,
+     708,   708,   708,   708,   708,   708,   708,   708,   708,   708,
+     708,   708,   708,   708,   708,   709,   709,   710,   710,   710,
+     710,   710,   710,   710,   711,   711,   712,   712,   712,   712,
+     712,   712,   712,   712,   712,   712,   712,   713,   713,   714,
+     714,   715,   715,   715,   715,   715,   715,   715,   715,   715,
+     715,   715,   715,   715,   715,   715,   715,   716,   716,   717,
+     717,   718,   719,   719,   720,   720,   720,   720,   720,   721,
+     721,   722,   722,   722,   722,   723,   723,   723,   723,   723,
+     723,   723,   723,   723,   723,   723,   723,   723,   723,   723,
+     723,   724,   724,   725,   725,   726,   726,   727,   727,   728,
+     729,   730,   730,   731,   731,   732,   732,   733,   734,   734,
+     735,   735,   735,   736,   736,   736,   737,   737,   737,   737,
+     738,   738,   739,   739,   740,   740,   741,   741,   742,   742,
+     743,   743,   744,   744,   744,   745,   745,   746,   746,   747,
+     747,   747,   748,   748,   748,   749,   749,   749,   750,   750,
+     751,   751,   752,   752,   753,   753,   754,   754,   755,   755,
+     755,   755,   755,   756,   756,   756,   756,   756,   757,   758,
+     759,   759,   759,   760,   760,   760,   761,   762,   762,   762,
+     762,   763,   763,   764,   764,   765,   765,   765,   765,   765,
+     765,   765,   765,   765,   765,   765,   765,   765,   765,   765,
+     765,   766,   766,   766,   766,   766,   767,   767,   768,   768,
+     769,   769,   770,   771,   771,   772,   773,   773,   774,   774,
+     775,   775,   776,   776,   777,   777,   778,   778,   778,   778,
+     779,   779,   780,   781,   781,   782,   782,   783,   783,   783,
+     784,   784,   784,   785,   786,   786,   787,   788,   788,   788,
+     788,   789,   790,   790,   790,   790,   791,   791,   792,   792,
+     792,   793,   793,   794,   795,   795,   796,   796,   796,   796,
+     796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
+     796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
+     796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
+     796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
+     796,   796,   796,   796,   797,   797,   798,   798,   799,   799,
+     799,   799,   800,   800,   800,   800,   800,   800,   800,   800,
+     800,   800,   800,   800,   800,   800,   800,   800,   800,   800,
+     800,   800,   800,   800,   800,   800,   801,   802,   802,   803,
+     803,   804,   804,   804,   804,   804,   804,   804,   804,   804,
+     804,   804,   804,   804,   804,   804,   804,   804,   804,   804,
+     805,   806,   806,   806,   807,   807,   808,   808,   808,   808,
+     808,   809,   809,   810,   810,   810,   810,   811,   811,   811,
+     812,   812,   813,   814,   814,   815,   816,   816,   817,   817,
+     817,   817,   817,   817,   817,   817,   817,   817,   817,   817,
+     817,   817,   818,   818,   818,   819,   819,   819,   819,   819,
+     820,   820,   820,   821,   821,   822,   822,   822,   822,   823,
+     823,   823,   823,   824,   825,   826,   826,   827,   827,   828,
+     828,   828,   829,   829,   829,   829,   829,   829,   829,   830,
+     830,   831,   831,   831,   832,   833,   833,   834,   834,   835,
+     836,   836,   836,   836,   836,   836,   836,   837,   837,   838,
+     839,   839,   839,   839,   839,   839,   840,   840,   841,   842,
+     842,   842,   843,   843,   844,   844,   844,   844,   844,   845,
+     845,   846,   846,   846,   846,   846,   847,   847,   848,   848,
+     849,   849,   850,   850,   851,   851,   852,   852,   853,   853,
+     853,   853,   854,   854,   854,   854,   854,   854,   854,   854,
+     854,   855,   855,   856,   857,   857,   858,   858,   858,   859,
+     860,   860,   861,   861,   861,   861,   862,   862,   863,   863,
+     864,   864,   864,   864,   865,   866,   866,   867,   867,   867,
+     868,   868,   869,   870,   870,   870,   871,   871,   871,   872,
+     872,   873,   874,   874,   875,   876,   876,   877,   877,   877,
+     877,   877,   877,   877,   877,   878,   878,   879,   879,   879,
+     880,   881,   881,   882,   882,   883,   884,   884,   885,   886,
+     886,   887,   888,   889,   889,   889,   889,   889,   890,   890,
+     890,   891,   891,   892,   892,   893,   893,   893,   893,   893,
+     893,   893,   893,   894,   894,   895,   895,   895,   895,   895,
+     895,   895,   896,   896,   896,   897,   897,   898,   899,   899,
+     900,   900,   901,   901,   901,   901,   901,   901,   901,   901,
+     901,   902,   902,   903,   903,   903,   904,   904,   905,   905,
+     906,   906,   907,   908,   908,   909,   909,   910,   910,   910,
+     910,   911,   911,   912,   912,   912,   913,   913,   914,   914,
+     915,   916,   916,   916,   917,   918,   918,   919,   919,   920,
+     920,   921,   921,   922,   922,   922,   922,   922,   923,   924,
+     925,   926,   927,   927,   928,   928,   929,   929,   930,   930,
+     931,   932,   932,   932,   932,   933,   933,   934,   934,   935,
+     935,   936,   936,   937,   937,   937,   937,   937,   937,   937,
+     937,   938,   938,   938,   938,   938,   938,   939,   939,   939,
+     939,   940,   940,   941,   941,   941,   941,   941,   942,   942,
+     942,   942,   943,   943,   944,   944,   945,   945,   945,   945,
+     946,   946,   947,   947,   947,   948,   949,   949,   950,   950,
+     951,   952,   952,   953,   953,   954,   954,   955,   955,   956,
+     956,   956,   957,   957,   958,   958,   959,   960,   960,   960,
+     960,   960,   960,   961,   961,   961,   962,   962,   962,   962,
+     962,   962,   962,   963,   963,   963,   963,   964,   964,   965,
+     965,   966,   966,   966,   966,   966,   966,   966,   966,   966,
+     966,   966,   967,   967,   968,   968,   969,   969,   970,   971,
+     972,   972,   973,   973,   974,   975,   976,   976,   976,   976,
+     976,   976,   977,   977,   978,   978,   979,   979,   979,   979,
+     980,   981,   981,   981,   982,   982,   982,   982,   982,   982,
+     982,   982,   982,   982,   982,   982,   982,   982,   983,   983,
+     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
+     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
+     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
+     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
+     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
+     984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
+     984,   984,   984,   985,   985,   985,   985,   985,   985,   985,
+     985,   985,   985,   985,   985,   985,   985,   985,   985,   985,
+     985,   985,   985,   985,   985,   985,   985,   985,   986,   986,
+     986,   986,   986,   986,   986,   986,   986,   986,   986,   986,
+     986,   986,   987,   987,   987,   987,   987,   987,   987,   988,
+     988,   989,   989,   990,   990,   990,   990,   990,   990,   990,
+     990,   990,   990,   990,   990,   990,   990,   990,   990,   990,
+     990,   990,   990,   990,   990,   990,   990,   990,   990,   990,
+     990,   990,   990,   990,   990,   990,   990,   990,   990,   990,
+     990,   990,   990,   990,   990,   991,   991,   992,   992,   992,
+     992,   993,   994,   994,   995,   995,   996,   996,   997,   997,
+     997,   998,   998,   998,   998,   999,   999,  1000,  1000,  1001,
+    1001,  1002,  1002,  1003,  1004,  1004,  1004,  1005,  1006,  1006,
+    1007,  1007,  1008,  1008,  1008,  1009,  1009,  1010,  1010,  1010,
+    1010,  1010,  1011,  1011,  1011,  1012,  1012,  1013,  1014,  1014,
+    1014,  1015,  1015,  1016,  1016,  1016,  1016,  1016,  1016,  1016,
+    1016,  1016,  1016,  1016,  1016,  1017,  1017,  1018,  1018,  1019,
+    1019,  1019,  1019,  1019,  1019,  1020,  1020,  1021,  1021,  1022,
+    1022,  1022,  1023,  1023,  1024,  1024,  1024,  1025,  1025,  1026,
+    1026,  1027,  1027,  1027,  1027,  1027,  1027,  1027,  1027,  1028,
+    1028,  1029,  1030,  1030,  1031,  1031,  1031,  1031,  1031,  1031,
+    1032,  1033,  1034,  1034,  1034,  1035,  1035,  1036,  1037,  1037,
+    1038,  1039,  1039,  1040,  1040,  1041,  1041,  1042,  1042,  1042,
+    1042,  1043,  1043,  1044,  1044,  1045,  1045,  1046,  1046,  1047,
+    1047,  1048,  1048,  1049,  1050,  1050,  1051,  1051,  1052,  1052,
+    1052,  1052,  1053,  1053,  1054,  1054,  1055,  1055,  1056,  1057,
+    1058,  1059,  1060,  1061,  1062,  1062,  1063,  1063,  1063,  1063,
+    1063,  1063,  1063,  1063,  1063,  1063,  1063,  1063,  1063,  1064,
+    1065,  1066,  1066,  1066,  1067,  1068,  1068,  1068,  1069,  1069,
+    1070,  1070,  1070,  1071,  1071,  1071,  1072,  1072,  1072,  1072,
+    1073,  1073,  1073,  1073,  1073,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
+    1074,  1074,  1074,  1074,  1074,  1074,  1075,  1075,  1075,  1075,
+    1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,
+    1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,
+    1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,
+    1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,
+    1075,  1075,  1075,  1075,  1076,  1076,  1076,  1076,  1076,  1076,
+    1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,
+    1076,  1076,  1076,  1076,  1076,  1076,  1076,  1077,  1077,  1077,
+    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
+    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
+    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
+    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
+    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
+    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
+    1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
+    1077,  1077,  1077,  1077
+};
+
+  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     1,     3,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       0,     5,     1,     1,     0,     2,     0,     2,     0,     2,
+       2,     3,     3,     1,     3,     3,     2,     1,     1,     2,
+       2,     2,     3,     3,     5,     5,     0,     3,     5,     5,
+       5,     4,     3,     5,     3,     5,     5,     6,     1,     1,
+       3,     5,     6,     4,     9,     7,     1,     0,     2,     0,
+       1,     1,     1,     1,     1,     1,     3,     2,     3,     3,
+       2,     5,     1,     3,     3,     3,     3,     1,     3,     3,
+       2,     2,     2,     2,     3,     3,     3,     3,     1,     3,
+       1,     3,     1,     1,     2,     2,     2,     1,     1,     1,
+       1,     1,     1,     1,     3,     5,     1,     1,     1,     1,
+       1,     0,     1,     1,     2,     3,     1,     2,     3,     2,
+       1,     1,     2,     1,     2,     1,     3,     3,     2,     3,
+       4,     3,     2,     4,     1,     1,     1,     1,     1,     2,
+       2,     2,     2,     2,     4,     6,    10,    13,     4,     6,
+      10,    13,     4,     6,     4,     6,     5,     7,    11,    14,
+       1,     3,     2,     5,     3,     6,     4,     6,     6,     6,
+       5,     5,     6,     6,     4,     8,     4,     2,     4,     3,
+       6,     4,     3,     3,     3,     3,     2,     2,     3,     4,
+       4,     3,     3,     3,     3,     3,     3,     4,     4,     3,
+       2,     3,     2,     2,     3,     3,     2,     2,     3,     4,
+       4,     4,     5,     1,     3,     2,     1,     1,     0,     2,
+       0,     2,     0,     1,     1,     1,     3,     3,     2,     0,
+       1,     3,     3,     1,     5,     3,     4,     1,     3,     4,
+       6,     4,     8,     2,     2,    11,     9,     1,     1,     1,
+       0,     1,     1,     1,     1,     3,     2,     0,     1,     1,
+       1,     3,     3,     1,     1,     3,     3,     3,     3,     4,
+       3,     2,     1,     0,     2,     0,     3,     0,     1,     0,
+       1,     3,     2,     1,     1,     1,     3,     0,     1,     3,
+       1,    11,    14,    10,    13,     1,     1,     2,     2,     2,
+       2,     1,     0,     1,     0,     3,     0,     1,     3,     1,
+       3,     1,     1,     1,     1,     1,     4,     4,     2,     0,
+       3,     1,     1,     2,     2,     1,     3,     4,     5,     2,
+       5,     1,     2,     2,     2,     3,     3,     3,     0,     1,
+       1,     1,     1,     1,     1,     3,     1,     5,     7,     3,
+       8,     4,     9,    11,     2,     0,     3,     0,     1,     3,
+       1,     2,     2,     2,     0,     1,     3,     3,     6,     4,
+       0,     1,     1,     2,     2,     0,     3,     3,     2,     1,
+       1,     2,     2,     4,     0,     2,     2,     2,     0,     3,
+       4,     4,     0,     2,     0,     4,     0,     3,     7,    10,
+       5,     2,     3,     0,     8,    11,     4,     1,     0,     6,
+       5,     8,     4,     6,     1,     0,     1,     2,     2,     1,
+       2,     3,     2,     2,     2,     2,     3,     3,     1,     3,
+       1,     0,     1,     2,     1,     1,     3,     6,    10,     1,
+       0,     1,     2,     2,     0,     2,     2,     1,     0,     5,
+       7,     1,     0,     7,     2,     0,     3,     5,     5,     8,
+       2,     0,     2,     2,     2,     1,     5,     2,     0,     2,
+       7,    10,     6,     6,     6,     6,     7,     7,     9,     9,
+       6,     7,     6,     8,     8,     8,     8,     6,     6,     7,
+       7,     8,     6,     9,     6,     7,     2,     2,     2,     2,
+       1,     2,     1,     0,     6,     8,     7,     6,     4,     0,
+       1,     3,     4,     1,     3,     1,     2,     2,     2,     2,
+       1,     1,    10,     2,     0,     2,     2,     1,     0,     4,
+       6,     5,     4,     4,    11,    14,     5,     7,    11,     2,
+       1,     4,     0,     8,     1,     1,     7,     9,     8,     9,
+       8,     6,     8,     4,     0,     5,     0,     2,     0,     2,
+       0,     2,     0,     1,     1,     1,     1,     1,     8,    15,
+      20,     1,     1,     2,     1,     3,     1,     1,     1,     3,
+       1,     3,     0,     1,     0,     1,     1,     4,     0,     1,
+       3,     0,     1,     1,     1,     1,     2,     0,     0,     2,
+       2,     1,     2,     2,     2,     2,     6,     8,    11,    13,
+       1,     3,     5,     1,     3,     5,     1,     2,     2,     1,
+       8,     4,     5,     4,     4,     4,     3,     7,     8,     6,
+       6,     6,     6,     6,     4,     5,     3,     1,     3,     3,
+       1,     1,     1,     1,     1,     1,     3,     1,     3,     3,
+       1,     0,     1,     3,     7,     9,     9,     3,     0,    13,
+       1,     3,     5,     6,     4,     7,     2,     1,     0,     2,
+       0,     2,     4,     0,     1,     0,     6,     8,     8,     1,
+       3,     5,     5,     7,     9,     7,     9,     5,     6,     6,
+       4,     4,     6,     4,     6,     5,     7,     1,     1,     1,
+       2,     1,     2,     2,     2,     1,     1,     1,     1,     3,
+       3,     3,     3,     1,     3,     1,     2,     2,     3,     1,
+       3,     5,     2,     2,     0,     6,     6,     6,     7,     7,
+       7,     8,     9,     8,     8,     6,     9,     8,     9,     9,
+       7,    10,     7,     2,     1,     1,     1,     1,     1,     1,
+       1,     2,     1,     1,     1,     1,     1,     2,     1,     3,
+       2,     3,     3,     3,     3,     1,     1,     8,     8,     8,
+       9,     9,     9,     9,     2,     0,     1,     1,     2,     2,
+       1,     1,     1,     1,     1,     1,     2,     1,     1,     2,
+       2,     1,     2,     3,     3,     3,     3,     4,     4,     3,
+       3,     3,     4,     4,     3,     4,     4,     1,     1,     1,
+       0,     7,     7,    10,     1,     1,     2,     4,     5,     1,
+       3,     2,     2,     2,     2,     1,     2,     2,     4,     3,
+       2,     2,     2,     2,     3,     2,     2,     2,     5,     5,
+       5,     1,     3,     1,     2,     3,     0,     1,     3,     2,
+       6,     6,     9,     3,     0,     3,     0,     5,     2,     0,
+       3,     3,     3,     7,     7,    10,     1,     1,     1,     1,
+      14,    17,     1,     0,     1,     0,     1,     0,     2,     0,
+       1,     3,     5,     5,     7,     2,     0,     1,     0,     1,
+       1,     0,     2,     2,     0,     9,    12,     7,     2,     0,
+       3,     2,     1,     3,     3,     2,     1,     3,     3,     3,
+       2,     2,     1,     1,     1,     1,     2,     1,     1,     1,
+       1,     4,     5,     1,     3,     3,     1,     3,     3,     5,
+       6,     1,     3,     1,     2,     4,     5,     1,     1,     1,
+       1,     3,     3,     2,     2,     1,     2,     2,     2,     1,
+       2,     2,     2,     2,     1,     1,     1,     3,     3,     5,
+       2,     0,     2,     1,     3,     5,     1,     2,     1,     0,
+       5,     7,     5,     7,     5,     7,     3,     5,     5,     5,
+       1,     3,     2,     1,     2,     1,     2,    11,    10,    10,
+       2,     2,     0,     9,     2,     0,    10,    11,    11,     5,
+       5,     8,     3,     3,     6,     6,     1,     1,     1,     1,
+       1,     1,     3,     1,     5,     5,     7,     6,     6,     6,
+       6,     8,     8,     6,     6,     7,     9,     9,     8,    10,
+       6,     6,     6,     8,     6,     8,     6,     8,     7,     9,
+       6,     8,     7,     9,     8,    10,     9,    11,     8,    10,
+       9,    11,     8,     8,     7,     6,     6,     6,     8,     8,
+       8,     8,     6,     9,     1,     0,     2,     0,     7,     9,
+       8,     7,     7,     6,     6,     6,     6,     6,     7,     9,
+       9,     6,     8,     8,     8,     8,     8,     6,     8,     6,
+       8,     7,     9,     7,     9,     6,     8,     1,     3,     3,
+       3,     7,     6,     6,     6,     6,     6,     7,     7,     7,
+       9,     9,     6,     6,     6,     8,     8,     8,     6,     7,
+      13,     1,     1,     3,     3,     1,     1,     1,     1,     1,
+       1,     1,     0,     1,     1,     1,     1,     1,     1,     0,
+       6,     8,     3,     2,     0,     2,     2,     2,     2,     3,
+       3,     2,     2,     2,     2,     3,     2,     5,     4,     3,
+       3,     3,     1,     1,     0,     3,     2,     2,     1,     2,
+       1,     3,     2,     1,     0,     9,    11,    12,    14,     3,
+       4,     4,     0,     2,     5,     1,     0,     1,     2,     3,
+       3,     3,     1,     2,     1,     1,     1,     1,     1,     1,
+       0,     5,     4,     6,     4,     3,     5,     4,     4,     6,
+       4,     6,     6,     5,     7,     9,     6,     1,     0,     6,
+      11,    11,    11,    13,     9,    11,     1,     1,    10,     4,
+       2,     5,     2,     0,     4,     5,     5,     4,     6,     1,
+       3,     1,     1,     1,     1,     1,     2,     4,     1,     1,
+       1,     0,     1,     0,     1,     0,     3,     0,     2,     4,
+       3,     5,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     3,     2,     1,     1,     1,     1,     0,     5,
+       3,     0,     1,     1,     1,     1,     3,     9,     3,     0,
+       2,     3,     2,     3,     7,     1,     3,     1,     4,     2,
+       1,     3,     2,     8,     5,     0,     4,     3,     0,     2,
+       0,     7,     2,     0,     5,     3,     0,     2,     2,     2,
+       3,     1,     3,     1,     2,     1,     0,     1,     2,     0,
+       8,     1,     3,     1,     1,     3,     5,     5,     2,     1,
+       3,     7,     1,     0,     3,     2,     2,     2,     0,     2,
+       2,     1,     1,     3,     3,     1,     2,     4,     4,     2,
+       3,     5,     5,     1,     1,     9,     9,     1,     2,     4,
+       4,     4,     2,     2,     3,     1,     3,     6,     1,     0,
+       2,     0,     3,     3,     4,     4,     4,     4,     3,     2,
+       1,     1,     0,     1,     1,     0,     1,     5,     1,     0,
+       1,     0,     3,     1,     3,     4,     3,     2,     2,     1,
+       1,     1,     0,     2,     4,     5,     2,     3,     1,     1,
+       1,     1,     3,     0,     1,     1,     1,     1,     1,     3,
+       0,     1,     3,     1,     1,     1,     1,     1,     2,     4,
+       4,     5,     2,     0,     1,     3,     1,     0,     1,     2,
+       3,     2,     4,     2,     3,     2,     0,     2,     3,     2,
+       0,     1,     3,     2,     3,     2,     3,     2,     3,     1,
+       4,     3,     4,     5,     4,     5,     4,     5,     2,     4,
+       1,     1,     0,     1,     4,     5,     4,     0,     2,     2,
+       2,     1,     1,     0,     4,     2,     1,     2,     2,     4,
+       1,     3,     1,     2,     3,     6,     4,     0,     2,     6,
+       2,     1,     3,     4,     0,     2,     0,     2,     0,     2,
+       4,     0,     1,     0,     1,     3,     3,     2,     3,     5,
+       6,     2,     3,     3,     4,     0,     1,     1,     1,     1,
+       1,     2,     4,     1,     1,     1,     1,     2,     3,     3,
+       0,     1,     1,     1,     1,     1,     2,     2,     2,     2,
+       2,     1,     3,     0,     1,     1,     1,     1,     5,     2,
+       1,     1,     1,     1,     5,     2,     2,     2,     1,     3,
+       3,     2,     1,     0,     3,     0,     5,     2,     5,     2,
+       1,     3,     3,     0,     1,     1,     1,     1,     1,     1,
+       3,     3,     3,     3,     3,     3,     3,     0,     1,     4,
+       1,     3,     3,     5,     2,     2,     3,     3,     3,     3,
+       3,     3,     3,     3,     3,     3,     3,     3,     3,     2,
+       2,     3,     3,     2,     2,     3,     5,     4,     6,     3,
+       5,     4,     6,     4,     6,     5,     7,     3,     2,     4,
+       2,     3,     3,     4,     3,     4,     3,     4,     5,     6,
+       6,     7,     6,     7,     6,     7,     3,     4,     4,     6,
+       2,     3,     4,     1,     3,     2,     2,     3,     3,     3,
+       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
+       2,     2,     5,     6,     6,     7,     3,     4,     1,     1,
+       2,     4,     1,     1,     1,     2,     2,     2,     2,     1,
+       1,     4,     3,     5,     6,     8,     6,     6,     4,     4,
+       1,     1,     1,     5,     1,     1,     4,     1,     4,     1,
+       4,     1,     4,     1,     1,     1,     1,     1,     1,     6,
+       4,     4,     4,     4,     6,     5,     5,     5,     4,     6,
+       4,     4,     4,     4,     5,     7,     7,     9,     5,     4,
+       6,     5,     7,     7,     7,     2,     3,     3,     3,     4,
+       0,     4,     1,     3,     3,     1,     1,     1,     2,     2,
+       0,     2,     4,     4,     6,     5,     0,     5,     0,     2,
+       0,     1,     3,     3,     2,     2,     0,     6,     1,     0,
+       3,     0,     2,     2,     0,     1,     4,     2,     2,     2,
+       2,     2,     4,     3,     5,     4,     3,     5,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     4,     1,     4,     1,
+       4,     1,     2,     1,     2,     1,     3,     1,     3,     1,
+       3,     3,     1,     3,     3,     3,     2,     1,     3,     3,
+       0,     1,     1,     1,     1,     1,     1,     1,     1,     4,
+       3,     2,     3,     0,     3,     3,     2,     2,     1,     0,
+       2,     2,     3,     2,     1,     1,     3,     5,     1,     2,
+       4,     2,     0,     1,     0,     1,     2,     2,     2,     3,
+       5,     1,     0,     1,     2,     0,     2,     1,     0,     1,
+       1,     1,     3,     3,     1,     0,     1,     3,     3,     2,
+       1,     1,     1,     3,     1,     2,     1,     3,     1,     1,
+       1,     1,     1,     1,     1,     2,     1,     1,     1,     1,
+       1,     2,     6,     2,     3,     5,     1,     1,     1,     1,
+       1,     1,     2,     2,     1,     1,     1,     1,     1,     3,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1
+};
+
+
+#define yyerrok         (yyerrstatus = 0)
+#define yyclearin       (yychar = YYEMPTY)
+#define YYEMPTY         (-2)
+#define YYEOF           0
+
+#define YYACCEPT        goto yyacceptlab
+#define YYABORT         goto yyabortlab
+#define YYERROR         goto yyerrorlab
+
 
 #define YYRECOVERING()  (!!yyerrstatus)
 
@@ -24168,13 +22991,13 @@ do                                                              \
   else                                                          \
     {                                                           \
       yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
-      YYERROR;                                                 \
-    }                                                          \
-while (YYID (0))
+      YYERROR;                                                  \
+    }                                                           \
+while (0)
 
 /* Error token number */
-#define YYTERROR       1
-#define YYERRCODE      256
+#define YYTERROR        1
+#define YYERRCODE       256
 
 
 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
@@ -24184,7 +23007,7 @@ while (YYID (0))
 #ifndef YYLLOC_DEFAULT
 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
     do                                                                  \
-      if (YYID (N))                                                     \
+      if (N)                                                            \
         {                                                               \
           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
@@ -24198,12 +23021,27 @@ while (YYID (0))
           (Current).first_column = (Current).last_column =              \
             YYRHSLOC (Rhs, 0).last_column;                              \
         }                                                               \
-    while (YYID (0))
+    while (0)
 #endif
 
 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
 
 
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)                        \
+do {                                            \
+  if (yydebug)                                  \
+    YYFPRINTF Args;                             \
+} while (0)
+
+
 /* YY_LOCATION_PRINT -- Print the location on the stream.
    This macro was not mandated originally: define only if we know
    we won't break user code: when these are the locations we know.  */
@@ -24213,36 +23051,28 @@ while (YYID (0))
 
 /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
 
-__attribute__((__unused__))
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+YY_ATTRIBUTE_UNUSED
 static unsigned
 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
-#else
-static unsigned
-yy_location_print_ (yyo, yylocp)
-    FILE *yyo;
-    YYLTYPE const * const yylocp;
-#endif
 {
   unsigned res = 0;
   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
   if (0 <= yylocp->first_line)
     {
-      res += fprintf (yyo, "%d", yylocp->first_line);
+      res += YYFPRINTF (yyo, "%d", yylocp->first_line);
       if (0 <= yylocp->first_column)
-        res += fprintf (yyo, ".%d", yylocp->first_column);
+        res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
     }
   if (0 <= yylocp->last_line)
     {
       if (yylocp->first_line < yylocp->last_line)
         {
-          res += fprintf (yyo, "-%d", yylocp->last_line);
+          res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
           if (0 <= end_col)
-            res += fprintf (yyo, ".%d", end_col);
+            res += YYFPRINTF (yyo, ".%d", end_col);
         }
       else if (0 <= end_col && yylocp->first_column < end_col)
-        res += fprintf (yyo, "-%d", end_col);
+        res += YYFPRINTF (yyo, "-%d", end_col);
     }
   return res;
  }
@@ -24256,75 +23086,36 @@ yy_location_print_ (yyo, yylocp)
 #endif
 
 
-/* YYLEX -- calling `yylex' with the right arguments.  */
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
-#else
-# define YYLEX yylex (&yylval, &yylloc, yyscanner)
-#endif
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (YYID (0))
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                   \
-do {                                                                     \
-  if (yydebug)                                                           \
-    {                                                                    \
-      YYFPRINTF (stderr, "%s ", Title);                                          \
-      yy_symbol_print (stderr,                                           \
-                 Type, Value, Location, yyscanner); \
-      YYFPRINTF (stderr, "\n");                                                  \
-    }                                                                    \
-} while (YYID (0))
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
+do {                                                                      \
+  if (yydebug)                                                            \
+    {                                                                     \
+      YYFPRINTF (stderr, "%s ", Title);                                   \
+      yy_symbol_print (stderr,                                            \
+                  Type, Value, Location, yyscanner); \
+      YYFPRINTF (stderr, "\n");                                           \
+    }                                                                     \
+} while (0)
 
 
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT.  |
+`----------------------------------------*/
 
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE const * const yyvaluep;
-    YYLTYPE const * const yylocationp;
-    core_yyscan_t yyscanner;
-#endif
 {
   FILE *yyo = yyoutput;
   YYUSE (yyo);
-  if (!yyvaluep)
-    return;
   YYUSE (yylocationp);
   YYUSE (yyscanner);
+  if (!yyvaluep)
+    return;
 # ifdef YYPRINT
   if (yytype < YYNTOKENS)
     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
-  YYUSE (yyoutput);
 # endif
-  switch (yytype)
-    {
-      default:
-        break;
-    }
+  YYUSE (yytype);
 }
 
 
@@ -24332,24 +23123,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner)
 | Print this symbol on YYOUTPUT.  |
 `--------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE const * const yyvaluep;
-    YYLTYPE const * const yylocationp;
-    core_yyscan_t yyscanner;
-#endif
 {
-  if (yytype < YYNTOKENS)
-    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-  else
-    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+  YYFPRINTF (yyoutput, "%s %s (",
+             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
 
   YY_LOCATION_PRINT (yyoutput, *yylocationp);
   YYFPRINTF (yyoutput, ": ");
@@ -24362,16 +23140,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner)
 | TOP (included).                                                   |
 `------------------------------------------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
-    yytype_int16 *yybottom;
-    yytype_int16 *yytop;
-#endif
 {
   YYFPRINTF (stderr, "Stack now");
   for (; yybottom <= yytop; yybottom++)
@@ -24382,51 +23152,42 @@ yy_stack_print (yybottom, yytop)
   YYFPRINTF (stderr, "\n");
 }
 
-# define YY_STACK_PRINT(Bottom, Top)                           \
-do {                                                           \
-  if (yydebug)                                                 \
-    yy_stack_print ((Bottom), (Top));                          \
-} while (YYID (0))
+# define YY_STACK_PRINT(Bottom, Top)                            \
+do {                                                            \
+  if (yydebug)                                                  \
+    yy_stack_print ((Bottom), (Top));                           \
+} while (0)
 
 
 /*------------------------------------------------.
 | Report that the YYRULE is going to be reduced.  |
 `------------------------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
-yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
-#else
-static void
-yy_reduce_print (yyvsp, yylsp, yyrule, yyscanner)
-    YYSTYPE *yyvsp;
-    YYLTYPE *yylsp;
-    int yyrule;
-    core_yyscan_t yyscanner;
-#endif
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
 {
+  unsigned long int yylno = yyrline[yyrule];
   int yynrhs = yyr2[yyrule];
   int yyi;
-  unsigned long int yylno = yyrline[yyrule];
   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
-            yyrule - 1, yylno);
+             yyrule - 1, yylno);
   /* The symbols being reduced.  */
   for (yyi = 0; yyi < yynrhs; yyi++)
     {
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
-      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
-                      &(yyvsp[(yyi + 1) - (yynrhs)])
-                      , &(yylsp[(yyi + 1) - (yynrhs)])                , yyscanner);
+      yy_symbol_print (stderr,
+                       yystos[yyssp[yyi + 1 - yynrhs]],
+                       &(yyvsp[(yyi + 1) - (yynrhs)])
+                       , &(yylsp[(yyi + 1) - (yynrhs)])                       , yyscanner);
       YYFPRINTF (stderr, "\n");
     }
 }
 
-# define YY_REDUCE_PRINT(Rule)         \
-do {                                   \
-  if (yydebug)                         \
-    yy_reduce_print (yyvsp, yylsp, Rule, yyscanner); \
-} while (YYID (0))
+# define YY_REDUCE_PRINT(Rule)          \
+do {                                    \
+  if (yydebug)                          \
+    yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
+} while (0)
 
 /* Nonzero means print parse trace.  It is left uninitialized so that
    multiple parsers can coexist.  */
@@ -24440,7 +23201,7 @@ int yydebug;
 
 
 /* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
+#ifndef YYINITDEPTH
 # define YYINITDEPTH 200
 #endif
 
@@ -24463,15 +23224,8 @@ int yydebug;
 #   define yystrlen strlen
 #  else
 /* Return the length of YYSTR.  */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static YYSIZE_T
 yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
-    const char *yystr;
-#endif
 {
   YYSIZE_T yylen;
   for (yylen = 0; yystr[yylen]; yylen++)
@@ -24487,16 +23241,8 @@ yystrlen (yystr)
 #  else
 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    YYDEST.  */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static char *
 yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
-    char *yydest;
-    const char *yysrc;
-#endif
 {
   char *yyd = yydest;
   const char *yys = yysrc;
@@ -24526,27 +23272,27 @@ yytnamerr (char *yyres, const char *yystr)
       char const *yyp = yystr;
 
       for (;;)
-       switch (*++yyp)
-         {
-         case '\'':
-         case ',':
-           goto do_not_strip_quotes;
-
-         case '\\':
-           if (*++yyp != '\\')
-             goto do_not_strip_quotes;
-           /* Fall through.  */
-         default:
-           if (yyres)
-             yyres[yyn] = *yyp;
-           yyn++;
-           break;
-
-         case '"':
-           if (yyres)
-             yyres[yyn] = '\0';
-           return yyn;
-         }
+        switch (*++yyp)
+          {
+          case '\'':
+          case ',':
+            goto do_not_strip_quotes;
+
+          case '\\':
+            if (*++yyp != '\\')
+              goto do_not_strip_quotes;
+            /* Fall through.  */
+          default:
+            if (yyres)
+              yyres[yyn] = *yyp;
+            yyn++;
+            break;
+
+          case '"':
+            if (yyres)
+              yyres[yyn] = '\0';
+            return yyn;
+          }
     do_not_strip_quotes: ;
     }
 
@@ -24569,11 +23315,11 @@ static int
 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yytype_int16 *yyssp, int yytoken)
 {
-  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
+  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
   YYSIZE_T yysize = yysize0;
   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
   /* Internationalized format string. */
-  const char *yyformat = YY_NULL;
+  const char *yyformat = YY_NULLPTR;
   /* Arguments of yyformat. */
   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
   /* Number of reported tokens (one for the "unexpected", one per
@@ -24581,10 +23327,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
   int yycount = 0;
 
   /* There are many possibilities here to consider:
-     - Assume YYFAIL is not used.  It's too flawed to consider.  See
-       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
-       for details.  YYERROR is fine as it does not invoke this
-       function.
      - If this state is a consistent state with a default action, then
        the only way this function was invoked is if the default action
        is an error action.  In that case, don't check for expected
@@ -24634,7 +23376,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                   }
                 yyarg[yycount++] = yytname[yyx];
                 {
-                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
                   if (! (yysize <= yysize1
                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
                     return 2;
@@ -24701,35 +23443,19 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 | Release the memory associated to this symbol.  |
 `-----------------------------------------------*/
 
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep, yylocationp, yyscanner)
-    const char *yymsg;
-    int yytype;
-    YYSTYPE *yyvaluep;
-    YYLTYPE *yylocationp;
-    core_yyscan_t yyscanner;
-#endif
 {
   YYUSE (yyvaluep);
   YYUSE (yylocationp);
   YYUSE (yyscanner);
-
   if (!yymsg)
     yymsg = "Deleting";
   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
 
-  switch (yytype)
-    {
-
-      default:
-        break;
-    }
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YYUSE (yytype);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
 }
 
 
@@ -24739,66 +23465,27 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, yyscanner)
 | yyparse.  |
 `----------*/
 
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
-    void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 int
 yyparse (core_yyscan_t yyscanner)
-#else
-int
-yyparse (yyscanner)
-    core_yyscan_t yyscanner;
-#endif
-#endif
 {
 /* The lookahead symbol.  */
 int yychar;
 
 
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
-/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
-    _Pragma ("GCC diagnostic push") \
-    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
-    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
-    _Pragma ("GCC diagnostic pop")
-#else
+/* The semantic value of the lookahead symbol.  */
 /* Default value used for initialization, for pacifying older GCCs
    or non-GCC compilers.  */
-static YYSTYPE yyval_default;
-# define YY_INITIAL_VALUE(Value) = Value
-#endif
+YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
+YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
+
+/* Location data for the lookahead symbol.  */
 static YYLTYPE yyloc_default
 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
   = { 1, 1, 1, 1 }
 # endif
 ;
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-
-/* The semantic value of the lookahead symbol.  */
-YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
-
-/* Location data for the lookahead symbol.  */
 YYLTYPE yylloc = yyloc_default;
 
-
     /* Number of syntax errors so far.  */
     int yynerrs;
 
@@ -24807,9 +23494,9 @@ YYLTYPE yylloc = yyloc_default;
     int yyerrstatus;
 
     /* The stacks and their tools:
-       `yyss': related to states.
-       `yyvs': related to semantic values.
-       `yyls': related to locations.
+       'yyss': related to states.
+       'yyvs': related to semantic values.
+       'yyls': related to locations.
 
        Refer to the stacks through separate pointers, to allow yyoverflow
        to reallocate them elsewhere.  */
@@ -24888,26 +23575,26 @@ YYLTYPE yylloc = yyloc_default;
 
 #ifdef yyoverflow
       {
-       /* Give user a chance to reallocate the stack.  Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       yytype_int16 *yyss1 = yyss;
-       YYLTYPE *yyls1 = yyls;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  This used to be a
-          conditional around just the two extra args, but that might
-          be undefined if yyoverflow is a macro.  */
-       yyoverflow (YY_("memory exhausted"),
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-
-       yyls = yyls1;
-       yyss = yyss1;
-       yyvs = yyvs1;
+        /* Give user a chance to reallocate the stack.  Use copies of
+           these so that the &'s don't force the real ones into
+           memory.  */
+        YYSTYPE *yyvs1 = yyvs;
+        yytype_int16 *yyss1 = yyss;
+        YYLTYPE *yyls1 = yyls;
+
+        /* Each stack pointer address is followed by the size of the
+           data in use in that stack, in bytes.  This used to be a
+           conditional around just the two extra args, but that might
+           be undefined if yyoverflow is a macro.  */
+        yyoverflow (YY_("memory exhausted"),
+                    &yyss1, yysize * sizeof (*yyssp),
+                    &yyvs1, yysize * sizeof (*yyvsp),
+                    &yyls1, yysize * sizeof (*yylsp),
+                    &yystacksize);
+
+        yyls = yyls1;
+        yyss = yyss1;
+        yyvs = yyvs1;
       }
 #else /* no yyoverflow */
 # ifndef YYSTACK_RELOCATE
@@ -24915,23 +23602,23 @@ YYLTYPE yylloc = yyloc_default;
 # else
       /* Extend the stack our own way.  */
       if (YYMAXDEPTH <= yystacksize)
-       goto yyexhaustedlab;
+        goto yyexhaustedlab;
       yystacksize *= 2;
       if (YYMAXDEPTH < yystacksize)
-       yystacksize = YYMAXDEPTH;
+        yystacksize = YYMAXDEPTH;
 
       {
-       yytype_int16 *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyexhaustedlab;
-       YYSTACK_RELOCATE (yyss_alloc, yyss);
-       YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-       YYSTACK_RELOCATE (yyls_alloc, yyls);
+        yytype_int16 *yyss1 = yyss;
+        union yyalloc *yyptr =
+          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+        if (! yyptr)
+          goto yyexhaustedlab;
+        YYSTACK_RELOCATE (yyss_alloc, yyss);
+        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+        YYSTACK_RELOCATE (yyls_alloc, yyls);
 #  undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
+        if (yyss1 != yyssa)
+          YYSTACK_FREE (yyss1);
       }
 # endif
 #endif /* no yyoverflow */
@@ -24941,10 +23628,10 @@ YYLTYPE yylloc = yyloc_default;
       yylsp = yyls + yysize - 1;
 
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
+                  (unsigned long int) yystacksize));
 
       if (yyss + yystacksize - 1 <= yyssp)
-       YYABORT;
+        YYABORT;
     }
 
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -24973,7 +23660,7 @@ yybackup:
   if (yychar == YYEMPTY)
     {
       YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
+      yychar = yylex (&yylval, &yylloc, yyscanner);
     }
 
   if (yychar <= YYEOF)
@@ -25038,7 +23725,7 @@ yyreduce:
   yylen = yyr2[yyn];
 
   /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
+     '$$ = $1'.
 
      Otherwise, the following line sets YYVAL to garbage.
      This behavior is undocumented and Bison
@@ -25053,196 +23740,195 @@ yyreduce:
   switch (yyn)
     {
         case 2:
-/* Line 1792 of yacc.c  */
-#line 770 "gram.y"
+#line 769 "gram.y" /* yacc.c:1646  */
     {
-                               pg_yyget_extra(yyscanner)->parsetree = (yyvsp[(1) - (1)].list);
+                               pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
                        }
+#line 23748 "gram.c" /* yacc.c:1646  */
     break;
 
   case 3:
-/* Line 1792 of yacc.c  */
-#line 777 "gram.y"
+#line 776 "gram.y" /* yacc.c:1646  */
     {
-                                       if ((yyvsp[(3) - (3)].node) != NULL)
-                                               (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
+                                       if ((yyvsp[0].node) != NULL)
+                                               (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
                                        else
-                                               (yyval.list) = (yyvsp[(1) - (3)].list);
+                                               (yyval.list) = (yyvsp[-2].list);
                                }
+#line 23759 "gram.c" /* yacc.c:1646  */
     break;
 
   case 4:
-/* Line 1792 of yacc.c  */
-#line 784 "gram.y"
+#line 783 "gram.y" /* yacc.c:1646  */
     {
-                                       if ((yyvsp[(1) - (1)].node) != NULL)
-                                               (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
+                                       if ((yyvsp[0].node) != NULL)
+                                               (yyval.list) = list_make1((yyvsp[0].node));
                                        else
                                                (yyval.list) = NIL;
                                }
+#line 23770 "gram.c" /* yacc.c:1646  */
     break;
 
   case 130:
-/* Line 1792 of yacc.c  */
-#line 919 "gram.y"
+#line 918 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 23776 "gram.c" /* yacc.c:1646  */
     break;
 
   case 131:
-/* Line 1792 of yacc.c  */
-#line 930 "gram.y"
+#line 929 "gram.y" /* yacc.c:1646  */
     {
                                        CreateRoleStmt *n = makeNode(CreateRoleStmt);
                                        n->stmt_type = ROLESTMT_ROLE;
-                                       n->role = (yyvsp[(3) - (5)].str);
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->role = (yyvsp[-2].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 23788 "gram.c" /* yacc.c:1646  */
     break;
 
   case 132:
-/* Line 1792 of yacc.c  */
-#line 940 "gram.y"
+#line 939 "gram.y" /* yacc.c:1646  */
     {}
+#line 23794 "gram.c" /* yacc.c:1646  */
     break;
 
   case 133:
-/* Line 1792 of yacc.c  */
-#line 941 "gram.y"
+#line 940 "gram.y" /* yacc.c:1646  */
     {}
+#line 23800 "gram.c" /* yacc.c:1646  */
     break;
 
   case 134:
-/* Line 1792 of yacc.c  */
-#line 942 "gram.y"
+#line 941 "gram.y" /* yacc.c:1646  */
     {}
+#line 23806 "gram.c" /* yacc.c:1646  */
     break;
 
   case 135:
-/* Line 1792 of yacc.c  */
-#line 951 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 950 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 23812 "gram.c" /* yacc.c:1646  */
     break;
 
   case 136:
-/* Line 1792 of yacc.c  */
-#line 952 "gram.y"
+#line 951 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 23818 "gram.c" /* yacc.c:1646  */
     break;
 
   case 137:
-/* Line 1792 of yacc.c  */
-#line 956 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 955 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 23824 "gram.c" /* yacc.c:1646  */
     break;
 
   case 138:
-/* Line 1792 of yacc.c  */
-#line 957 "gram.y"
+#line 956 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 23830 "gram.c" /* yacc.c:1646  */
     break;
 
   case 139:
-/* Line 1792 of yacc.c  */
-#line 962 "gram.y"
+#line 961 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("password",
-                                                                        (Node *)makeString((yyvsp[(2) - (2)].str)));
+                                                                        (Node *)makeString((yyvsp[0].str)));
                                }
+#line 23839 "gram.c" /* yacc.c:1646  */
     break;
 
   case 140:
-/* Line 1792 of yacc.c  */
-#line 967 "gram.y"
+#line 966 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("password", NULL);
                                }
+#line 23847 "gram.c" /* yacc.c:1646  */
     break;
 
   case 141:
-/* Line 1792 of yacc.c  */
-#line 971 "gram.y"
+#line 970 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("encryptedPassword",
-                                                                        (Node *)makeString((yyvsp[(3) - (3)].str)));
+                                                                        (Node *)makeString((yyvsp[0].str)));
                                }
+#line 23856 "gram.c" /* yacc.c:1646  */
     break;
 
   case 142:
-/* Line 1792 of yacc.c  */
-#line 976 "gram.y"
+#line 975 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("unencryptedPassword",
-                                                                        (Node *)makeString((yyvsp[(3) - (3)].str)));
+                                                                        (Node *)makeString((yyvsp[0].str)));
                                }
+#line 23865 "gram.c" /* yacc.c:1646  */
     break;
 
   case 143:
-/* Line 1792 of yacc.c  */
-#line 981 "gram.y"
+#line 980 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(TRUE));
                                }
+#line 23873 "gram.c" /* yacc.c:1646  */
     break;
 
   case 144:
-/* Line 1792 of yacc.c  */
-#line 985 "gram.y"
+#line 984 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[(3) - (3)].ival)));
+                                       (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)));
                                }
+#line 23881 "gram.c" /* yacc.c:1646  */
     break;
 
   case 145:
-/* Line 1792 of yacc.c  */
-#line 989 "gram.y"
+#line 988 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[(3) - (3)].str)));
+                                       (yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 23889 "gram.c" /* yacc.c:1646  */
     break;
 
   case 146:
-/* Line 1792 of yacc.c  */
-#line 994 "gram.y"
+#line 993 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list));
+                                       (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list));
                                }
+#line 23897 "gram.c" /* yacc.c:1646  */
     break;
 
   case 147:
-/* Line 1792 of yacc.c  */
-#line 998 "gram.y"
+#line 997 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * We handle identifiers that aren't parser keywords with
                                         * the following special-case codes, to avoid bloating the
                                         * size of the main parser.
                                         */
-                                       if (strcmp((yyvsp[(1) - (1)].str), "superuser") == 0)
+                                       if (strcmp((yyvsp[0].str), "superuser") == 0)
                                                (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(TRUE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "nosuperuser") == 0)
+                                       else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
                                                (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "createrole") == 0)
+                                       else if (strcmp((yyvsp[0].str), "createrole") == 0)
                                                (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(TRUE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "nocreaterole") == 0)
+                                       else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
                                                (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(FALSE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "replication") == 0)
+                                       else if (strcmp((yyvsp[0].str), "replication") == 0)
                                                (yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(TRUE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "noreplication") == 0)
+                                       else if (strcmp((yyvsp[0].str), "noreplication") == 0)
                                                (yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(FALSE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "createdb") == 0)
+                                       else if (strcmp((yyvsp[0].str), "createdb") == 0)
                                                (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(TRUE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "nocreatedb") == 0)
+                                       else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
                                                (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(FALSE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "login") == 0)
+                                       else if (strcmp((yyvsp[0].str), "login") == 0)
                                                (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(TRUE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "nologin") == 0)
+                                       else if (strcmp((yyvsp[0].str), "nologin") == 0)
                                                (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(FALSE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "bypassrls") == 0)
+                                       else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
                                                (yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(TRUE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "nobypassrls") == 0)
+                                       else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
                                                (yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(FALSE));
-                                       else if (strcmp((yyvsp[(1) - (1)].str), "noinherit") == 0)
+                                       else if (strcmp((yyvsp[0].str), "noinherit") == 0)
                                        {
                                                /*
                                                 * Note that INHERIT is a keyword, so it's handled by main parser, but
@@ -25253,2709 +23939,2709 @@ yyreduce:
                                        else
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_SYNTAX_ERROR),
-                                                                errmsg("unrecognized role option \"%s\"", (yyvsp[(1) - (1)].str)),
-                                                                        parser_errposition((yylsp[(1) - (1)]))));
+                                                                errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
+                                                                        parser_errposition((yylsp[0]))));
                                }
+#line 23946 "gram.c" /* yacc.c:1646  */
     break;
 
   case 148:
-/* Line 1792 of yacc.c  */
-#line 1045 "gram.y"
-    { (yyval.defelt) = (yyvsp[(1) - (1)].defelt); }
+#line 1044 "gram.y" /* yacc.c:1646  */
+    { (yyval.defelt) = (yyvsp[0].defelt); }
+#line 23952 "gram.c" /* yacc.c:1646  */
     break;
 
   case 149:
-/* Line 1792 of yacc.c  */
-#line 1048 "gram.y"
+#line 1047 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[(2) - (2)].ival)));
+                                       (yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)));
                                }
+#line 23960 "gram.c" /* yacc.c:1646  */
     break;
 
   case 150:
-/* Line 1792 of yacc.c  */
-#line 1052 "gram.y"
+#line 1051 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[(2) - (2)].list));
+                                       (yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list));
                                }
+#line 23968 "gram.c" /* yacc.c:1646  */
     break;
 
   case 151:
-/* Line 1792 of yacc.c  */
-#line 1056 "gram.y"
+#line 1055 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list));
+                                       (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list));
                                }
+#line 23976 "gram.c" /* yacc.c:1646  */
     break;
 
   case 152:
-/* Line 1792 of yacc.c  */
-#line 1060 "gram.y"
+#line 1059 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list));
+                                       (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list));
                                }
+#line 23984 "gram.c" /* yacc.c:1646  */
     break;
 
   case 153:
-/* Line 1792 of yacc.c  */
-#line 1064 "gram.y"
+#line 1063 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list));
+                                       (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list));
                                }
+#line 23992 "gram.c" /* yacc.c:1646  */
     break;
 
   case 154:
-/* Line 1792 of yacc.c  */
-#line 1078 "gram.y"
+#line 1077 "gram.y" /* yacc.c:1646  */
     {
                                        CreateRoleStmt *n = makeNode(CreateRoleStmt);
                                        n->stmt_type = ROLESTMT_USER;
-                                       n->role = (yyvsp[(3) - (5)].str);
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->role = (yyvsp[-2].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24004 "gram.c" /* yacc.c:1646  */
     break;
 
   case 155:
-/* Line 1792 of yacc.c  */
-#line 1096 "gram.y"
+#line 1095 "gram.y" /* yacc.c:1646  */
     {
                                        AlterRoleStmt *n = makeNode(AlterRoleStmt);
-                                       n->role = (yyvsp[(3) - (5)].node);
+                                       n->role = (yyvsp[-2].node);
                                        n->action = +1; /* add, if there are members */
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                 }
+#line 24016 "gram.c" /* yacc.c:1646  */
     break;
 
   case 156:
-/* Line 1792 of yacc.c  */
-#line 1106 "gram.y"
+#line 1105 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 24022 "gram.c" /* yacc.c:1646  */
     break;
 
   case 157:
-/* Line 1792 of yacc.c  */
-#line 1107 "gram.y"
-    { (yyval.str) = (yyvsp[(3) - (3)].str); }
+#line 1106 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 24028 "gram.c" /* yacc.c:1646  */
     break;
 
   case 158:
-/* Line 1792 of yacc.c  */
-#line 1112 "gram.y"
+#line 1111 "gram.y" /* yacc.c:1646  */
     {
                                        AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
-                                       n->role = (yyvsp[(3) - (5)].node);
-                                       n->database = (yyvsp[(4) - (5)].str);
-                                       n->setstmt = (yyvsp[(5) - (5)].vsetstmt);
+                                       n->role = (yyvsp[-2].node);
+                                       n->database = (yyvsp[-1].str);
+                                       n->setstmt = (yyvsp[0].vsetstmt);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24040 "gram.c" /* yacc.c:1646  */
     break;
 
   case 159:
-/* Line 1792 of yacc.c  */
-#line 1120 "gram.y"
+#line 1119 "gram.y" /* yacc.c:1646  */
     {
                                        AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
                                        n->role = NULL;
-                                       n->database = (yyvsp[(4) - (5)].str);
-                                       n->setstmt = (yyvsp[(5) - (5)].vsetstmt);
+                                       n->database = (yyvsp[-1].str);
+                                       n->setstmt = (yyvsp[0].vsetstmt);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24052 "gram.c" /* yacc.c:1646  */
     break;
 
   case 160:
-/* Line 1792 of yacc.c  */
-#line 1138 "gram.y"
+#line 1137 "gram.y" /* yacc.c:1646  */
     {
                                        AlterRoleStmt *n = makeNode(AlterRoleStmt);
-                                       n->role = (yyvsp[(3) - (5)].node);
+                                       n->role = (yyvsp[-2].node);
                                        n->action = +1; /* add, if there are members */
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                 }
+#line 24064 "gram.c" /* yacc.c:1646  */
     break;
 
   case 161:
-/* Line 1792 of yacc.c  */
-#line 1150 "gram.y"
+#line 1149 "gram.y" /* yacc.c:1646  */
     {
                                        AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
-                                       n->role = (yyvsp[(3) - (4)].node);
+                                       n->role = (yyvsp[-1].node);
                                        n->database = NULL;
-                                       n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
+                                       n->setstmt = (yyvsp[0].vsetstmt);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24076 "gram.c" /* yacc.c:1646  */
     break;
 
   case 162:
-/* Line 1792 of yacc.c  */
-#line 1171 "gram.y"
+#line 1170 "gram.y" /* yacc.c:1646  */
     {
                                        DropRoleStmt *n = makeNode(DropRoleStmt);
                                        n->missing_ok = FALSE;
-                                       n->roles = (yyvsp[(3) - (3)].list);
+                                       n->roles = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24087 "gram.c" /* yacc.c:1646  */
     break;
 
   case 163:
-/* Line 1792 of yacc.c  */
-#line 1178 "gram.y"
+#line 1177 "gram.y" /* yacc.c:1646  */
     {
                                        DropRoleStmt *n = makeNode(DropRoleStmt);
                                        n->missing_ok = TRUE;
-                                       n->roles = (yyvsp[(5) - (5)].list);
+                                       n->roles = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24098 "gram.c" /* yacc.c:1646  */
     break;
 
   case 164:
-/* Line 1792 of yacc.c  */
-#line 1197 "gram.y"
+#line 1196 "gram.y" /* yacc.c:1646  */
     {
                                        DropRoleStmt *n = makeNode(DropRoleStmt);
                                        n->missing_ok = FALSE;
-                                       n->roles = (yyvsp[(3) - (3)].list);
+                                       n->roles = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24109 "gram.c" /* yacc.c:1646  */
     break;
 
   case 165:
-/* Line 1792 of yacc.c  */
-#line 1204 "gram.y"
+#line 1203 "gram.y" /* yacc.c:1646  */
     {
                                        DropRoleStmt *n = makeNode(DropRoleStmt);
-                                       n->roles = (yyvsp[(5) - (5)].list);
+                                       n->roles = (yyvsp[0].list);
                                        n->missing_ok = TRUE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 24120 "gram.c" /* yacc.c:1646  */
     break;
 
   case 166:
-/* Line 1792 of yacc.c  */
-#line 1221 "gram.y"
+#line 1220 "gram.y" /* yacc.c:1646  */
     {
                                        CreateRoleStmt *n = makeNode(CreateRoleStmt);
                                        n->stmt_type = ROLESTMT_GROUP;
-                                       n->role = (yyvsp[(3) - (5)].str);
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->role = (yyvsp[-2].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24132 "gram.c" /* yacc.c:1646  */
     break;
 
   case 167:
-/* Line 1792 of yacc.c  */
-#line 1239 "gram.y"
+#line 1238 "gram.y" /* yacc.c:1646  */
     {
                                        AlterRoleStmt *n = makeNode(AlterRoleStmt);
-                                       n->role = (yyvsp[(3) - (6)].node);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->role = (yyvsp[-3].node);
+                                       n->action = (yyvsp[-2].ival);
                                        n->options = list_make1(makeDefElem("rolemembers",
-                                                                                                               (Node *)(yyvsp[(6) - (6)].list)));
+                                                                                                               (Node *)(yyvsp[0].list)));
                                        (yyval.node) = (Node *)n;
                                }
+#line 24145 "gram.c" /* yacc.c:1646  */
     break;
 
   case 168:
-/* Line 1792 of yacc.c  */
-#line 1249 "gram.y"
+#line 1248 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = +1; }
+#line 24151 "gram.c" /* yacc.c:1646  */
     break;
 
   case 169:
-/* Line 1792 of yacc.c  */
-#line 1250 "gram.y"
+#line 1249 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = -1; }
+#line 24157 "gram.c" /* yacc.c:1646  */
     break;
 
   case 170:
-/* Line 1792 of yacc.c  */
-#line 1263 "gram.y"
+#line 1262 "gram.y" /* yacc.c:1646  */
     {
                                        DropRoleStmt *n = makeNode(DropRoleStmt);
                                        n->missing_ok = FALSE;
-                                       n->roles = (yyvsp[(3) - (3)].list);
+                                       n->roles = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24168 "gram.c" /* yacc.c:1646  */
     break;
 
   case 171:
-/* Line 1792 of yacc.c  */
-#line 1270 "gram.y"
+#line 1269 "gram.y" /* yacc.c:1646  */
     {
                                        DropRoleStmt *n = makeNode(DropRoleStmt);
                                        n->missing_ok = TRUE;
-                                       n->roles = (yyvsp[(5) - (5)].list);
+                                       n->roles = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24179 "gram.c" /* yacc.c:1646  */
     break;
 
   case 172:
-/* Line 1792 of yacc.c  */
-#line 1287 "gram.y"
+#line 1286 "gram.y" /* yacc.c:1646  */
     {
                                        CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
                                        /* One can omit the schema name or the authorization id. */
-                                       n->schemaname = (yyvsp[(3) - (6)].str);
-                                       n->authrole = (yyvsp[(5) - (6)].node);
-                                       n->schemaElts = (yyvsp[(6) - (6)].list);
+                                       n->schemaname = (yyvsp[-3].str);
+                                       n->authrole = (yyvsp[-1].node);
+                                       n->schemaElts = (yyvsp[0].list);
                                        n->if_not_exists = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 24193 "gram.c" /* yacc.c:1646  */
     break;
 
   case 173:
-/* Line 1792 of yacc.c  */
-#line 1297 "gram.y"
+#line 1296 "gram.y" /* yacc.c:1646  */
     {
                                        CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
                                        /* ...but not both */
-                                       n->schemaname = (yyvsp[(3) - (4)].str);
+                                       n->schemaname = (yyvsp[-1].str);
                                        n->authrole = NULL;
-                                       n->schemaElts = (yyvsp[(4) - (4)].list);
+                                       n->schemaElts = (yyvsp[0].list);
                                        n->if_not_exists = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 24207 "gram.c" /* yacc.c:1646  */
     break;
 
   case 174:
-/* Line 1792 of yacc.c  */
-#line 1307 "gram.y"
+#line 1306 "gram.y" /* yacc.c:1646  */
     {
                                        CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
                                        /* schema name can be omitted here, too */
-                                       n->schemaname = (yyvsp[(6) - (9)].str);
-                                       n->authrole = (yyvsp[(8) - (9)].node);
-                                       if ((yyvsp[(9) - (9)].list) != NIL)
+                                       n->schemaname = (yyvsp[-3].str);
+                                       n->authrole = (yyvsp[-1].node);
+                                       if ((yyvsp[0].list) != NIL)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                                 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
-                                                                parser_errposition((yylsp[(9) - (9)]))));
-                                       n->schemaElts = (yyvsp[(9) - (9)].list);
+                                                                parser_errposition((yylsp[0]))));
+                                       n->schemaElts = (yyvsp[0].list);
                                        n->if_not_exists = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 24226 "gram.c" /* yacc.c:1646  */
     break;
 
   case 175:
-/* Line 1792 of yacc.c  */
-#line 1322 "gram.y"
+#line 1321 "gram.y" /* yacc.c:1646  */
     {
                                        CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
                                        /* ...but not here */
-                                       n->schemaname = (yyvsp[(6) - (7)].str);
+                                       n->schemaname = (yyvsp[-1].str);
                                        n->authrole = NULL;
-                                       if ((yyvsp[(7) - (7)].list) != NIL)
+                                       if ((yyvsp[0].list) != NIL)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                                 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
-                                                                parser_errposition((yylsp[(7) - (7)]))));
-                                       n->schemaElts = (yyvsp[(7) - (7)].list);
+                                                                parser_errposition((yylsp[0]))));
+                                       n->schemaElts = (yyvsp[0].list);
                                        n->if_not_exists = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 24245 "gram.c" /* yacc.c:1646  */
     break;
 
   case 176:
-/* Line 1792 of yacc.c  */
-#line 1339 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 1338 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 24251 "gram.c" /* yacc.c:1646  */
     break;
 
   case 177:
-/* Line 1792 of yacc.c  */
-#line 1340 "gram.y"
+#line 1339 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 24257 "gram.c" /* yacc.c:1646  */
     break;
 
   case 178:
-/* Line 1792 of yacc.c  */
-#line 1345 "gram.y"
+#line 1344 "gram.y" /* yacc.c:1646  */
     {
                                        if ((yyloc) < 0)                        /* see comments for YYLLOC_DEFAULT */
-                                               (yyloc) = (yylsp[(2) - (2)]);
-                                       (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node));
+                                               (yyloc) = (yylsp[0]);
+                                       (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
                                }
+#line 24267 "gram.c" /* yacc.c:1646  */
     break;
 
   case 179:
-/* Line 1792 of yacc.c  */
-#line 1351 "gram.y"
+#line 1350 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 24273 "gram.c" /* yacc.c:1646  */
     break;
 
   case 186:
-/* Line 1792 of yacc.c  */
-#line 1379 "gram.y"
+#line 1378 "gram.y" /* yacc.c:1646  */
     {
-                                       VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
+                                       VariableSetStmt *n = (yyvsp[0].vsetstmt);
                                        n->type = T_PgpoolVariableSetStmt; /* Hack to keep changes minumum */
                                        n->is_local = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 24284 "gram.c" /* yacc.c:1646  */
     break;
 
   case 187:
-/* Line 1792 of yacc.c  */
-#line 1386 "gram.y"
+#line 1385 "gram.y" /* yacc.c:1646  */
     {
-                                       VariableSetStmt *n = (yyvsp[(2) - (2)].vsetstmt);
+                                       VariableSetStmt *n = (yyvsp[0].vsetstmt);
                                        n->is_local = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 24294 "gram.c" /* yacc.c:1646  */
     break;
 
   case 188:
-/* Line 1792 of yacc.c  */
-#line 1392 "gram.y"
+#line 1391 "gram.y" /* yacc.c:1646  */
     {
-                                       VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
+                                       VariableSetStmt *n = (yyvsp[0].vsetstmt);
                                        n->is_local = true;
                                        (yyval.node) = (Node *) n;
                                }
+#line 24304 "gram.c" /* yacc.c:1646  */
     break;
 
   case 189:
-/* Line 1792 of yacc.c  */
-#line 1398 "gram.y"
+#line 1397 "gram.y" /* yacc.c:1646  */
     {
-                                       VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
+                                       VariableSetStmt *n = (yyvsp[0].vsetstmt);
                                        n->is_local = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 24314 "gram.c" /* yacc.c:1646  */
     break;
 
   case 190:
-/* Line 1792 of yacc.c  */
-#line 1407 "gram.y"
+#line 1406 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_MULTI;
                                        n->name = "TRANSACTION";
-                                       n->args = (yyvsp[(2) - (2)].list);
+                                       n->args = (yyvsp[0].list);
                                        (yyval.vsetstmt) = n;
                                }
+#line 24326 "gram.c" /* yacc.c:1646  */
     break;
 
   case 191:
-/* Line 1792 of yacc.c  */
-#line 1415 "gram.y"
+#line 1414 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_MULTI;
                                        n->name = "SESSION CHARACTERISTICS";
-                                       n->args = (yyvsp[(5) - (5)].list);
+                                       n->args = (yyvsp[0].list);
                                        (yyval.vsetstmt) = n;
                                }
+#line 24338 "gram.c" /* yacc.c:1646  */
     break;
 
   case 193:
-/* Line 1792 of yacc.c  */
-#line 1427 "gram.y"
+#line 1426 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_VALUE;
-                                       n->name = (yyvsp[(1) - (3)].str);
-                                       n->args = (yyvsp[(3) - (3)].list);
+                                       n->name = (yyvsp[-2].str);
+                                       n->args = (yyvsp[0].list);
                                        (yyval.vsetstmt) = n;
                                }
+#line 24350 "gram.c" /* yacc.c:1646  */
     break;
 
   case 194:
-/* Line 1792 of yacc.c  */
-#line 1435 "gram.y"
+#line 1434 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_VALUE;
-                                       n->name = (yyvsp[(1) - (3)].str);
-                                       n->args = (yyvsp[(3) - (3)].list);
+                                       n->name = (yyvsp[-2].str);
+                                       n->args = (yyvsp[0].list);
                                        (yyval.vsetstmt) = n;
                                }
+#line 24362 "gram.c" /* yacc.c:1646  */
     break;
 
   case 195:
-/* Line 1792 of yacc.c  */
-#line 1443 "gram.y"
+#line 1442 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_DEFAULT;
-                                       n->name = (yyvsp[(1) - (3)].str);
+                                       n->name = (yyvsp[-2].str);
                                        (yyval.vsetstmt) = n;
                                }
+#line 24373 "gram.c" /* yacc.c:1646  */
     break;
 
   case 196:
-/* Line 1792 of yacc.c  */
-#line 1450 "gram.y"
+#line 1449 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_DEFAULT;
-                                       n->name = (yyvsp[(1) - (3)].str);
+                                       n->name = (yyvsp[-2].str);
                                        (yyval.vsetstmt) = n;
                                }
+#line 24384 "gram.c" /* yacc.c:1646  */
     break;
 
   case 197:
-/* Line 1792 of yacc.c  */
-#line 1458 "gram.y"
-    {(yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt);}
+#line 1457 "gram.y" /* yacc.c:1646  */
+    {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
+#line 24390 "gram.c" /* yacc.c:1646  */
     break;
 
   case 198:
-/* Line 1792 of yacc.c  */
-#line 1460 "gram.y"
+#line 1459 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_CURRENT;
-                                       n->name = (yyvsp[(1) - (3)].str);
+                                       n->name = (yyvsp[-2].str);
                                        (yyval.vsetstmt) = n;
                                }
+#line 24401 "gram.c" /* yacc.c:1646  */
     break;
 
   case 199:
-/* Line 1792 of yacc.c  */
-#line 1468 "gram.y"
+#line 1467 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_VALUE;
                                        n->name = "timezone";
-                                       if ((yyvsp[(3) - (3)].node) != NULL)
-                                               n->args = list_make1((yyvsp[(3) - (3)].node));
+                                       if ((yyvsp[0].node) != NULL)
+                                               n->args = list_make1((yyvsp[0].node));
                                        else
                                                n->kind = VAR_SET_DEFAULT;
                                        (yyval.vsetstmt) = n;
                                }
+#line 24416 "gram.c" /* yacc.c:1646  */
     break;
 
   case 200:
-/* Line 1792 of yacc.c  */
-#line 1479 "gram.y"
+#line 1478 "gram.y" /* yacc.c:1646  */
     {
                                        ereport(ERROR,
                                                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                         errmsg("current database cannot be changed"),
-                                                        parser_errposition((yylsp[(2) - (2)]))));
+                                                        parser_errposition((yylsp[0]))));
                                        (yyval.vsetstmt) = NULL; /*not reached*/
                                }
+#line 24428 "gram.c" /* yacc.c:1646  */
     break;
 
   case 201:
-/* Line 1792 of yacc.c  */
-#line 1487 "gram.y"
+#line 1486 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_VALUE;
                                        n->name = "search_path";
-                                       n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)])));
+                                       n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
                                        (yyval.vsetstmt) = n;
                                }
+#line 24440 "gram.c" /* yacc.c:1646  */
     break;
 
   case 202:
-/* Line 1792 of yacc.c  */
-#line 1495 "gram.y"
+#line 1494 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_VALUE;
                                        n->name = "client_encoding";
-                                       if ((yyvsp[(2) - (2)].str) != NULL)
-                                               n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)])));
+                                       if ((yyvsp[0].str) != NULL)
+                                               n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
                                        else
                                                n->kind = VAR_SET_DEFAULT;
                                        (yyval.vsetstmt) = n;
                                }
+#line 24455 "gram.c" /* yacc.c:1646  */
     break;
 
   case 203:
-/* Line 1792 of yacc.c  */
-#line 1506 "gram.y"
+#line 1505 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_VALUE;
                                        n->name = "role";
-                                       n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)])));
+                                       n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
                                        (yyval.vsetstmt) = n;
                                }
+#line 24467 "gram.c" /* yacc.c:1646  */
     break;
 
   case 204:
-/* Line 1792 of yacc.c  */
-#line 1514 "gram.y"
+#line 1513 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_VALUE;
                                        n->name = "session_authorization";
-                                       n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])));
+                                       n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
                                        (yyval.vsetstmt) = n;
                                }
+#line 24479 "gram.c" /* yacc.c:1646  */
     break;
 
   case 205:
-/* Line 1792 of yacc.c  */
-#line 1522 "gram.y"
+#line 1521 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_DEFAULT;
                                        n->name = "session_authorization";
                                        (yyval.vsetstmt) = n;
                                }
+#line 24490 "gram.c" /* yacc.c:1646  */
     break;
 
   case 206:
-/* Line 1792 of yacc.c  */
-#line 1529 "gram.y"
+#line 1528 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_VALUE;
                                        n->name = "xmloption";
-                                       n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[(3) - (3)])));
+                                       n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
                                        (yyval.vsetstmt) = n;
                                }
+#line 24502 "gram.c" /* yacc.c:1646  */
     break;
 
   case 207:
-/* Line 1792 of yacc.c  */
-#line 1538 "gram.y"
+#line 1537 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_SET_MULTI;
                                        n->name = "TRANSACTION SNAPSHOT";
-                                       n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])));
+                                       n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
                                        (yyval.vsetstmt) = n;
                                }
+#line 24514 "gram.c" /* yacc.c:1646  */
     break;
 
   case 208:
-/* Line 1792 of yacc.c  */
-#line 1547 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 1546 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 24520 "gram.c" /* yacc.c:1646  */
     break;
 
   case 209:
-/* Line 1792 of yacc.c  */
-#line 1549 "gram.y"
-    { (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); }
+#line 1548 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
+#line 24526 "gram.c" /* yacc.c:1646  */
     break;
 
   case 210:
-/* Line 1792 of yacc.c  */
-#line 1552 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 1551 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 24532 "gram.c" /* yacc.c:1646  */
     break;
 
   case 211:
-/* Line 1792 of yacc.c  */
-#line 1553 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 1552 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 24538 "gram.c" /* yacc.c:1646  */
     break;
 
   case 212:
-/* Line 1792 of yacc.c  */
-#line 1557 "gram.y"
-    { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); }
+#line 1556 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
+#line 24544 "gram.c" /* yacc.c:1646  */
     break;
 
   case 213:
-/* Line 1792 of yacc.c  */
-#line 1559 "gram.y"
-    { (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); }
+#line 1558 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
+#line 24550 "gram.c" /* yacc.c:1646  */
     break;
 
   case 214:
-/* Line 1792 of yacc.c  */
-#line 1562 "gram.y"
+#line 1561 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "read uncommitted"; }
+#line 24556 "gram.c" /* yacc.c:1646  */
     break;
 
   case 215:
-/* Line 1792 of yacc.c  */
-#line 1563 "gram.y"
+#line 1562 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "read committed"; }
+#line 24562 "gram.c" /* yacc.c:1646  */
     break;
 
   case 216:
-/* Line 1792 of yacc.c  */
-#line 1564 "gram.y"
+#line 1563 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "repeatable read"; }
+#line 24568 "gram.c" /* yacc.c:1646  */
     break;
 
   case 217:
-/* Line 1792 of yacc.c  */
-#line 1565 "gram.y"
+#line 1564 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "serializable"; }
+#line 24574 "gram.c" /* yacc.c:1646  */
     break;
 
   case 218:
-/* Line 1792 of yacc.c  */
-#line 1569 "gram.y"
+#line 1568 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "true"; }
+#line 24580 "gram.c" /* yacc.c:1646  */
     break;
 
   case 219:
-/* Line 1792 of yacc.c  */
-#line 1570 "gram.y"
+#line 1569 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "false"; }
+#line 24586 "gram.c" /* yacc.c:1646  */
     break;
 
   case 220:
-/* Line 1792 of yacc.c  */
-#line 1571 "gram.y"
+#line 1570 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "on"; }
+#line 24592 "gram.c" /* yacc.c:1646  */
     break;
 
   case 221:
-/* Line 1792 of yacc.c  */
-#line 1577 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 1576 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 24598 "gram.c" /* yacc.c:1646  */
     break;
 
   case 222:
-/* Line 1792 of yacc.c  */
-#line 1590 "gram.y"
+#line 1589 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
                                }
+#line 24606 "gram.c" /* yacc.c:1646  */
     break;
 
   case 223:
-/* Line 1792 of yacc.c  */
-#line 1594 "gram.y"
+#line 1593 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
                                }
+#line 24614 "gram.c" /* yacc.c:1646  */
     break;
 
   case 224:
-/* Line 1792 of yacc.c  */
-#line 1598 "gram.y"
+#line 1597 "gram.y" /* yacc.c:1646  */
     {
-                                       TypeName *t = (yyvsp[(1) - (3)].typnam);
-                                       if ((yyvsp[(3) - (3)].list) != NIL)
+                                       TypeName *t = (yyvsp[-2].typnam);
+                                       if ((yyvsp[0].list) != NIL)
                                        {
-                                               A_Const *n = (A_Const *) linitial((yyvsp[(3) - (3)].list));
+                                               A_Const *n = (A_Const *) linitial((yyvsp[0].list));
                                                if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                                         errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
-                                                                        parser_errposition((yylsp[(3) - (3)]))));
+                                                                        parser_errposition((yylsp[0]))));
                                        }
-                                       t->typmods = (yyvsp[(3) - (3)].list);
-                                       (yyval.node) = makeStringConstCast((yyvsp[(2) - (3)].str), (yylsp[(2) - (3)]), t);
+                                       t->typmods = (yyvsp[0].list);
+                                       (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
                                }
+#line 24633 "gram.c" /* yacc.c:1646  */
     break;
 
   case 225:
-/* Line 1792 of yacc.c  */
-#line 1613 "gram.y"
+#line 1612 "gram.y" /* yacc.c:1646  */
     {
-                                       TypeName *t = (yyvsp[(1) - (5)].typnam);
+                                       TypeName *t = (yyvsp[-4].typnam);
                                        t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
-                                                                                       makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
-                                       (yyval.node) = makeStringConstCast((yyvsp[(5) - (5)].str), (yylsp[(5) - (5)]), t);
+                                                                                       makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
+                                       (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
                                }
+#line 24644 "gram.c" /* yacc.c:1646  */
     break;
 
   case 226:
-/* Line 1792 of yacc.c  */
-#line 1619 "gram.y"
-    { (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); }
+#line 1618 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
+#line 24650 "gram.c" /* yacc.c:1646  */
     break;
 
   case 227:
-/* Line 1792 of yacc.c  */
-#line 1620 "gram.y"
+#line 1619 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 24656 "gram.c" /* yacc.c:1646  */
     break;
 
   case 228:
-/* Line 1792 of yacc.c  */
-#line 1621 "gram.y"
+#line 1620 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 24662 "gram.c" /* yacc.c:1646  */
     break;
 
   case 229:
-/* Line 1792 of yacc.c  */
-#line 1625 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 1624 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 24668 "gram.c" /* yacc.c:1646  */
     break;
 
   case 230:
-/* Line 1792 of yacc.c  */
-#line 1626 "gram.y"
+#line 1625 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 24674 "gram.c" /* yacc.c:1646  */
     break;
 
   case 231:
-/* Line 1792 of yacc.c  */
-#line 1627 "gram.y"
+#line 1626 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 24680 "gram.c" /* yacc.c:1646  */
     break;
 
   case 232:
-/* Line 1792 of yacc.c  */
-#line 1631 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 1630 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 24686 "gram.c" /* yacc.c:1646  */
     break;
 
   case 233:
-/* Line 1792 of yacc.c  */
-#line 1632 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 1631 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 24692 "gram.c" /* yacc.c:1646  */
     break;
 
   case 234:
-/* Line 1792 of yacc.c  */
-#line 1636 "gram.y"
-    { (yyval.node) = (Node *) (yyvsp[(2) - (2)].vsetstmt); }
+#line 1635 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
+#line 24698 "gram.c" /* yacc.c:1646  */
     break;
 
   case 235:
-/* Line 1792 of yacc.c  */
-#line 1638 "gram.y"
+#line 1637 "gram.y" /* yacc.c:1646  */
     {
-                                       VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
+                                       VariableSetStmt *n = (yyvsp[0].vsetstmt);
                                        n->type = T_PgpoolVariableSetStmt; /* Hack to keep the changes minumum */
                                        (yyval.node) = (Node *) n;
                                }
+#line 24708 "gram.c" /* yacc.c:1646  */
     break;
 
   case 236:
-/* Line 1792 of yacc.c  */
-#line 1646 "gram.y"
-    { (yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt); }
+#line 1645 "gram.y" /* yacc.c:1646  */
+    { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
+#line 24714 "gram.c" /* yacc.c:1646  */
     break;
 
   case 237:
-/* Line 1792 of yacc.c  */
-#line 1648 "gram.y"
+#line 1647 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_RESET;
                                        n->name = "timezone";
                                        (yyval.vsetstmt) = n;
                                }
+#line 24725 "gram.c" /* yacc.c:1646  */
     break;
 
   case 238:
-/* Line 1792 of yacc.c  */
-#line 1655 "gram.y"
+#line 1654 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_RESET;
                                        n->name = "transaction_isolation";
                                        (yyval.vsetstmt) = n;
                                }
+#line 24736 "gram.c" /* yacc.c:1646  */
     break;
 
   case 239:
-/* Line 1792 of yacc.c  */
-#line 1662 "gram.y"
+#line 1661 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_RESET;
                                        n->name = "session_authorization";
                                        (yyval.vsetstmt) = n;
                                }
+#line 24747 "gram.c" /* yacc.c:1646  */
     break;
 
   case 240:
-/* Line 1792 of yacc.c  */
-#line 1672 "gram.y"
+#line 1671 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_RESET;
-                                       n->name = (yyvsp[(1) - (1)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.vsetstmt) = n;
                                }
+#line 24758 "gram.c" /* yacc.c:1646  */
     break;
 
   case 241:
-/* Line 1792 of yacc.c  */
-#line 1679 "gram.y"
+#line 1678 "gram.y" /* yacc.c:1646  */
     {
                                        VariableSetStmt *n = makeNode(VariableSetStmt);
                                        n->kind = VAR_RESET_ALL;
                                        (yyval.vsetstmt) = n;
                                }
+#line 24768 "gram.c" /* yacc.c:1646  */
     break;
 
   case 242:
-/* Line 1792 of yacc.c  */
-#line 1688 "gram.y"
-    { (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); }
+#line 1687 "gram.y" /* yacc.c:1646  */
+    { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
+#line 24774 "gram.c" /* yacc.c:1646  */
     break;
 
   case 243:
-/* Line 1792 of yacc.c  */
-#line 1689 "gram.y"
-    { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); }
+#line 1688 "gram.y" /* yacc.c:1646  */
+    { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
+#line 24780 "gram.c" /* yacc.c:1646  */
     break;
 
   case 244:
-/* Line 1792 of yacc.c  */
-#line 1694 "gram.y"
-    { (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); }
+#line 1693 "gram.y" /* yacc.c:1646  */
+    { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
+#line 24786 "gram.c" /* yacc.c:1646  */
     break;
 
   case 245:
-/* Line 1792 of yacc.c  */
-#line 1695 "gram.y"
-    { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); }
+#line 1694 "gram.y" /* yacc.c:1646  */
+    { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
+#line 24792 "gram.c" /* yacc.c:1646  */
     break;
 
   case 246:
-/* Line 1792 of yacc.c  */
-#line 1702 "gram.y"
+#line 1701 "gram.y" /* yacc.c:1646  */
     {
                                VariableShowStmt *n = (VariableShowStmt *)newNode(sizeof(VariableShowStmt),T_PgpoolVariableShowStmt);
-                               n->name = (yyvsp[(3) - (3)].str);
+                               n->name = (yyvsp[0].str);
                                (yyval.node) = (Node *) n;
                        }
+#line 24802 "gram.c" /* yacc.c:1646  */
     break;
 
   case 247:
-/* Line 1792 of yacc.c  */
-#line 1708 "gram.y"
+#line 1707 "gram.y" /* yacc.c:1646  */
     {
                                VariableShowStmt *n = (VariableShowStmt *)newNode(sizeof(VariableShowStmt),T_PgpoolVariableShowStmt);
                                n->name = "all";
                                (yyval.node) = (Node *) n;
                        }
+#line 24812 "gram.c" /* yacc.c:1646  */
     break;
 
   case 248:
-/* Line 1792 of yacc.c  */
-#line 1714 "gram.y"
+#line 1713 "gram.y" /* yacc.c:1646  */
     {
                                        VariableShowStmt *n = makeNode(VariableShowStmt);
-                                       n->name = (yyvsp[(2) - (2)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 24822 "gram.c" /* yacc.c:1646  */
     break;
 
   case 249:
-/* Line 1792 of yacc.c  */
-#line 1720 "gram.y"
+#line 1719 "gram.y" /* yacc.c:1646  */
     {
                                        VariableShowStmt *n = makeNode(VariableShowStmt);
                                        n->name = "timezone";
                                        (yyval.node) = (Node *) n;
                                }
+#line 24832 "gram.c" /* yacc.c:1646  */
     break;
 
   case 250:
-/* Line 1792 of yacc.c  */
-#line 1726 "gram.y"
+#line 1725 "gram.y" /* yacc.c:1646  */
     {
                                        VariableShowStmt *n = makeNode(VariableShowStmt);
                                        n->name = "transaction_isolation";
                                        (yyval.node) = (Node *) n;
                                }
+#line 24842 "gram.c" /* yacc.c:1646  */
     break;
 
   case 251:
-/* Line 1792 of yacc.c  */
-#line 1732 "gram.y"
+#line 1731 "gram.y" /* yacc.c:1646  */
     {
                                        VariableShowStmt *n = makeNode(VariableShowStmt);
                                        n->name = "session_authorization";
                                        (yyval.node) = (Node *) n;
                                }
+#line 24852 "gram.c" /* yacc.c:1646  */
     break;
 
   case 252:
-/* Line 1792 of yacc.c  */
-#line 1738 "gram.y"
+#line 1737 "gram.y" /* yacc.c:1646  */
     {
                                        VariableShowStmt *n = makeNode(VariableShowStmt);
                                        n->name = "all";
                                        (yyval.node) = (Node *) n;
                                }
+#line 24862 "gram.c" /* yacc.c:1646  */
     break;
 
   case 253:
-/* Line 1792 of yacc.c  */
-#line 1748 "gram.y"
+#line 1747 "gram.y" /* yacc.c:1646  */
     {
                                        ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
-                                       n->constraints = (yyvsp[(3) - (4)].list);
-                                       n->deferred = (yyvsp[(4) - (4)].boolean);
+                                       n->constraints = (yyvsp[-1].list);
+                                       n->deferred = (yyvsp[0].boolean);
                                        (yyval.node) = (Node *) n;
                                }
+#line 24873 "gram.c" /* yacc.c:1646  */
     break;
 
   case 254:
-/* Line 1792 of yacc.c  */
-#line 1757 "gram.y"
+#line 1756 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 24879 "gram.c" /* yacc.c:1646  */
     break;
 
   case 255:
-/* Line 1792 of yacc.c  */
-#line 1758 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 1757 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 24885 "gram.c" /* yacc.c:1646  */
     break;
 
   case 256:
-/* Line 1792 of yacc.c  */
-#line 1762 "gram.y"
+#line 1761 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 24891 "gram.c" /* yacc.c:1646  */
     break;
 
   case 257:
-/* Line 1792 of yacc.c  */
-#line 1763 "gram.y"
+#line 1762 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 24897 "gram.c" /* yacc.c:1646  */
     break;
 
   case 258:
-/* Line 1792 of yacc.c  */
-#line 1772 "gram.y"
+#line 1771 "gram.y" /* yacc.c:1646  */
     {
                                        CheckPointStmt *n = makeNode(CheckPointStmt);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24906 "gram.c" /* yacc.c:1646  */
     break;
 
   case 259:
-/* Line 1792 of yacc.c  */
-#line 1787 "gram.y"
+#line 1786 "gram.y" /* yacc.c:1646  */
     {
                                        DiscardStmt *n = makeNode(DiscardStmt);
                                        n->target = DISCARD_ALL;
                                        (yyval.node) = (Node *) n;
                                }
+#line 24916 "gram.c" /* yacc.c:1646  */
     break;
 
   case 260:
-/* Line 1792 of yacc.c  */
-#line 1793 "gram.y"
+#line 1792 "gram.y" /* yacc.c:1646  */
     {
                                        DiscardStmt *n = makeNode(DiscardStmt);
                                        n->target = DISCARD_TEMP;
                                        (yyval.node) = (Node *) n;
                                }
+#line 24926 "gram.c" /* yacc.c:1646  */
     break;
 
   case 261:
-/* Line 1792 of yacc.c  */
-#line 1799 "gram.y"
+#line 1798 "gram.y" /* yacc.c:1646  */
     {
                                        DiscardStmt *n = makeNode(DiscardStmt);
                                        n->target = DISCARD_TEMP;
                                        (yyval.node) = (Node *) n;
                                }
+#line 24936 "gram.c" /* yacc.c:1646  */
     break;
 
   case 262:
-/* Line 1792 of yacc.c  */
-#line 1805 "gram.y"
+#line 1804 "gram.y" /* yacc.c:1646  */
     {
                                        DiscardStmt *n = makeNode(DiscardStmt);
                                        n->target = DISCARD_PLANS;
                                        (yyval.node) = (Node *) n;
                                }
+#line 24946 "gram.c" /* yacc.c:1646  */
     break;
 
   case 263:
-/* Line 1792 of yacc.c  */
-#line 1811 "gram.y"
+#line 1810 "gram.y" /* yacc.c:1646  */
     {
                                        DiscardStmt *n = makeNode(DiscardStmt);
                                        n->target = DISCARD_SEQUENCES;
                                        (yyval.node) = (Node *) n;
                                }
+#line 24956 "gram.c" /* yacc.c:1646  */
     break;
 
   case 264:
-/* Line 1792 of yacc.c  */
-#line 1830 "gram.y"
+#line 1829 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(3) - (4)].range);
-                                       n->cmds = (yyvsp[(4) - (4)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_TABLE;
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 24969 "gram.c" /* yacc.c:1646  */
     break;
 
   case 265:
-/* Line 1792 of yacc.c  */
-#line 1839 "gram.y"
+#line 1838 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(5) - (6)].range);
-                                       n->cmds = (yyvsp[(6) - (6)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_TABLE;
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 24982 "gram.c" /* yacc.c:1646  */
     break;
 
   case 266:
-/* Line 1792 of yacc.c  */
-#line 1848 "gram.y"
+#line 1847 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableMoveAllStmt *n =
                                                makeNode(AlterTableMoveAllStmt);
-                                       n->orig_tablespacename = (yyvsp[(6) - (10)].str);
+                                       n->orig_tablespacename = (yyvsp[-4].str);
                                        n->objtype = OBJECT_TABLE;
                                        n->roles = NIL;
-                                       n->new_tablespacename = (yyvsp[(9) - (10)].str);
-                                       n->nowait = (yyvsp[(10) - (10)].boolean);
+                                       n->new_tablespacename = (yyvsp[-1].str);
+                                       n->nowait = (yyvsp[0].boolean);
                                        (yyval.node) = (Node *)n;
                                }
+#line 24997 "gram.c" /* yacc.c:1646  */
     break;
 
   case 267:
-/* Line 1792 of yacc.c  */
-#line 1859 "gram.y"
+#line 1858 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableMoveAllStmt *n =
                                                makeNode(AlterTableMoveAllStmt);
-                                       n->orig_tablespacename = (yyvsp[(6) - (13)].str);
+                                       n->orig_tablespacename = (yyvsp[-7].str);
                                        n->objtype = OBJECT_TABLE;
-                                       n->roles = (yyvsp[(9) - (13)].list);
-                                       n->new_tablespacename = (yyvsp[(12) - (13)].str);
-                                       n->nowait = (yyvsp[(13) - (13)].boolean);
+                                       n->roles = (yyvsp[-4].list);
+                                       n->new_tablespacename = (yyvsp[-1].str);
+                                       n->nowait = (yyvsp[0].boolean);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25012 "gram.c" /* yacc.c:1646  */
     break;
 
   case 268:
-/* Line 1792 of yacc.c  */
-#line 1870 "gram.y"
+#line 1869 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(3) - (4)].range);
-                                       n->cmds = (yyvsp[(4) - (4)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_INDEX;
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25025 "gram.c" /* yacc.c:1646  */
     break;
 
   case 269:
-/* Line 1792 of yacc.c  */
-#line 1879 "gram.y"
+#line 1878 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(5) - (6)].range);
-                                       n->cmds = (yyvsp[(6) - (6)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_INDEX;
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25038 "gram.c" /* yacc.c:1646  */
     break;
 
   case 270:
-/* Line 1792 of yacc.c  */
-#line 1888 "gram.y"
+#line 1887 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableMoveAllStmt *n =
                                                makeNode(AlterTableMoveAllStmt);
-                                       n->orig_tablespacename = (yyvsp[(6) - (10)].str);
+                                       n->orig_tablespacename = (yyvsp[-4].str);
                                        n->objtype = OBJECT_INDEX;
                                        n->roles = NIL;
-                                       n->new_tablespacename = (yyvsp[(9) - (10)].str);
-                                       n->nowait = (yyvsp[(10) - (10)].boolean);
+                                       n->new_tablespacename = (yyvsp[-1].str);
+                                       n->nowait = (yyvsp[0].boolean);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25053 "gram.c" /* yacc.c:1646  */
     break;
 
   case 271:
-/* Line 1792 of yacc.c  */
-#line 1899 "gram.y"
+#line 1898 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableMoveAllStmt *n =
                                                makeNode(AlterTableMoveAllStmt);
-                                       n->orig_tablespacename = (yyvsp[(6) - (13)].str);
+                                       n->orig_tablespacename = (yyvsp[-7].str);
                                        n->objtype = OBJECT_INDEX;
-                                       n->roles = (yyvsp[(9) - (13)].list);
-                                       n->new_tablespacename = (yyvsp[(12) - (13)].str);
-                                       n->nowait = (yyvsp[(13) - (13)].boolean);
+                                       n->roles = (yyvsp[-4].list);
+                                       n->new_tablespacename = (yyvsp[-1].str);
+                                       n->nowait = (yyvsp[0].boolean);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25068 "gram.c" /* yacc.c:1646  */
     break;
 
   case 272:
-/* Line 1792 of yacc.c  */
-#line 1910 "gram.y"
+#line 1909 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(3) - (4)].range);
-                                       n->cmds = (yyvsp[(4) - (4)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_SEQUENCE;
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25081 "gram.c" /* yacc.c:1646  */
     break;
 
   case 273:
-/* Line 1792 of yacc.c  */
-#line 1919 "gram.y"
+#line 1918 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(5) - (6)].range);
-                                       n->cmds = (yyvsp[(6) - (6)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_SEQUENCE;
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25094 "gram.c" /* yacc.c:1646  */
     break;
 
   case 274:
-/* Line 1792 of yacc.c  */
-#line 1928 "gram.y"
+#line 1927 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(3) - (4)].range);
-                                       n->cmds = (yyvsp[(4) - (4)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_VIEW;
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25107 "gram.c" /* yacc.c:1646  */
     break;
 
   case 275:
-/* Line 1792 of yacc.c  */
-#line 1937 "gram.y"
+#line 1936 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(5) - (6)].range);
-                                       n->cmds = (yyvsp[(6) - (6)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_VIEW;
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25120 "gram.c" /* yacc.c:1646  */
     break;
 
   case 276:
-/* Line 1792 of yacc.c  */
-#line 1946 "gram.y"
+#line 1945 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(4) - (5)].range);
-                                       n->cmds = (yyvsp[(5) - (5)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_MATVIEW;
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25133 "gram.c" /* yacc.c:1646  */
     break;
 
   case 277:
-/* Line 1792 of yacc.c  */
-#line 1955 "gram.y"
+#line 1954 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(6) - (7)].range);
-                                       n->cmds = (yyvsp[(7) - (7)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_MATVIEW;
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25146 "gram.c" /* yacc.c:1646  */
     break;
 
   case 278:
-/* Line 1792 of yacc.c  */
-#line 1964 "gram.y"
+#line 1963 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableMoveAllStmt *n =
                                                makeNode(AlterTableMoveAllStmt);
-                                       n->orig_tablespacename = (yyvsp[(7) - (11)].str);
+                                       n->orig_tablespacename = (yyvsp[-4].str);
                                        n->objtype = OBJECT_MATVIEW;
                                        n->roles = NIL;
-                                       n->new_tablespacename = (yyvsp[(10) - (11)].str);
-                                       n->nowait = (yyvsp[(11) - (11)].boolean);
+                                       n->new_tablespacename = (yyvsp[-1].str);
+                                       n->nowait = (yyvsp[0].boolean);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25161 "gram.c" /* yacc.c:1646  */
     break;
 
   case 279:
-/* Line 1792 of yacc.c  */
-#line 1975 "gram.y"
+#line 1974 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableMoveAllStmt *n =
                                                makeNode(AlterTableMoveAllStmt);
-                                       n->orig_tablespacename = (yyvsp[(7) - (14)].str);
+                                       n->orig_tablespacename = (yyvsp[-7].str);
                                        n->objtype = OBJECT_MATVIEW;
-                                       n->roles = (yyvsp[(10) - (14)].list);
-                                       n->new_tablespacename = (yyvsp[(13) - (14)].str);
-                                       n->nowait = (yyvsp[(14) - (14)].boolean);
+                                       n->roles = (yyvsp[-4].list);
+                                       n->new_tablespacename = (yyvsp[-1].str);
+                                       n->nowait = (yyvsp[0].boolean);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25176 "gram.c" /* yacc.c:1646  */
     break;
 
   case 280:
-/* Line 1792 of yacc.c  */
-#line 1988 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 1987 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 25182 "gram.c" /* yacc.c:1646  */
     break;
 
   case 281:
-/* Line 1792 of yacc.c  */
-#line 1989 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 1988 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 25188 "gram.c" /* yacc.c:1646  */
     break;
 
   case 282:
-/* Line 1792 of yacc.c  */
-#line 1995 "gram.y"
+#line 1994 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_AddColumn;
-                                       n->def = (yyvsp[(2) - (2)].node);
+                                       n->def = (yyvsp[0].node);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25200 "gram.c" /* yacc.c:1646  */
     break;
 
   case 283:
-/* Line 1792 of yacc.c  */
-#line 2004 "gram.y"
+#line 2003 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_AddColumn;
-                                       n->def = (yyvsp[(5) - (5)].node);
+                                       n->def = (yyvsp[0].node);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25212 "gram.c" /* yacc.c:1646  */
     break;
 
   case 284:
-/* Line 1792 of yacc.c  */
-#line 2013 "gram.y"
+#line 2012 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_AddColumn;
-                                       n->def = (yyvsp[(3) - (3)].node);
+                                       n->def = (yyvsp[0].node);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25224 "gram.c" /* yacc.c:1646  */
     break;
 
   case 285:
-/* Line 1792 of yacc.c  */
-#line 2022 "gram.y"
+#line 2021 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_AddColumn;
-                                       n->def = (yyvsp[(6) - (6)].node);
+                                       n->def = (yyvsp[0].node);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25236 "gram.c" /* yacc.c:1646  */
     break;
 
   case 286:
-/* Line 1792 of yacc.c  */
-#line 2031 "gram.y"
+#line 2030 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_ColumnDefault;
-                                       n->name = (yyvsp[(3) - (4)].str);
-                                       n->def = (yyvsp[(4) - (4)].node);
+                                       n->name = (yyvsp[-1].str);
+                                       n->def = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25248 "gram.c" /* yacc.c:1646  */
     break;
 
   case 287:
-/* Line 1792 of yacc.c  */
-#line 2040 "gram.y"
+#line 2039 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropNotNull;
-                                       n->name = (yyvsp[(3) - (6)].str);
+                                       n->name = (yyvsp[-3].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25259 "gram.c" /* yacc.c:1646  */
     break;
 
   case 288:
-/* Line 1792 of yacc.c  */
-#line 2048 "gram.y"
+#line 2047 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_SetNotNull;
-                                       n->name = (yyvsp[(3) - (6)].str);
+                                       n->name = (yyvsp[-3].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25270 "gram.c" /* yacc.c:1646  */
     break;
 
   case 289:
-/* Line 1792 of yacc.c  */
-#line 2056 "gram.y"
+#line 2055 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_SetStatistics;
-                                       n->name = (yyvsp[(3) - (6)].str);
-                                       n->def = (Node *) makeInteger((yyvsp[(6) - (6)].ival));
+                                       n->name = (yyvsp[-3].str);
+                                       n->def = (Node *) makeInteger((yyvsp[0].ival));
                                        (yyval.node) = (Node *)n;
                                }
+#line 25282 "gram.c" /* yacc.c:1646  */
     break;
 
   case 290:
-/* Line 1792 of yacc.c  */
-#line 2065 "gram.y"
+#line 2064 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_SetOptions;
-                                       n->name = (yyvsp[(3) - (5)].str);
-                                       n->def = (Node *) (yyvsp[(5) - (5)].list);
+                                       n->name = (yyvsp[-2].str);
+                                       n->def = (Node *) (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25294 "gram.c" /* yacc.c:1646  */
     break;
 
   case 291:
-/* Line 1792 of yacc.c  */
-#line 2074 "gram.y"
+#line 2073 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_ResetOptions;
-                                       n->name = (yyvsp[(3) - (5)].str);
-                                       n->def = (Node *) (yyvsp[(5) - (5)].list);
+                                       n->name = (yyvsp[-2].str);
+                                       n->def = (Node *) (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25306 "gram.c" /* yacc.c:1646  */
     break;
 
   case 292:
-/* Line 1792 of yacc.c  */
-#line 2083 "gram.y"
+#line 2082 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_SetStorage;
-                                       n->name = (yyvsp[(3) - (6)].str);
-                                       n->def = (Node *) makeString((yyvsp[(6) - (6)].str));
+                                       n->name = (yyvsp[-3].str);
+                                       n->def = (Node *) makeString((yyvsp[0].str));
                                        (yyval.node) = (Node *)n;
                                }
+#line 25318 "gram.c" /* yacc.c:1646  */
     break;
 
   case 293:
-/* Line 1792 of yacc.c  */
-#line 2092 "gram.y"
+#line 2091 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropColumn;
-                                       n->name = (yyvsp[(5) - (6)].str);
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->name = (yyvsp[-1].str);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = TRUE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25331 "gram.c" /* yacc.c:1646  */
     break;
 
   case 294:
-/* Line 1792 of yacc.c  */
-#line 2102 "gram.y"
+#line 2101 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropColumn;
-                                       n->name = (yyvsp[(3) - (4)].str);
-                                       n->behavior = (yyvsp[(4) - (4)].dbehavior);
+                                       n->name = (yyvsp[-1].str);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = FALSE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25344 "gram.c" /* yacc.c:1646  */
     break;
 
   case 295:
-/* Line 1792 of yacc.c  */
-#line 2115 "gram.y"
+#line 2114 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        ColumnDef *def = makeNode(ColumnDef);
                                        n->subtype = AT_AlterColumnType;
-                                       n->name = (yyvsp[(3) - (8)].str);
+                                       n->name = (yyvsp[-5].str);
                                        n->def = (Node *) def;
                                        /* We only use these fields of the ColumnDef node */
-                                       def->typeName = (yyvsp[(6) - (8)].typnam);
-                                       def->collClause = (CollateClause *) (yyvsp[(7) - (8)].node);
-                                       def->raw_default = (yyvsp[(8) - (8)].node);
-                                       def->location = (yylsp[(3) - (8)]);
+                                       def->typeName = (yyvsp[-2].typnam);
+                                       def->collClause = (CollateClause *) (yyvsp[-1].node);
+                                       def->raw_default = (yyvsp[0].node);
+                                       def->location = (yylsp[-5]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25362 "gram.c" /* yacc.c:1646  */
     break;
 
   case 296:
-/* Line 1792 of yacc.c  */
-#line 2130 "gram.y"
+#line 2129 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_AlterColumnGenericOptions;
-                                       n->name = (yyvsp[(3) - (4)].str);
-                                       n->def = (Node *) (yyvsp[(4) - (4)].list);
+                                       n->name = (yyvsp[-1].str);
+                                       n->def = (Node *) (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25374 "gram.c" /* yacc.c:1646  */
     break;
 
   case 297:
-/* Line 1792 of yacc.c  */
-#line 2139 "gram.y"
+#line 2138 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_AddConstraint;
-                                       n->def = (yyvsp[(2) - (2)].node);
+                                       n->def = (yyvsp[0].node);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25386 "gram.c" /* yacc.c:1646  */
     break;
 
   case 298:
-/* Line 1792 of yacc.c  */
-#line 2148 "gram.y"
+#line 2147 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        Constraint *c = makeNode(Constraint);
                                        n->subtype = AT_AlterConstraint;
                                        n->def = (Node *) c;
                                        c->contype = CONSTR_FOREIGN; /* others not supported, yet */
-                                       c->conname = (yyvsp[(3) - (4)].str);
-                                       processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "ALTER CONSTRAINT statement",
+                                       c->conname = (yyvsp[-1].str);
+                                       processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
                                                                        &c->deferrable,
                                                                        &c->initdeferred,
                                                                        NULL, NULL, yyscanner);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25404 "gram.c" /* yacc.c:1646  */
     break;
 
   case 299:
-/* Line 1792 of yacc.c  */
-#line 2163 "gram.y"
+#line 2162 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_ValidateConstraint;
-                                       n->name = (yyvsp[(3) - (3)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25415 "gram.c" /* yacc.c:1646  */
     break;
 
   case 300:
-/* Line 1792 of yacc.c  */
-#line 2171 "gram.y"
+#line 2170 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropConstraint;
-                                       n->name = (yyvsp[(5) - (6)].str);
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->name = (yyvsp[-1].str);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = TRUE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25428 "gram.c" /* yacc.c:1646  */
     break;
 
   case 301:
-/* Line 1792 of yacc.c  */
-#line 2181 "gram.y"
+#line 2180 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropConstraint;
-                                       n->name = (yyvsp[(3) - (4)].str);
-                                       n->behavior = (yyvsp[(4) - (4)].dbehavior);
+                                       n->name = (yyvsp[-1].str);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = FALSE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25441 "gram.c" /* yacc.c:1646  */
     break;
 
   case 302:
-/* Line 1792 of yacc.c  */
-#line 2191 "gram.y"
+#line 2190 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_AddOids;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25451 "gram.c" /* yacc.c:1646  */
     break;
 
   case 303:
-/* Line 1792 of yacc.c  */
-#line 2198 "gram.y"
+#line 2197 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropOids;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25461 "gram.c" /* yacc.c:1646  */
     break;
 
   case 304:
-/* Line 1792 of yacc.c  */
-#line 2205 "gram.y"
+#line 2204 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_ClusterOn;
-                                       n->name = (yyvsp[(3) - (3)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25472 "gram.c" /* yacc.c:1646  */
     break;
 
   case 305:
-/* Line 1792 of yacc.c  */
-#line 2213 "gram.y"
+#line 2212 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropCluster;
                                        n->name = NULL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25483 "gram.c" /* yacc.c:1646  */
     break;
 
   case 306:
-/* Line 1792 of yacc.c  */
-#line 2221 "gram.y"
+#line 2220 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_SetLogged;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25493 "gram.c" /* yacc.c:1646  */
     break;
 
   case 307:
-/* Line 1792 of yacc.c  */
-#line 2228 "gram.y"
+#line 2227 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_SetUnLogged;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25503 "gram.c" /* yacc.c:1646  */
     break;
 
   case 308:
-/* Line 1792 of yacc.c  */
-#line 2235 "gram.y"
+#line 2234 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_EnableTrig;
-                                       n->name = (yyvsp[(3) - (3)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25514 "gram.c" /* yacc.c:1646  */
     break;
 
   case 309:
-/* Line 1792 of yacc.c  */
-#line 2243 "gram.y"
+#line 2242 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_EnableAlwaysTrig;
-                                       n->name = (yyvsp[(4) - (4)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25525 "gram.c" /* yacc.c:1646  */
     break;
 
   case 310:
-/* Line 1792 of yacc.c  */
-#line 2251 "gram.y"
+#line 2250 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_EnableReplicaTrig;
-                                       n->name = (yyvsp[(4) - (4)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25536 "gram.c" /* yacc.c:1646  */
     break;
 
   case 311:
-/* Line 1792 of yacc.c  */
-#line 2259 "gram.y"
+#line 2258 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_EnableTrigAll;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25546 "gram.c" /* yacc.c:1646  */
     break;
 
   case 312:
-/* Line 1792 of yacc.c  */
-#line 2266 "gram.y"
+#line 2265 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_EnableTrigUser;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25556 "gram.c" /* yacc.c:1646  */
     break;
 
   case 313:
-/* Line 1792 of yacc.c  */
-#line 2273 "gram.y"
+#line 2272 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DisableTrig;
-                                       n->name = (yyvsp[(3) - (3)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25567 "gram.c" /* yacc.c:1646  */
     break;
 
   case 314:
-/* Line 1792 of yacc.c  */
-#line 2281 "gram.y"
+#line 2280 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DisableTrigAll;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25577 "gram.c" /* yacc.c:1646  */
     break;
 
   case 315:
-/* Line 1792 of yacc.c  */
-#line 2288 "gram.y"
+#line 2287 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DisableTrigUser;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25587 "gram.c" /* yacc.c:1646  */
     break;
 
   case 316:
-/* Line 1792 of yacc.c  */
-#line 2295 "gram.y"
+#line 2294 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_EnableRule;
-                                       n->name = (yyvsp[(3) - (3)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25598 "gram.c" /* yacc.c:1646  */
     break;
 
   case 317:
-/* Line 1792 of yacc.c  */
-#line 2303 "gram.y"
+#line 2302 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_EnableAlwaysRule;
-                                       n->name = (yyvsp[(4) - (4)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25609 "gram.c" /* yacc.c:1646  */
     break;
 
   case 318:
-/* Line 1792 of yacc.c  */
-#line 2311 "gram.y"
+#line 2310 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_EnableReplicaRule;
-                                       n->name = (yyvsp[(4) - (4)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25620 "gram.c" /* yacc.c:1646  */
     break;
 
   case 319:
-/* Line 1792 of yacc.c  */
-#line 2319 "gram.y"
+#line 2318 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DisableRule;
-                                       n->name = (yyvsp[(3) - (3)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25631 "gram.c" /* yacc.c:1646  */
     break;
 
   case 320:
-/* Line 1792 of yacc.c  */
-#line 2327 "gram.y"
+#line 2326 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_AddInherit;
-                                       n->def = (Node *) (yyvsp[(2) - (2)].range);
+                                       n->def = (Node *) (yyvsp[0].range);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25642 "gram.c" /* yacc.c:1646  */
     break;
 
   case 321:
-/* Line 1792 of yacc.c  */
-#line 2335 "gram.y"
+#line 2334 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropInherit;
-                                       n->def = (Node *) (yyvsp[(3) - (3)].range);
+                                       n->def = (Node *) (yyvsp[0].range);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25653 "gram.c" /* yacc.c:1646  */
     break;
 
   case 322:
-/* Line 1792 of yacc.c  */
-#line 2343 "gram.y"
+#line 2342 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
-                                       TypeName *def = makeTypeNameFromNameList((yyvsp[(2) - (2)].list));
-                                       def->location = (yylsp[(2) - (2)]);
+                                       TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
+                                       def->location = (yylsp[0]);
                                        n->subtype = AT_AddOf;
                                        n->def = (Node *) def;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25666 "gram.c" /* yacc.c:1646  */
     break;
 
   case 323:
-/* Line 1792 of yacc.c  */
-#line 2353 "gram.y"
+#line 2352 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropOf;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25676 "gram.c" /* yacc.c:1646  */
     break;
 
   case 324:
-/* Line 1792 of yacc.c  */
-#line 2360 "gram.y"
+#line 2359 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_ChangeOwner;
-                                       n->newowner = (yyvsp[(3) - (3)].node);
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25687 "gram.c" /* yacc.c:1646  */
     break;
 
   case 325:
-/* Line 1792 of yacc.c  */
-#line 2368 "gram.y"
+#line 2367 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_SetTableSpace;
-                                       n->name = (yyvsp[(3) - (3)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25698 "gram.c" /* yacc.c:1646  */
     break;
 
   case 326:
-/* Line 1792 of yacc.c  */
-#line 2376 "gram.y"
+#line 2375 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_SetRelOptions;
-                                       n->def = (Node *)(yyvsp[(2) - (2)].list);
+                                       n->def = (Node *)(yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25709 "gram.c" /* yacc.c:1646  */
     break;
 
   case 327:
-/* Line 1792 of yacc.c  */
-#line 2384 "gram.y"
+#line 2383 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_ResetRelOptions;
-                                       n->def = (Node *)(yyvsp[(2) - (2)].list);
+                                       n->def = (Node *)(yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25720 "gram.c" /* yacc.c:1646  */
     break;
 
   case 328:
-/* Line 1792 of yacc.c  */
-#line 2392 "gram.y"
+#line 2391 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_ReplicaIdentity;
-                                       n->def = (yyvsp[(3) - (3)].node);
+                                       n->def = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25731 "gram.c" /* yacc.c:1646  */
     break;
 
   case 329:
-/* Line 1792 of yacc.c  */
-#line 2400 "gram.y"
+#line 2399 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_EnableRowSecurity;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25741 "gram.c" /* yacc.c:1646  */
     break;
 
   case 330:
-/* Line 1792 of yacc.c  */
-#line 2407 "gram.y"
+#line 2406 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DisableRowSecurity;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25751 "gram.c" /* yacc.c:1646  */
     break;
 
   case 331:
-/* Line 1792 of yacc.c  */
-#line 2414 "gram.y"
+#line 2413 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_ForceRowSecurity;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25761 "gram.c" /* yacc.c:1646  */
     break;
 
   case 332:
-/* Line 1792 of yacc.c  */
-#line 2421 "gram.y"
+#line 2420 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_NoForceRowSecurity;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25771 "gram.c" /* yacc.c:1646  */
     break;
 
   case 333:
-/* Line 1792 of yacc.c  */
-#line 2427 "gram.y"
+#line 2426 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_GenericOptions;
-                                       n->def = (Node *)(yyvsp[(1) - (1)].list);
+                                       n->def = (Node *)(yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 25782 "gram.c" /* yacc.c:1646  */
     break;
 
   case 334:
-/* Line 1792 of yacc.c  */
-#line 2436 "gram.y"
-    { (yyval.node) = (yyvsp[(3) - (3)].node); }
+#line 2435 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 25788 "gram.c" /* yacc.c:1646  */
     break;
 
   case 335:
-/* Line 1792 of yacc.c  */
-#line 2437 "gram.y"
+#line 2436 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 25794 "gram.c" /* yacc.c:1646  */
     break;
 
   case 336:
-/* Line 1792 of yacc.c  */
-#line 2441 "gram.y"
+#line 2440 "gram.y" /* yacc.c:1646  */
     { (yyval.dbehavior) = DROP_CASCADE; }
+#line 25800 "gram.c" /* yacc.c:1646  */
     break;
 
   case 337:
-/* Line 1792 of yacc.c  */
-#line 2442 "gram.y"
+#line 2441 "gram.y" /* yacc.c:1646  */
     { (yyval.dbehavior) = DROP_RESTRICT; }
+#line 25806 "gram.c" /* yacc.c:1646  */
     break;
 
   case 338:
-/* Line 1792 of yacc.c  */
-#line 2443 "gram.y"
+#line 2442 "gram.y" /* yacc.c:1646  */
     { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
+#line 25812 "gram.c" /* yacc.c:1646  */
     break;
 
   case 339:
-/* Line 1792 of yacc.c  */
-#line 2448 "gram.y"
+#line 2447 "gram.y" /* yacc.c:1646  */
     {
                                        CollateClause *n = makeNode(CollateClause);
                                        n->arg = NULL;
-                                       n->collname = (yyvsp[(2) - (2)].list);
-                                       n->location = (yylsp[(1) - (2)]);
+                                       n->collname = (yyvsp[0].list);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *) n;
                                }
+#line 25824 "gram.c" /* yacc.c:1646  */
     break;
 
   case 340:
-/* Line 1792 of yacc.c  */
-#line 2455 "gram.y"
+#line 2454 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 25830 "gram.c" /* yacc.c:1646  */
     break;
 
   case 341:
-/* Line 1792 of yacc.c  */
-#line 2459 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 2458 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 25836 "gram.c" /* yacc.c:1646  */
     break;
 
   case 342:
-/* Line 1792 of yacc.c  */
-#line 2460 "gram.y"
+#line 2459 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 25842 "gram.c" /* yacc.c:1646  */
     break;
 
   case 343:
-/* Line 1792 of yacc.c  */
-#line 2465 "gram.y"
+#line 2464 "gram.y" /* yacc.c:1646  */
     {
                                        ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
                                        n->identity_type = REPLICA_IDENTITY_NOTHING;
                                        n->name = NULL;
                                        (yyval.node) = (Node *) n;
                                }
+#line 25853 "gram.c" /* yacc.c:1646  */
     break;
 
   case 344:
-/* Line 1792 of yacc.c  */
-#line 2472 "gram.y"
+#line 2471 "gram.y" /* yacc.c:1646  */
     {
                                        ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
                                        n->identity_type = REPLICA_IDENTITY_FULL;
                                        n->name = NULL;
                                        (yyval.node) = (Node *) n;
                                }
+#line 25864 "gram.c" /* yacc.c:1646  */
     break;
 
   case 345:
-/* Line 1792 of yacc.c  */
-#line 2479 "gram.y"
+#line 2478 "gram.y" /* yacc.c:1646  */
     {
                                        ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
                                        n->identity_type = REPLICA_IDENTITY_DEFAULT;
                                        n->name = NULL;
                                        (yyval.node) = (Node *) n;
                                }
+#line 25875 "gram.c" /* yacc.c:1646  */
     break;
 
   case 346:
-/* Line 1792 of yacc.c  */
-#line 2486 "gram.y"
+#line 2485 "gram.y" /* yacc.c:1646  */
     {
                                        ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
                                        n->identity_type = REPLICA_IDENTITY_INDEX;
-                                       n->name = (yyvsp[(3) - (3)].str);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 25886 "gram.c" /* yacc.c:1646  */
     break;
 
   case 347:
-/* Line 1792 of yacc.c  */
-#line 2495 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 2494 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 25892 "gram.c" /* yacc.c:1646  */
     break;
 
   case 348:
-/* Line 1792 of yacc.c  */
-#line 2498 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 2497 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 25898 "gram.c" /* yacc.c:1646  */
     break;
 
   case 349:
-/* Line 1792 of yacc.c  */
-#line 2499 "gram.y"
+#line 2498 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 25904 "gram.c" /* yacc.c:1646  */
     break;
 
   case 350:
-/* Line 1792 of yacc.c  */
-#line 2503 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 2502 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 25910 "gram.c" /* yacc.c:1646  */
     break;
 
   case 351:
-/* Line 1792 of yacc.c  */
-#line 2504 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
+#line 2503 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 25916 "gram.c" /* yacc.c:1646  */
     break;
 
   case 352:
-/* Line 1792 of yacc.c  */
-#line 2510 "gram.y"
+#line 2509 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node));
+                                       (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node));
                                }
+#line 25924 "gram.c" /* yacc.c:1646  */
     break;
 
   case 353:
-/* Line 1792 of yacc.c  */
-#line 2514 "gram.y"
+#line 2513 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL);
+                                       (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL);
                                }
+#line 25932 "gram.c" /* yacc.c:1646  */
     break;
 
   case 354:
-/* Line 1792 of yacc.c  */
-#line 2518 "gram.y"
+#line 2517 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (Node *) (yyvsp[(5) - (5)].node),
+                                       (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
                                                                                         DEFELEM_UNSPEC);
                                }
+#line 25941 "gram.c" /* yacc.c:1646  */
     break;
 
   case 355:
-/* Line 1792 of yacc.c  */
-#line 2523 "gram.y"
+#line 2522 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str), NULL, DEFELEM_UNSPEC);
+                                       (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC);
                                }
+#line 25949 "gram.c" /* yacc.c:1646  */
     break;
 
   case 356:
-/* Line 1792 of yacc.c  */
-#line 2538 "gram.y"
+#line 2537 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
 
                                        /* can't use qualified_name, sigh */
-                                       n->relation = makeRangeVarFromAnyName((yyvsp[(3) - (4)].list), (yylsp[(3) - (4)]), yyscanner);
-                                       n->cmds = (yyvsp[(4) - (4)].list);
+                                       n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_TYPE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 25963 "gram.c" /* yacc.c:1646  */
     break;
 
   case 357:
-/* Line 1792 of yacc.c  */
-#line 2550 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 2549 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 25969 "gram.c" /* yacc.c:1646  */
     break;
 
   case 358:
-/* Line 1792 of yacc.c  */
-#line 2551 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 2550 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 25975 "gram.c" /* yacc.c:1646  */
     break;
 
   case 359:
-/* Line 1792 of yacc.c  */
-#line 2557 "gram.y"
+#line 2556 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_AddColumn;
-                                       n->def = (yyvsp[(3) - (4)].node);
-                                       n->behavior = (yyvsp[(4) - (4)].dbehavior);
+                                       n->def = (yyvsp[-1].node);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        (yyval.node) = (Node *)n;
                                }
+#line 25987 "gram.c" /* yacc.c:1646  */
     break;
 
   case 360:
-/* Line 1792 of yacc.c  */
-#line 2566 "gram.y"
+#line 2565 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropColumn;
-                                       n->name = (yyvsp[(5) - (6)].str);
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->name = (yyvsp[-1].str);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = TRUE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26000 "gram.c" /* yacc.c:1646  */
     break;
 
   case 361:
-/* Line 1792 of yacc.c  */
-#line 2576 "gram.y"
+#line 2575 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        n->subtype = AT_DropColumn;
-                                       n->name = (yyvsp[(3) - (4)].str);
-                                       n->behavior = (yyvsp[(4) - (4)].dbehavior);
+                                       n->name = (yyvsp[-1].str);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = FALSE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26013 "gram.c" /* yacc.c:1646  */
     break;
 
   case 362:
-/* Line 1792 of yacc.c  */
-#line 2586 "gram.y"
+#line 2585 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableCmd *n = makeNode(AlterTableCmd);
                                        ColumnDef *def = makeNode(ColumnDef);
                                        n->subtype = AT_AlterColumnType;
-                                       n->name = (yyvsp[(3) - (8)].str);
+                                       n->name = (yyvsp[-5].str);
                                        n->def = (Node *) def;
-                                       n->behavior = (yyvsp[(8) - (8)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        /* We only use these fields of the ColumnDef node */
-                                       def->typeName = (yyvsp[(6) - (8)].typnam);
-                                       def->collClause = (CollateClause *) (yyvsp[(7) - (8)].node);
+                                       def->typeName = (yyvsp[-2].typnam);
+                                       def->collClause = (CollateClause *) (yyvsp[-1].node);
                                        def->raw_default = NULL;
-                                       def->location = (yylsp[(3) - (8)]);
+                                       def->location = (yylsp[-5]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26032 "gram.c" /* yacc.c:1646  */
     break;
 
   case 363:
-/* Line 1792 of yacc.c  */
-#line 2612 "gram.y"
+#line 2611 "gram.y" /* yacc.c:1646  */
     {
                                        ClosePortalStmt *n = makeNode(ClosePortalStmt);
-                                       n->portalname = (yyvsp[(2) - (2)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26042 "gram.c" /* yacc.c:1646  */
     break;
 
   case 364:
-/* Line 1792 of yacc.c  */
-#line 2618 "gram.y"
+#line 2617 "gram.y" /* yacc.c:1646  */
     {
                                        ClosePortalStmt *n = makeNode(ClosePortalStmt);
                                        n->portalname = NULL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26052 "gram.c" /* yacc.c:1646  */
     break;
 
   case 365:
-/* Line 1792 of yacc.c  */
-#line 2652 "gram.y"
+#line 2651 "gram.y" /* yacc.c:1646  */
     {
                                        CopyStmt *n = makeNode(CopyStmt);
-                                       n->relation = (yyvsp[(3) - (11)].range);
+                                       n->relation = (yyvsp[-8].range);
                                        n->query = NULL;
-                                       n->attlist = (yyvsp[(4) - (11)].list);
-                                       n->is_from = (yyvsp[(6) - (11)].boolean);
-                                       n->is_program = (yyvsp[(7) - (11)].boolean);
-                                       n->filename = (yyvsp[(8) - (11)].str);
+                                       n->attlist = (yyvsp[-7].list);
+                                       n->is_from = (yyvsp[-5].boolean);
+                                       n->is_program = (yyvsp[-4].boolean);
+                                       n->filename = (yyvsp[-3].str);
 
                                        if (n->is_program && n->filename == NULL)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_SYNTAX_ERROR),
                                                                 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
-                                                                parser_errposition((yylsp[(8) - (11)]))));
+                                                                parser_errposition((yylsp[-3]))));
 
                                        n->options = NIL;
                                        /* Concatenate user-supplied flags */
-                                       if ((yyvsp[(2) - (11)].defelt))
-                                               n->options = lappend(n->options, (yyvsp[(2) - (11)].defelt));
-                                       if ((yyvsp[(5) - (11)].defelt))
-                                               n->options = lappend(n->options, (yyvsp[(5) - (11)].defelt));
-                                       if ((yyvsp[(9) - (11)].defelt))
-                                               n->options = lappend(n->options, (yyvsp[(9) - (11)].defelt));
-                                       if ((yyvsp[(11) - (11)].list))
-                                               n->options = list_concat(n->options, (yyvsp[(11) - (11)].list));
+                                       if ((yyvsp[-9].defelt))
+                                               n->options = lappend(n->options, (yyvsp[-9].defelt));
+                                       if ((yyvsp[-6].defelt))
+                                               n->options = lappend(n->options, (yyvsp[-6].defelt));
+                                       if ((yyvsp[-2].defelt))
+                                               n->options = lappend(n->options, (yyvsp[-2].defelt));
+                                       if ((yyvsp[0].list))
+                                               n->options = list_concat(n->options, (yyvsp[0].list));
                                        (yyval.node) = (Node *)n;
                                }
+#line 26084 "gram.c" /* yacc.c:1646  */
     break;
 
   case 366:
-/* Line 1792 of yacc.c  */
-#line 2680 "gram.y"
+#line 2679 "gram.y" /* yacc.c:1646  */
     {
                                        CopyStmt *n = makeNode(CopyStmt);
                                        n->relation = NULL;
-                                       n->query = (yyvsp[(3) - (9)].node);
+                                       n->query = (yyvsp[-6].node);
                                        n->attlist = NIL;
                                        n->is_from = false;
-                                       n->is_program = (yyvsp[(6) - (9)].boolean);
-                                       n->filename = (yyvsp[(7) - (9)].str);
-                                       n->options = (yyvsp[(9) - (9)].list);
+                                       n->is_program = (yyvsp[-3].boolean);
+                                       n->filename = (yyvsp[-2].str);
+                                       n->options = (yyvsp[0].list);
 
                                        if (n->is_program && n->filename == NULL)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_SYNTAX_ERROR),
                                                                 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
-                                                                parser_errposition((yylsp[(5) - (9)]))));
+                                                                parser_errposition((yylsp[-4]))));
 
                                        (yyval.node) = (Node *)n;
                                }
+#line 26107 "gram.c" /* yacc.c:1646  */
     break;
 
   case 367:
-/* Line 1792 of yacc.c  */
-#line 2701 "gram.y"
+#line 2700 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 26113 "gram.c" /* yacc.c:1646  */
     break;
 
   case 368:
-/* Line 1792 of yacc.c  */
-#line 2702 "gram.y"
+#line 2701 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 26119 "gram.c" /* yacc.c:1646  */
     break;
 
   case 369:
-/* Line 1792 of yacc.c  */
-#line 2706 "gram.y"
+#line 2705 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 26125 "gram.c" /* yacc.c:1646  */
     break;
 
   case 370:
-/* Line 1792 of yacc.c  */
-#line 2707 "gram.y"
+#line 2706 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 26131 "gram.c" /* yacc.c:1646  */
     break;
 
   case 371:
-/* Line 1792 of yacc.c  */
-#line 2716 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 2715 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 26137 "gram.c" /* yacc.c:1646  */
     break;
 
   case 372:
-/* Line 1792 of yacc.c  */
-#line 2717 "gram.y"
+#line 2716 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 26143 "gram.c" /* yacc.c:1646  */
     break;
 
   case 373:
-/* Line 1792 of yacc.c  */
-#line 2718 "gram.y"
+#line 2717 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 26149 "gram.c" /* yacc.c:1646  */
     break;
 
   case 374:
-/* Line 1792 of yacc.c  */
-#line 2721 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 2720 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 26155 "gram.c" /* yacc.c:1646  */
     break;
 
   case 375:
-/* Line 1792 of yacc.c  */
-#line 2722 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 2721 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 26161 "gram.c" /* yacc.c:1646  */
     break;
 
   case 376:
-/* Line 1792 of yacc.c  */
-#line 2727 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 2726 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 26167 "gram.c" /* yacc.c:1646  */
     break;
 
   case 377:
-/* Line 1792 of yacc.c  */
-#line 2728 "gram.y"
+#line 2727 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 26173 "gram.c" /* yacc.c:1646  */
     break;
 
   case 378:
-/* Line 1792 of yacc.c  */
-#line 2733 "gram.y"
+#line 2732 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"));
                                }
+#line 26181 "gram.c" /* yacc.c:1646  */
     break;
 
   case 379:
-/* Line 1792 of yacc.c  */
-#line 2737 "gram.y"
+#line 2736 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
                                }
+#line 26189 "gram.c" /* yacc.c:1646  */
     break;
 
   case 380:
-/* Line 1792 of yacc.c  */
-#line 2741 "gram.y"
+#line 2740 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(TRUE));
                                }
+#line 26197 "gram.c" /* yacc.c:1646  */
     break;
 
   case 381:
-/* Line 1792 of yacc.c  */
-#line 2745 "gram.y"
+#line 2744 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str)));
+                                       (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 26205 "gram.c" /* yacc.c:1646  */
     break;
 
   case 382:
-/* Line 1792 of yacc.c  */
-#line 2749 "gram.y"
+#line 2748 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[(3) - (3)].str)));
+                                       (yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 26213 "gram.c" /* yacc.c:1646  */
     break;
 
   case 383:
-/* Line 1792 of yacc.c  */
-#line 2753 "gram.y"
+#line 2752 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"));
                                }
+#line 26221 "gram.c" /* yacc.c:1646  */
     break;
 
   case 384:
-/* Line 1792 of yacc.c  */
-#line 2757 "gram.y"
+#line 2756 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("header", (Node *)makeInteger(TRUE));
                                }
+#line 26229 "gram.c" /* yacc.c:1646  */
     break;
 
   case 385:
-/* Line 1792 of yacc.c  */
-#line 2761 "gram.y"
+#line 2760 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[(3) - (3)].str)));
+                                       (yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 26237 "gram.c" /* yacc.c:1646  */
     break;
 
   case 386:
-/* Line 1792 of yacc.c  */
-#line 2765 "gram.y"
+#line 2764 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[(3) - (3)].str)));
+                                       (yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 26245 "gram.c" /* yacc.c:1646  */
     break;
 
   case 387:
-/* Line 1792 of yacc.c  */
-#line 2769 "gram.y"
+#line 2768 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[(3) - (3)].list));
+                                       (yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list));
                                }
+#line 26253 "gram.c" /* yacc.c:1646  */
     break;
 
   case 388:
-/* Line 1792 of yacc.c  */
-#line 2773 "gram.y"
+#line 2772 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star));
                                }
+#line 26261 "gram.c" /* yacc.c:1646  */
     break;
 
   case 389:
-/* Line 1792 of yacc.c  */
-#line 2777 "gram.y"
+#line 2776 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[(4) - (4)].list));
+                                       (yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list));
                                }
+#line 26269 "gram.c" /* yacc.c:1646  */
     break;
 
   case 390:
-/* Line 1792 of yacc.c  */
-#line 2781 "gram.y"
+#line 2780 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[(3) - (3)].list));
+                                       (yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list));
                                }
+#line 26277 "gram.c" /* yacc.c:1646  */
     break;
 
   case 391:
-/* Line 1792 of yacc.c  */
-#line 2785 "gram.y"
+#line 2784 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[(2) - (2)].str)));
+                                       (yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 26285 "gram.c" /* yacc.c:1646  */
     break;
 
   case 392:
-/* Line 1792 of yacc.c  */
-#line 2794 "gram.y"
+#line 2793 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"));
                                }
+#line 26293 "gram.c" /* yacc.c:1646  */
     break;
 
   case 393:
-/* Line 1792 of yacc.c  */
-#line 2797 "gram.y"
+#line 2796 "gram.y" /* yacc.c:1646  */
     { (yyval.defelt) = NULL; }
+#line 26299 "gram.c" /* yacc.c:1646  */
     break;
 
   case 394:
-/* Line 1792 of yacc.c  */
-#line 2802 "gram.y"
+#line 2801 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
                                }
+#line 26307 "gram.c" /* yacc.c:1646  */
     break;
 
   case 395:
-/* Line 1792 of yacc.c  */
-#line 2805 "gram.y"
+#line 2804 "gram.y" /* yacc.c:1646  */
     { (yyval.defelt) = NULL; }
+#line 26313 "gram.c" /* yacc.c:1646  */
     break;
 
   case 396:
-/* Line 1792 of yacc.c  */
-#line 2810 "gram.y"
+#line 2809 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str)));
+                                       (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 26321 "gram.c" /* yacc.c:1646  */
     break;
 
   case 397:
-/* Line 1792 of yacc.c  */
-#line 2813 "gram.y"
+#line 2812 "gram.y" /* yacc.c:1646  */
     { (yyval.defelt) = NULL; }
+#line 26327 "gram.c" /* yacc.c:1646  */
     break;
 
   case 398:
-/* Line 1792 of yacc.c  */
-#line 2817 "gram.y"
+#line 2816 "gram.y" /* yacc.c:1646  */
     {}
+#line 26333 "gram.c" /* yacc.c:1646  */
     break;
 
   case 399:
-/* Line 1792 of yacc.c  */
-#line 2818 "gram.y"
+#line 2817 "gram.y" /* yacc.c:1646  */
     {}
+#line 26339 "gram.c" /* yacc.c:1646  */
     break;
 
   case 400:
-/* Line 1792 of yacc.c  */
-#line 2824 "gram.y"
+#line 2823 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
+                                       (yyval.list) = list_make1((yyvsp[0].defelt));
                                }
+#line 26347 "gram.c" /* yacc.c:1646  */
     break;
 
   case 401:
-/* Line 1792 of yacc.c  */
-#line 2828 "gram.y"
+#line 2827 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
                                }
+#line 26355 "gram.c" /* yacc.c:1646  */
     break;
 
   case 402:
-/* Line 1792 of yacc.c  */
-#line 2835 "gram.y"
+#line 2834 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
+                                       (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node));
                                }
+#line 26363 "gram.c" /* yacc.c:1646  */
     break;
 
   case 403:
-/* Line 1792 of yacc.c  */
-#line 2841 "gram.y"
-    { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); }
+#line 2840 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 26369 "gram.c" /* yacc.c:1646  */
     break;
 
   case 404:
-/* Line 1792 of yacc.c  */
-#line 2842 "gram.y"
-    { (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); }
+#line 2841 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) (yyvsp[0].value); }
+#line 26375 "gram.c" /* yacc.c:1646  */
     break;
 
   case 405:
-/* Line 1792 of yacc.c  */
-#line 2843 "gram.y"
+#line 2842 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = (Node *) makeNode(A_Star); }
+#line 26381 "gram.c" /* yacc.c:1646  */
     break;
 
   case 406:
-/* Line 1792 of yacc.c  */
-#line 2844 "gram.y"
-    { (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); }
+#line 2843 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) (yyvsp[-1].list); }
+#line 26387 "gram.c" /* yacc.c:1646  */
     break;
 
   case 407:
-/* Line 1792 of yacc.c  */
-#line 2845 "gram.y"
+#line 2844 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 26393 "gram.c" /* yacc.c:1646  */
     break;
 
   case 408:
-/* Line 1792 of yacc.c  */
-#line 2850 "gram.y"
+#line 2849 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
+                                       (yyval.list) = list_make1((yyvsp[0].node));
                                }
+#line 26401 "gram.c" /* yacc.c:1646  */
     break;
 
   case 409:
-/* Line 1792 of yacc.c  */
-#line 2854 "gram.y"
+#line 2853 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
                                }
+#line 26409 "gram.c" /* yacc.c:1646  */
     break;
 
   case 410:
-/* Line 1792 of yacc.c  */
-#line 2861 "gram.y"
-    { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); }
+#line 2860 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 26415 "gram.c" /* yacc.c:1646  */
     break;
 
   case 411:
-/* Line 1792 of yacc.c  */
-#line 2874 "gram.y"
+#line 2873 "gram.y" /* yacc.c:1646  */
     {
                                        CreateStmt *n = makeNode(CreateStmt);
-                                       (yyvsp[(4) - (11)].range)->relpersistence = (yyvsp[(2) - (11)].ival);
-                                       n->relation = (yyvsp[(4) - (11)].range);
-                                       n->tableElts = (yyvsp[(6) - (11)].list);
-                                       n->inhRelations = (yyvsp[(8) - (11)].list);
+                                       (yyvsp[-7].range)->relpersistence = (yyvsp[-9].ival);
+                                       n->relation = (yyvsp[-7].range);
+                                       n->tableElts = (yyvsp[-5].list);
+                                       n->inhRelations = (yyvsp[-3].list);
                                        n->ofTypename = NULL;
                                        n->constraints = NIL;
-                                       n->options = (yyvsp[(9) - (11)].list);
-                                       n->oncommit = (yyvsp[(10) - (11)].oncommit);
-                                       n->tablespacename = (yyvsp[(11) - (11)].str);
+                                       n->options = (yyvsp[-2].list);
+                                       n->oncommit = (yyvsp[-1].oncommit);
+                                       n->tablespacename = (yyvsp[0].str);
                                        n->if_not_exists = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26434 "gram.c" /* yacc.c:1646  */
     break;
 
   case 412:
-/* Line 1792 of yacc.c  */
-#line 2891 "gram.y"
+#line 2890 "gram.y" /* yacc.c:1646  */
     {
                                        CreateStmt *n = makeNode(CreateStmt);
-                                       (yyvsp[(7) - (14)].range)->relpersistence = (yyvsp[(2) - (14)].ival);
-                                       n->relation = (yyvsp[(7) - (14)].range);
-                                       n->tableElts = (yyvsp[(9) - (14)].list);
-                                       n->inhRelations = (yyvsp[(11) - (14)].list);
+                                       (yyvsp[-7].range)->relpersistence = (yyvsp[-12].ival);
+                                       n->relation = (yyvsp[-7].range);
+                                       n->tableElts = (yyvsp[-5].list);
+                                       n->inhRelations = (yyvsp[-3].list);
                                        n->ofTypename = NULL;
                                        n->constraints = NIL;
-                                       n->options = (yyvsp[(12) - (14)].list);
-                                       n->oncommit = (yyvsp[(13) - (14)].oncommit);
-                                       n->tablespacename = (yyvsp[(14) - (14)].str);
+                                       n->options = (yyvsp[-2].list);
+                                       n->oncommit = (yyvsp[-1].oncommit);
+                                       n->tablespacename = (yyvsp[0].str);
                                        n->if_not_exists = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26453 "gram.c" /* yacc.c:1646  */
     break;
 
   case 413:
-/* Line 1792 of yacc.c  */
-#line 2907 "gram.y"
+#line 2906 "gram.y" /* yacc.c:1646  */
     {
                                        CreateStmt *n = makeNode(CreateStmt);
-                                       (yyvsp[(4) - (10)].range)->relpersistence = (yyvsp[(2) - (10)].ival);
-                                       n->relation = (yyvsp[(4) - (10)].range);
-                                       n->tableElts = (yyvsp[(7) - (10)].list);
+                                       (yyvsp[-6].range)->relpersistence = (yyvsp[-8].ival);
+                                       n->relation = (yyvsp[-6].range);
+                                       n->tableElts = (yyvsp[-3].list);
                                        n->inhRelations = NIL;
-                                       n->ofTypename = makeTypeNameFromNameList((yyvsp[(6) - (10)].list));
-                                       n->ofTypename->location = (yylsp[(6) - (10)]);
+                                       n->ofTypename = makeTypeNameFromNameList((yyvsp[-4].list));
+                                       n->ofTypename->location = (yylsp[-4]);
                                        n->constraints = NIL;
-                                       n->options = (yyvsp[(8) - (10)].list);
-                                       n->oncommit = (yyvsp[(9) - (10)].oncommit);
-                                       n->tablespacename = (yyvsp[(10) - (10)].str);
+                                       n->options = (yyvsp[-2].list);
+                                       n->oncommit = (yyvsp[-1].oncommit);
+                                       n->tablespacename = (yyvsp[0].str);
                                        n->if_not_exists = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26473 "gram.c" /* yacc.c:1646  */
     break;
 
   case 414:
-/* Line 1792 of yacc.c  */
-#line 2924 "gram.y"
+#line 2923 "gram.y" /* yacc.c:1646  */
     {
                                        CreateStmt *n = makeNode(CreateStmt);
-                                       (yyvsp[(7) - (13)].range)->relpersistence = (yyvsp[(2) - (13)].ival);
-                                       n->relation = (yyvsp[(7) - (13)].range);
-                                       n->tableElts = (yyvsp[(10) - (13)].list);
+                                       (yyvsp[-6].range)->relpersistence = (yyvsp[-11].ival);
+                                       n->relation = (yyvsp[-6].range);
+                                       n->tableElts = (yyvsp[-3].list);
                                        n->inhRelations = NIL;
-                                       n->ofTypename = makeTypeNameFromNameList((yyvsp[(9) - (13)].list));
-                                       n->ofTypename->location = (yylsp[(9) - (13)]);
+                                       n->ofTypename = makeTypeNameFromNameList((yyvsp[-4].list));
+                                       n->ofTypename->location = (yylsp[-4]);
                                        n->constraints = NIL;
-                                       n->options = (yyvsp[(11) - (13)].list);
-                                       n->oncommit = (yyvsp[(12) - (13)].oncommit);
-                                       n->tablespacename = (yyvsp[(13) - (13)].str);
+                                       n->options = (yyvsp[-2].list);
+                                       n->oncommit = (yyvsp[-1].oncommit);
+                                       n->tablespacename = (yyvsp[0].str);
                                        n->if_not_exists = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26493 "gram.c" /* yacc.c:1646  */
     break;
 
   case 415:
-/* Line 1792 of yacc.c  */
-#line 2952 "gram.y"
+#line 2951 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = RELPERSISTENCE_TEMP; }
+#line 26499 "gram.c" /* yacc.c:1646  */
     break;
 
   case 416:
-/* Line 1792 of yacc.c  */
-#line 2953 "gram.y"
+#line 2952 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = RELPERSISTENCE_TEMP; }
+#line 26505 "gram.c" /* yacc.c:1646  */
     break;
 
   case 417:
-/* Line 1792 of yacc.c  */
-#line 2954 "gram.y"
+#line 2953 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = RELPERSISTENCE_TEMP; }
+#line 26511 "gram.c" /* yacc.c:1646  */
     break;
 
   case 418:
-/* Line 1792 of yacc.c  */
-#line 2955 "gram.y"
+#line 2954 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = RELPERSISTENCE_TEMP; }
+#line 26517 "gram.c" /* yacc.c:1646  */
     break;
 
   case 419:
-/* Line 1792 of yacc.c  */
-#line 2957 "gram.y"
+#line 2956 "gram.y" /* yacc.c:1646  */
     {
                                        ereport(WARNING,
                                                        (errmsg("GLOBAL is deprecated in temporary table creation"),
-                                                        parser_errposition((yylsp[(1) - (2)]))));
+                                                        parser_errposition((yylsp[-1]))));
                                        (yyval.ival) = RELPERSISTENCE_TEMP;
                                }
+#line 26528 "gram.c" /* yacc.c:1646  */
     break;
 
   case 420:
-/* Line 1792 of yacc.c  */
-#line 2964 "gram.y"
+#line 2963 "gram.y" /* yacc.c:1646  */
     {
                                        ereport(WARNING,
                                                        (errmsg("GLOBAL is deprecated in temporary table creation"),
-                                                        parser_errposition((yylsp[(1) - (2)]))));
+                                                        parser_errposition((yylsp[-1]))));
                                        (yyval.ival) = RELPERSISTENCE_TEMP;
                                }
+#line 26539 "gram.c" /* yacc.c:1646  */
     break;
 
   case 421:
-/* Line 1792 of yacc.c  */
-#line 2970 "gram.y"
+#line 2969 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
+#line 26545 "gram.c" /* yacc.c:1646  */
     break;
 
   case 422:
-/* Line 1792 of yacc.c  */
-#line 2971 "gram.y"
+#line 2970 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
+#line 26551 "gram.c" /* yacc.c:1646  */
     break;
 
   case 423:
-/* Line 1792 of yacc.c  */
-#line 2975 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 2974 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 26557 "gram.c" /* yacc.c:1646  */
     break;
 
   case 424:
-/* Line 1792 of yacc.c  */
-#line 2976 "gram.y"
+#line 2975 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 26563 "gram.c" /* yacc.c:1646  */
     break;
 
   case 425:
-/* Line 1792 of yacc.c  */
-#line 2980 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 2979 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 26569 "gram.c" /* yacc.c:1646  */
     break;
 
   case 426:
-/* Line 1792 of yacc.c  */
-#line 2981 "gram.y"
+#line 2980 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 26575 "gram.c" /* yacc.c:1646  */
     break;
 
   case 427:
-/* Line 1792 of yacc.c  */
-#line 2986 "gram.y"
+#line 2985 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
+                                       (yyval.list) = list_make1((yyvsp[0].node));
                                }
+#line 26583 "gram.c" /* yacc.c:1646  */
     break;
 
   case 428:
-/* Line 1792 of yacc.c  */
-#line 2990 "gram.y"
+#line 2989 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
                                }
+#line 26591 "gram.c" /* yacc.c:1646  */
     break;
 
   case 429:
-/* Line 1792 of yacc.c  */
-#line 2997 "gram.y"
+#line 2996 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
+                                       (yyval.list) = list_make1((yyvsp[0].node));
                                }
+#line 26599 "gram.c" /* yacc.c:1646  */
     break;
 
   case 430:
-/* Line 1792 of yacc.c  */
-#line 3001 "gram.y"
+#line 3000 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
                                }
+#line 26607 "gram.c" /* yacc.c:1646  */
     break;
 
   case 431:
-/* Line 1792 of yacc.c  */
-#line 3007 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 3006 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 26613 "gram.c" /* yacc.c:1646  */
     break;
 
   case 432:
-/* Line 1792 of yacc.c  */
-#line 3008 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 3007 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 26619 "gram.c" /* yacc.c:1646  */
     break;
 
   case 433:
-/* Line 1792 of yacc.c  */
-#line 3009 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 3008 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 26625 "gram.c" /* yacc.c:1646  */
     break;
 
   case 434:
-/* Line 1792 of yacc.c  */
-#line 3013 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 3012 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 26631 "gram.c" /* yacc.c:1646  */
     break;
 
   case 435:
-/* Line 1792 of yacc.c  */
-#line 3014 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 3013 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 26637 "gram.c" /* yacc.c:1646  */
     break;
 
   case 436:
-/* Line 1792 of yacc.c  */
-#line 3018 "gram.y"
+#line 3017 "gram.y" /* yacc.c:1646  */
     {
                                        ColumnDef *n = makeNode(ColumnDef);
-                                       n->colname = (yyvsp[(1) - (4)].str);
-                                       n->typeName = (yyvsp[(2) - (4)].typnam);
+                                       n->colname = (yyvsp[-3].str);
+                                       n->typeName = (yyvsp[-2].typnam);
                                        n->inhcount = 0;
                                        n->is_local = true;
                                        n->is_not_null = false;
@@ -27964,20 +26650,20 @@ yyreduce:
                                        n->raw_default = NULL;
                                        n->cooked_default = NULL;
                                        n->collOid = InvalidOid;
-                                       n->fdwoptions = (yyvsp[(3) - (4)].list);
-                                       SplitColQualList((yyvsp[(4) - (4)].list), &n->constraints, &n->collClause,
+                                       n->fdwoptions = (yyvsp[-1].list);
+                                       SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
                                                                         yyscanner);
-                                       n->location = (yylsp[(1) - (4)]);
+                                       n->location = (yylsp[-3]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26660 "gram.c" /* yacc.c:1646  */
     break;
 
   case 437:
-/* Line 1792 of yacc.c  */
-#line 3039 "gram.y"
+#line 3038 "gram.y" /* yacc.c:1646  */
     {
                                        ColumnDef *n = makeNode(ColumnDef);
-                                       n->colname = (yyvsp[(1) - (4)].str);
+                                       n->colname = (yyvsp[-3].str);
                                        n->typeName = NULL;
                                        n->inhcount = 0;
                                        n->is_local = true;
@@ -27987,52 +26673,52 @@ yyreduce:
                                        n->raw_default = NULL;
                                        n->cooked_default = NULL;
                                        n->collOid = InvalidOid;
-                                       SplitColQualList((yyvsp[(4) - (4)].list), &n->constraints, &n->collClause,
+                                       SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
                                                                         yyscanner);
-                                       n->location = (yylsp[(1) - (4)]);
+                                       n->location = (yylsp[-3]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26682 "gram.c" /* yacc.c:1646  */
     break;
 
   case 438:
-/* Line 1792 of yacc.c  */
-#line 3059 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
+#line 3058 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 26688 "gram.c" /* yacc.c:1646  */
     break;
 
   case 439:
-/* Line 1792 of yacc.c  */
-#line 3060 "gram.y"
+#line 3059 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 26694 "gram.c" /* yacc.c:1646  */
     break;
 
   case 440:
-/* Line 1792 of yacc.c  */
-#line 3065 "gram.y"
+#line 3064 "gram.y" /* yacc.c:1646  */
     {
-                                       Constraint *n = (Constraint *) (yyvsp[(3) - (3)].node);
+                                       Constraint *n = (Constraint *) (yyvsp[0].node);
                                        Assert(IsA(n, Constraint));
-                                       n->conname = (yyvsp[(2) - (3)].str);
-                                       n->location = (yylsp[(1) - (3)]);
+                                       n->conname = (yyvsp[-1].str);
+                                       n->location = (yylsp[-2]);
                                        (yyval.node) = (Node *) n;
                                }
+#line 26706 "gram.c" /* yacc.c:1646  */
     break;
 
   case 441:
-/* Line 1792 of yacc.c  */
-#line 3072 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 3071 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 26712 "gram.c" /* yacc.c:1646  */
     break;
 
   case 442:
-/* Line 1792 of yacc.c  */
-#line 3073 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 3072 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 26718 "gram.c" /* yacc.c:1646  */
     break;
 
   case 443:
-/* Line 1792 of yacc.c  */
-#line 3075 "gram.y"
+#line 3074 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Note: the CollateClause is momentarily included in
@@ -28041,1018 +26727,1018 @@ yyreduce:
                                         */
                                        CollateClause *n = makeNode(CollateClause);
                                        n->arg = NULL;
-                                       n->collname = (yyvsp[(2) - (2)].list);
-                                       n->location = (yylsp[(1) - (2)]);
+                                       n->collname = (yyvsp[0].list);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *) n;
                                }
+#line 26735 "gram.c" /* yacc.c:1646  */
     break;
 
   case 444:
-/* Line 1792 of yacc.c  */
-#line 3106 "gram.y"
+#line 3105 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_NOTNULL;
-                                       n->location = (yylsp[(1) - (2)]);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26746 "gram.c" /* yacc.c:1646  */
     break;
 
   case 445:
-/* Line 1792 of yacc.c  */
-#line 3113 "gram.y"
+#line 3112 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_NULL;
-                                       n->location = (yylsp[(1) - (1)]);
+                                       n->location = (yylsp[0]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26757 "gram.c" /* yacc.c:1646  */
     break;
 
   case 446:
-/* Line 1792 of yacc.c  */
-#line 3120 "gram.y"
+#line 3119 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_UNIQUE;
-                                       n->location = (yylsp[(1) - (3)]);
+                                       n->location = (yylsp[-2]);
                                        n->keys = NULL;
-                                       n->options = (yyvsp[(2) - (3)].list);
+                                       n->options = (yyvsp[-1].list);
                                        n->indexname = NULL;
-                                       n->indexspace = (yyvsp[(3) - (3)].str);
+                                       n->indexspace = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26772 "gram.c" /* yacc.c:1646  */
     break;
 
   case 447:
-/* Line 1792 of yacc.c  */
-#line 3131 "gram.y"
+#line 3130 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_PRIMARY;
-                                       n->location = (yylsp[(1) - (4)]);
+                                       n->location = (yylsp[-3]);
                                        n->keys = NULL;
-                                       n->options = (yyvsp[(3) - (4)].list);
+                                       n->options = (yyvsp[-1].list);
                                        n->indexname = NULL;
-                                       n->indexspace = (yyvsp[(4) - (4)].str);
+                                       n->indexspace = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26787 "gram.c" /* yacc.c:1646  */
     break;
 
   case 448:
-/* Line 1792 of yacc.c  */
-#line 3142 "gram.y"
+#line 3141 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_CHECK;
-                                       n->location = (yylsp[(1) - (5)]);
-                                       n->is_no_inherit = (yyvsp[(5) - (5)].boolean);
-                                       n->raw_expr = (yyvsp[(3) - (5)].node);
+                                       n->location = (yylsp[-4]);
+                                       n->is_no_inherit = (yyvsp[0].boolean);
+                                       n->raw_expr = (yyvsp[-2].node);
                                        n->cooked_expr = NULL;
                                        n->skip_validation = false;
                                        n->initially_valid = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26803 "gram.c" /* yacc.c:1646  */
     break;
 
   case 449:
-/* Line 1792 of yacc.c  */
-#line 3154 "gram.y"
+#line 3153 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_DEFAULT;
-                                       n->location = (yylsp[(1) - (2)]);
-                                       n->raw_expr = (yyvsp[(2) - (2)].node);
+                                       n->location = (yylsp[-1]);
+                                       n->raw_expr = (yyvsp[0].node);
                                        n->cooked_expr = NULL;
                                        n->skip_validation = false;
                                        n->initially_valid = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26818 "gram.c" /* yacc.c:1646  */
     break;
 
   case 450:
-/* Line 1792 of yacc.c  */
-#line 3165 "gram.y"
+#line 3164 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_FOREIGN;
-                                       n->location = (yylsp[(1) - (5)]);
-                                       n->pktable                      = (yyvsp[(2) - (5)].range);
+                                       n->location = (yylsp[-4]);
+                                       n->pktable                      = (yyvsp[-3].range);
                                        n->fk_attrs                     = NIL;
-                                       n->pk_attrs                     = (yyvsp[(3) - (5)].list);
-                                       n->fk_matchtype         = (yyvsp[(4) - (5)].ival);
-                                       n->fk_upd_action        = (char) ((yyvsp[(5) - (5)].ival) >> 8);
-                                       n->fk_del_action        = (char) ((yyvsp[(5) - (5)].ival) & 0xFF);
+                                       n->pk_attrs                     = (yyvsp[-2].list);
+                                       n->fk_matchtype         = (yyvsp[-1].ival);
+                                       n->fk_upd_action        = (char) ((yyvsp[0].ival) >> 8);
+                                       n->fk_del_action        = (char) ((yyvsp[0].ival) & 0xFF);
                                        n->skip_validation  = false;
                                        n->initially_valid  = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26837 "gram.c" /* yacc.c:1646  */
     break;
 
   case 451:
-/* Line 1792 of yacc.c  */
-#line 3198 "gram.y"
+#line 3197 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_ATTR_DEFERRABLE;
-                                       n->location = (yylsp[(1) - (1)]);
+                                       n->location = (yylsp[0]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26848 "gram.c" /* yacc.c:1646  */
     break;
 
   case 452:
-/* Line 1792 of yacc.c  */
-#line 3205 "gram.y"
+#line 3204 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
-                                       n->location = (yylsp[(1) - (2)]);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26859 "gram.c" /* yacc.c:1646  */
     break;
 
   case 453:
-/* Line 1792 of yacc.c  */
-#line 3212 "gram.y"
+#line 3211 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_ATTR_DEFERRED;
-                                       n->location = (yylsp[(1) - (2)]);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26870 "gram.c" /* yacc.c:1646  */
     break;
 
   case 454:
-/* Line 1792 of yacc.c  */
-#line 3219 "gram.y"
+#line 3218 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_ATTR_IMMEDIATE;
-                                       n->location = (yylsp[(1) - (2)]);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26881 "gram.c" /* yacc.c:1646  */
     break;
 
   case 455:
-/* Line 1792 of yacc.c  */
-#line 3230 "gram.y"
+#line 3229 "gram.y" /* yacc.c:1646  */
     {
                                        TableLikeClause *n = makeNode(TableLikeClause);
-                                       n->relation = (yyvsp[(2) - (3)].range);
-                                       n->options = (yyvsp[(3) - (3)].ival);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->options = (yyvsp[0].ival);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26892 "gram.c" /* yacc.c:1646  */
     break;
 
   case 456:
-/* Line 1792 of yacc.c  */
-#line 3239 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); }
+#line 3238 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
+#line 26898 "gram.c" /* yacc.c:1646  */
     break;
 
   case 457:
-/* Line 1792 of yacc.c  */
-#line 3240 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (3)].ival) & ~(yyvsp[(3) - (3)].ival); }
+#line 3239 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
+#line 26904 "gram.c" /* yacc.c:1646  */
     break;
 
   case 458:
-/* Line 1792 of yacc.c  */
-#line 3241 "gram.y"
+#line 3240 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 26910 "gram.c" /* yacc.c:1646  */
     break;
 
   case 459:
-/* Line 1792 of yacc.c  */
-#line 3245 "gram.y"
+#line 3244 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
+#line 26916 "gram.c" /* yacc.c:1646  */
     break;
 
   case 460:
-/* Line 1792 of yacc.c  */
-#line 3246 "gram.y"
+#line 3245 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
+#line 26922 "gram.c" /* yacc.c:1646  */
     break;
 
   case 461:
-/* Line 1792 of yacc.c  */
-#line 3247 "gram.y"
+#line 3246 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
+#line 26928 "gram.c" /* yacc.c:1646  */
     break;
 
   case 462:
-/* Line 1792 of yacc.c  */
-#line 3248 "gram.y"
+#line 3247 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
+#line 26934 "gram.c" /* yacc.c:1646  */
     break;
 
   case 463:
-/* Line 1792 of yacc.c  */
-#line 3249 "gram.y"
+#line 3248 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
+#line 26940 "gram.c" /* yacc.c:1646  */
     break;
 
   case 464:
-/* Line 1792 of yacc.c  */
-#line 3250 "gram.y"
+#line 3249 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
+#line 26946 "gram.c" /* yacc.c:1646  */
     break;
 
   case 465:
-/* Line 1792 of yacc.c  */
-#line 3260 "gram.y"
+#line 3259 "gram.y" /* yacc.c:1646  */
     {
-                                       Constraint *n = (Constraint *) (yyvsp[(3) - (3)].node);
+                                       Constraint *n = (Constraint *) (yyvsp[0].node);
                                        Assert(IsA(n, Constraint));
-                                       n->conname = (yyvsp[(2) - (3)].str);
-                                       n->location = (yylsp[(1) - (3)]);
+                                       n->conname = (yyvsp[-1].str);
+                                       n->location = (yylsp[-2]);
                                        (yyval.node) = (Node *) n;
                                }
+#line 26958 "gram.c" /* yacc.c:1646  */
     break;
 
   case 466:
-/* Line 1792 of yacc.c  */
-#line 3267 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 3266 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 26964 "gram.c" /* yacc.c:1646  */
     break;
 
   case 467:
-/* Line 1792 of yacc.c  */
-#line 3272 "gram.y"
+#line 3271 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_CHECK;
-                                       n->location = (yylsp[(1) - (5)]);
-                                       n->raw_expr = (yyvsp[(3) - (5)].node);
+                                       n->location = (yylsp[-4]);
+                                       n->raw_expr = (yyvsp[-2].node);
                                        n->cooked_expr = NULL;
-                                       processCASbits((yyvsp[(5) - (5)].ival), (yylsp[(5) - (5)]), "CHECK",
+                                       processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
                                                                   NULL, NULL, &n->skip_validation,
                                                                   &n->is_no_inherit, yyscanner);
                                        n->initially_valid = !n->skip_validation;
                                        (yyval.node) = (Node *)n;
                                }
+#line 26981 "gram.c" /* yacc.c:1646  */
     break;
 
   case 468:
-/* Line 1792 of yacc.c  */
-#line 3286 "gram.y"
+#line 3285 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_UNIQUE;
-                                       n->location = (yylsp[(1) - (7)]);
-                                       n->keys = (yyvsp[(3) - (7)].list);
-                                       n->options = (yyvsp[(5) - (7)].list);
+                                       n->location = (yylsp[-6]);
+                                       n->keys = (yyvsp[-4].list);
+                                       n->options = (yyvsp[-2].list);
                                        n->indexname = NULL;
-                                       n->indexspace = (yyvsp[(6) - (7)].str);
-                                       processCASbits((yyvsp[(7) - (7)].ival), (yylsp[(7) - (7)]), "UNIQUE",
+                                       n->indexspace = (yyvsp[-1].str);
+                                       processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
                                                                   &n->deferrable, &n->initdeferred, NULL,
                                                                   NULL, yyscanner);
                                        (yyval.node) = (Node *)n;
                                }
+#line 26999 "gram.c" /* yacc.c:1646  */
     break;
 
   case 469:
-/* Line 1792 of yacc.c  */
-#line 3300 "gram.y"
+#line 3299 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_UNIQUE;
-                                       n->location = (yylsp[(1) - (3)]);
+                                       n->location = (yylsp[-2]);
                                        n->keys = NIL;
                                        n->options = NIL;
-                                       n->indexname = (yyvsp[(2) - (3)].str);
+                                       n->indexname = (yyvsp[-1].str);
                                        n->indexspace = NULL;
-                                       processCASbits((yyvsp[(3) - (3)].ival), (yylsp[(3) - (3)]), "UNIQUE",
+                                       processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
                                                                   &n->deferrable, &n->initdeferred, NULL,
                                                                   NULL, yyscanner);
                                        (yyval.node) = (Node *)n;
                                }
+#line 27017 "gram.c" /* yacc.c:1646  */
     break;
 
   case 470:
-/* Line 1792 of yacc.c  */
-#line 3315 "gram.y"
+#line 3314 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_PRIMARY;
-                                       n->location = (yylsp[(1) - (8)]);
-                                       n->keys = (yyvsp[(4) - (8)].list);
-                                       n->options = (yyvsp[(6) - (8)].list);
+                                       n->location = (yylsp[-7]);
+                                       n->keys = (yyvsp[-4].list);
+                                       n->options = (yyvsp[-2].list);
                                        n->indexname = NULL;
-                                       n->indexspace = (yyvsp[(7) - (8)].str);
-                                       processCASbits((yyvsp[(8) - (8)].ival), (yylsp[(8) - (8)]), "PRIMARY KEY",
+                                       n->indexspace = (yyvsp[-1].str);
+                                       processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
                                                                   &n->deferrable, &n->initdeferred, NULL,
                                                                   NULL, yyscanner);
                                        (yyval.node) = (Node *)n;
                                }
+#line 27035 "gram.c" /* yacc.c:1646  */
     break;
 
   case 471:
-/* Line 1792 of yacc.c  */
-#line 3329 "gram.y"
+#line 3328 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_PRIMARY;
-                                       n->location = (yylsp[(1) - (4)]);
+                                       n->location = (yylsp[-3]);
                                        n->keys = NIL;
                                        n->options = NIL;
-                                       n->indexname = (yyvsp[(3) - (4)].str);
+                                       n->indexname = (yyvsp[-1].str);
                                        n->indexspace = NULL;
-                                       processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "PRIMARY KEY",
+                                       processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
                                                                   &n->deferrable, &n->initdeferred, NULL,
                                                                   NULL, yyscanner);
                                        (yyval.node) = (Node *)n;
                                }
+#line 27053 "gram.c" /* yacc.c:1646  */
     break;
 
   case 472:
-/* Line 1792 of yacc.c  */
-#line 3345 "gram.y"
+#line 3344 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_EXCLUSION;
-                                       n->location = (yylsp[(1) - (9)]);
-                                       n->access_method        = (yyvsp[(2) - (9)].str);
-                                       n->exclusions           = (yyvsp[(4) - (9)].list);
-                                       n->options                      = (yyvsp[(6) - (9)].list);
+                                       n->location = (yylsp[-8]);
+                                       n->access_method        = (yyvsp[-7].str);
+                                       n->exclusions           = (yyvsp[-5].list);
+                                       n->options                      = (yyvsp[-3].list);
                                        n->indexname            = NULL;
-                                       n->indexspace           = (yyvsp[(7) - (9)].str);
-                                       n->where_clause         = (yyvsp[(8) - (9)].node);
-                                       processCASbits((yyvsp[(9) - (9)].ival), (yylsp[(9) - (9)]), "EXCLUDE",
+                                       n->indexspace           = (yyvsp[-2].str);
+                                       n->where_clause         = (yyvsp[-1].node);
+                                       processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
                                                                   &n->deferrable, &n->initdeferred, NULL,
                                                                   NULL, yyscanner);
                                        (yyval.node) = (Node *)n;
                                }
+#line 27073 "gram.c" /* yacc.c:1646  */
     break;
 
   case 473:
-/* Line 1792 of yacc.c  */
-#line 3362 "gram.y"
+#line 3361 "gram.y" /* yacc.c:1646  */
     {
                                        Constraint *n = makeNode(Constraint);
                                        n->contype = CONSTR_FOREIGN;
-                                       n->location = (yylsp[(1) - (11)]);
-                                       n->pktable                      = (yyvsp[(7) - (11)].range);
-                                       n->fk_attrs                     = (yyvsp[(4) - (11)].list);
-                                       n->pk_attrs                     = (yyvsp[(8) - (11)].list);
-                                       n->fk_matchtype         = (yyvsp[(9) - (11)].ival);
-                                       n->fk_upd_action        = (char) ((yyvsp[(10) - (11)].ival) >> 8);
-                                       n->fk_del_action        = (char) ((yyvsp[(10) - (11)].ival) & 0xFF);
-                                       processCASbits((yyvsp[(11) - (11)].ival), (yylsp[(11) - (11)]), "FOREIGN KEY",
+                                       n->location = (yylsp[-10]);
+                                       n->pktable                      = (yyvsp[-4].range);
+                                       n->fk_attrs                     = (yyvsp[-7].list);
+                                       n->pk_attrs                     = (yyvsp[-3].list);
+                                       n->fk_matchtype         = (yyvsp[-2].ival);
+                                       n->fk_upd_action        = (char) ((yyvsp[-1].ival) >> 8);
+                                       n->fk_del_action        = (char) ((yyvsp[-1].ival) & 0xFF);
+                                       processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
                                                                   &n->deferrable, &n->initdeferred,
                                                                   &n->skip_validation, NULL,
                                                                   yyscanner);
                                        n->initially_valid = !n->skip_validation;
                                        (yyval.node) = (Node *)n;
                                }
+#line 27095 "gram.c" /* yacc.c:1646  */
     break;
 
   case 474:
-/* Line 1792 of yacc.c  */
-#line 3381 "gram.y"
+#line 3380 "gram.y" /* yacc.c:1646  */
     {  (yyval.boolean) = TRUE; }
+#line 27101 "gram.c" /* yacc.c:1646  */
     break;
 
   case 475:
-/* Line 1792 of yacc.c  */
-#line 3382 "gram.y"
+#line 3381 "gram.y" /* yacc.c:1646  */
     {  (yyval.boolean) = FALSE; }
+#line 27107 "gram.c" /* yacc.c:1646  */
     break;
 
   case 476:
-/* Line 1792 of yacc.c  */
-#line 3386 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 3385 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 27113 "gram.c" /* yacc.c:1646  */
     break;
 
   case 477:
-/* Line 1792 of yacc.c  */
-#line 3387 "gram.y"
+#line 3386 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 27119 "gram.c" /* yacc.c:1646  */
     break;
 
   case 478:
-/* Line 1792 of yacc.c  */
-#line 3391 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 3390 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 27125 "gram.c" /* yacc.c:1646  */
     break;
 
   case 479:
-/* Line 1792 of yacc.c  */
-#line 3392 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 3391 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 27131 "gram.c" /* yacc.c:1646  */
     break;
 
   case 480:
-/* Line 1792 of yacc.c  */
-#line 3396 "gram.y"
+#line 3395 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str));
+                                       (yyval.node) = (Node *) makeString((yyvsp[0].str));
                                }
+#line 27139 "gram.c" /* yacc.c:1646  */
     break;
 
   case 481:
-/* Line 1792 of yacc.c  */
-#line 3402 "gram.y"
+#line 3401 "gram.y" /* yacc.c:1646  */
     {
                                (yyval.ival) = FKCONSTR_MATCH_FULL;
                        }
+#line 27147 "gram.c" /* yacc.c:1646  */
     break;
 
   case 482:
-/* Line 1792 of yacc.c  */
-#line 3406 "gram.y"
+#line 3405 "gram.y" /* yacc.c:1646  */
     {
                                ereport(ERROR,
                                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                 errmsg("MATCH PARTIAL not yet implemented"),
-                                                parser_errposition((yylsp[(1) - (2)]))));
+                                                parser_errposition((yylsp[-1]))));
                                (yyval.ival) = FKCONSTR_MATCH_PARTIAL;
                        }
+#line 27159 "gram.c" /* yacc.c:1646  */
     break;
 
   case 483:
-/* Line 1792 of yacc.c  */
-#line 3414 "gram.y"
+#line 3413 "gram.y" /* yacc.c:1646  */
     {
                                (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
                        }
+#line 27167 "gram.c" /* yacc.c:1646  */
     break;
 
   case 484:
-/* Line 1792 of yacc.c  */
-#line 3418 "gram.y"
+#line 3417 "gram.y" /* yacc.c:1646  */
     {
                                (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
                        }
+#line 27175 "gram.c" /* yacc.c:1646  */
     break;
 
   case 485:
-/* Line 1792 of yacc.c  */
-#line 3424 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); }
+#line 3423 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].list)); }
+#line 27181 "gram.c" /* yacc.c:1646  */
     break;
 
   case 486:
-/* Line 1792 of yacc.c  */
-#line 3426 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); }
+#line 3425 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
+#line 27187 "gram.c" /* yacc.c:1646  */
     break;
 
   case 487:
-/* Line 1792 of yacc.c  */
-#line 3430 "gram.y"
+#line 3429 "gram.y" /* yacc.c:1646  */
     {
-                               (yyval.list) = list_make2((yyvsp[(1) - (3)].ielem), (yyvsp[(3) - (3)].list));
+                               (yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
                        }
+#line 27195 "gram.c" /* yacc.c:1646  */
     break;
 
   case 488:
-/* Line 1792 of yacc.c  */
-#line 3435 "gram.y"
+#line 3434 "gram.y" /* yacc.c:1646  */
     {
-                               (yyval.list) = list_make2((yyvsp[(1) - (6)].ielem), (yyvsp[(5) - (6)].list));
+                               (yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
                        }
+#line 27203 "gram.c" /* yacc.c:1646  */
     break;
 
   case 489:
-/* Line 1792 of yacc.c  */
-#line 3441 "gram.y"
-    { (yyval.node) = (yyvsp[(3) - (4)].node); }
+#line 3440 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[-1].node); }
+#line 27209 "gram.c" /* yacc.c:1646  */
     break;
 
   case 490:
-/* Line 1792 of yacc.c  */
-#line 3442 "gram.y"
+#line 3441 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 27215 "gram.c" /* yacc.c:1646  */
     break;
 
   case 491:
-/* Line 1792 of yacc.c  */
-#line 3453 "gram.y"
-    { (yyval.ival) = ((yyvsp[(1) - (1)].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
+#line 3452 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
+#line 27221 "gram.c" /* yacc.c:1646  */
     break;
 
   case 492:
-/* Line 1792 of yacc.c  */
-#line 3455 "gram.y"
-    { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[(1) - (1)].ival) & 0xFF); }
+#line 3454 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
+#line 27227 "gram.c" /* yacc.c:1646  */
     break;
 
   case 493:
-/* Line 1792 of yacc.c  */
-#line 3457 "gram.y"
-    { (yyval.ival) = ((yyvsp[(1) - (2)].ival) << 8) | ((yyvsp[(2) - (2)].ival) & 0xFF); }
+#line 3456 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
+#line 27233 "gram.c" /* yacc.c:1646  */
     break;
 
   case 494:
-/* Line 1792 of yacc.c  */
-#line 3459 "gram.y"
-    { (yyval.ival) = ((yyvsp[(2) - (2)].ival) << 8) | ((yyvsp[(1) - (2)].ival) & 0xFF); }
+#line 3458 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
+#line 27239 "gram.c" /* yacc.c:1646  */
     break;
 
   case 495:
-/* Line 1792 of yacc.c  */
-#line 3461 "gram.y"
+#line 3460 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
+#line 27245 "gram.c" /* yacc.c:1646  */
     break;
 
   case 496:
-/* Line 1792 of yacc.c  */
-#line 3464 "gram.y"
-    { (yyval.ival) = (yyvsp[(3) - (3)].ival); }
+#line 3463 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[0].ival); }
+#line 27251 "gram.c" /* yacc.c:1646  */
     break;
 
   case 497:
-/* Line 1792 of yacc.c  */
-#line 3467 "gram.y"
-    { (yyval.ival) = (yyvsp[(3) - (3)].ival); }
+#line 3466 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[0].ival); }
+#line 27257 "gram.c" /* yacc.c:1646  */
     break;
 
   case 498:
-/* Line 1792 of yacc.c  */
-#line 3471 "gram.y"
+#line 3470 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
+#line 27263 "gram.c" /* yacc.c:1646  */
     break;
 
   case 499:
-/* Line 1792 of yacc.c  */
-#line 3472 "gram.y"
+#line 3471 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
+#line 27269 "gram.c" /* yacc.c:1646  */
     break;
 
   case 500:
-/* Line 1792 of yacc.c  */
-#line 3473 "gram.y"
+#line 3472 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
+#line 27275 "gram.c" /* yacc.c:1646  */
     break;
 
   case 501:
-/* Line 1792 of yacc.c  */
-#line 3474 "gram.y"
+#line 3473 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
+#line 27281 "gram.c" /* yacc.c:1646  */
     break;
 
   case 502:
-/* Line 1792 of yacc.c  */
-#line 3475 "gram.y"
+#line 3474 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
+#line 27287 "gram.c" /* yacc.c:1646  */
     break;
 
   case 503:
-/* Line 1792 of yacc.c  */
-#line 3478 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (4)].list); }
+#line 3477 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 27293 "gram.c" /* yacc.c:1646  */
     break;
 
   case 504:
-/* Line 1792 of yacc.c  */
-#line 3479 "gram.y"
+#line 3478 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 27299 "gram.c" /* yacc.c:1646  */
     break;
 
   case 505:
-/* Line 1792 of yacc.c  */
-#line 3484 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 3483 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 27305 "gram.c" /* yacc.c:1646  */
     break;
 
   case 506:
-/* Line 1792 of yacc.c  */
-#line 3485 "gram.y"
+#line 3484 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make1(defWithOids(true)); }
+#line 27311 "gram.c" /* yacc.c:1646  */
     break;
 
   case 507:
-/* Line 1792 of yacc.c  */
-#line 3486 "gram.y"
+#line 3485 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make1(defWithOids(false)); }
+#line 27317 "gram.c" /* yacc.c:1646  */
     break;
 
   case 508:
-/* Line 1792 of yacc.c  */
-#line 3487 "gram.y"
+#line 3486 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 27323 "gram.c" /* yacc.c:1646  */
     break;
 
   case 509:
-/* Line 1792 of yacc.c  */
-#line 3490 "gram.y"
+#line 3489 "gram.y" /* yacc.c:1646  */
     { (yyval.oncommit) = ONCOMMIT_DROP; }
+#line 27329 "gram.c" /* yacc.c:1646  */
     break;
 
   case 510:
-/* Line 1792 of yacc.c  */
-#line 3491 "gram.y"
+#line 3490 "gram.y" /* yacc.c:1646  */
     { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
+#line 27335 "gram.c" /* yacc.c:1646  */
     break;
 
   case 511:
-/* Line 1792 of yacc.c  */
-#line 3492 "gram.y"
+#line 3491 "gram.y" /* yacc.c:1646  */
     { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
+#line 27341 "gram.c" /* yacc.c:1646  */
     break;
 
   case 512:
-/* Line 1792 of yacc.c  */
-#line 3493 "gram.y"
+#line 3492 "gram.y" /* yacc.c:1646  */
     { (yyval.oncommit) = ONCOMMIT_NOOP; }
+#line 27347 "gram.c" /* yacc.c:1646  */
     break;
 
   case 513:
-/* Line 1792 of yacc.c  */
-#line 3496 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].str); }
+#line 3495 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 27353 "gram.c" /* yacc.c:1646  */
     break;
 
   case 514:
-/* Line 1792 of yacc.c  */
-#line 3497 "gram.y"
+#line 3496 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 27359 "gram.c" /* yacc.c:1646  */
     break;
 
   case 515:
-/* Line 1792 of yacc.c  */
-#line 3500 "gram.y"
-    { (yyval.str) = (yyvsp[(4) - (4)].str); }
+#line 3499 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 27365 "gram.c" /* yacc.c:1646  */
     break;
 
   case 516:
-/* Line 1792 of yacc.c  */
-#line 3501 "gram.y"
+#line 3500 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 27371 "gram.c" /* yacc.c:1646  */
     break;
 
   case 517:
-/* Line 1792 of yacc.c  */
-#line 3504 "gram.y"
-    { (yyval.str) = (yyvsp[(3) - (3)].str); }
+#line 3503 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 27377 "gram.c" /* yacc.c:1646  */
     break;
 
   case 518:
-/* Line 1792 of yacc.c  */
-#line 3520 "gram.y"
+#line 3519 "gram.y" /* yacc.c:1646  */
     {
                                        CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
-                                       ctas->query = (yyvsp[(6) - (7)].node);
-                                       ctas->into = (yyvsp[(4) - (7)].into);
+                                       ctas->query = (yyvsp[-1].node);
+                                       ctas->into = (yyvsp[-3].into);
                                        ctas->relkind = OBJECT_TABLE;
                                        ctas->is_select_into = false;
                                        ctas->if_not_exists = false;
                                        /* cram additional flags into the IntoClause */
-                                       (yyvsp[(4) - (7)].into)->rel->relpersistence = (yyvsp[(2) - (7)].ival);
-                                       (yyvsp[(4) - (7)].into)->skipData = !((yyvsp[(7) - (7)].boolean));
+                                       (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
+                                       (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
                                        (yyval.node) = (Node *) ctas;
                                }
+#line 27394 "gram.c" /* yacc.c:1646  */
     break;
 
   case 519:
-/* Line 1792 of yacc.c  */
-#line 3533 "gram.y"
+#line 3532 "gram.y" /* yacc.c:1646  */
     {
                                        CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
-                                       ctas->query = (yyvsp[(9) - (10)].node);
-                                       ctas->into = (yyvsp[(7) - (10)].into);
+                                       ctas->query = (yyvsp[-1].node);
+                                       ctas->into = (yyvsp[-3].into);
                                        ctas->relkind = OBJECT_TABLE;
                                        ctas->is_select_into = false;
                                        ctas->if_not_exists = true;
                                        /* cram additional flags into the IntoClause */
-                                       (yyvsp[(7) - (10)].into)->rel->relpersistence = (yyvsp[(2) - (10)].ival);
-                                       (yyvsp[(7) - (10)].into)->skipData = !((yyvsp[(10) - (10)].boolean));
+                                       (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
+                                       (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
                                        (yyval.node) = (Node *) ctas;
                                }
+#line 27411 "gram.c" /* yacc.c:1646  */
     break;
 
   case 520:
-/* Line 1792 of yacc.c  */
-#line 3549 "gram.y"
+#line 3548 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.into) = makeNode(IntoClause);
-                                       (yyval.into)->rel = (yyvsp[(1) - (5)].range);
-                                       (yyval.into)->colNames = (yyvsp[(2) - (5)].list);
-                                       (yyval.into)->options = (yyvsp[(3) - (5)].list);
-                                       (yyval.into)->onCommit = (yyvsp[(4) - (5)].oncommit);
-                                       (yyval.into)->tableSpaceName = (yyvsp[(5) - (5)].str);
+                                       (yyval.into)->rel = (yyvsp[-4].range);
+                                       (yyval.into)->colNames = (yyvsp[-3].list);
+                                       (yyval.into)->options = (yyvsp[-2].list);
+                                       (yyval.into)->onCommit = (yyvsp[-1].oncommit);
+                                       (yyval.into)->tableSpaceName = (yyvsp[0].str);
                                        (yyval.into)->viewQuery = NULL;
                                        (yyval.into)->skipData = false;         /* might get changed later */
                                }
+#line 27426 "gram.c" /* yacc.c:1646  */
     break;
 
   case 521:
-/* Line 1792 of yacc.c  */
-#line 3562 "gram.y"
+#line 3561 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 27432 "gram.c" /* yacc.c:1646  */
     break;
 
   case 522:
-/* Line 1792 of yacc.c  */
-#line 3563 "gram.y"
+#line 3562 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 27438 "gram.c" /* yacc.c:1646  */
     break;
 
   case 523:
-/* Line 1792 of yacc.c  */
-#line 3564 "gram.y"
+#line 3563 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 27444 "gram.c" /* yacc.c:1646  */
     break;
 
   case 524:
-/* Line 1792 of yacc.c  */
-#line 3577 "gram.y"
+#line 3576 "gram.y" /* yacc.c:1646  */
     {
                                        CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
-                                       ctas->query = (yyvsp[(7) - (8)].node);
-                                       ctas->into = (yyvsp[(5) - (8)].into);
+                                       ctas->query = (yyvsp[-1].node);
+                                       ctas->into = (yyvsp[-3].into);
                                        ctas->relkind = OBJECT_MATVIEW;
                                        ctas->is_select_into = false;
                                        ctas->if_not_exists = false;
                                        /* cram additional flags into the IntoClause */
-                                       (yyvsp[(5) - (8)].into)->rel->relpersistence = (yyvsp[(2) - (8)].ival);
-                                       (yyvsp[(5) - (8)].into)->skipData = !((yyvsp[(8) - (8)].boolean));
+                                       (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
+                                       (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
                                        (yyval.node) = (Node *) ctas;
                                }
+#line 27461 "gram.c" /* yacc.c:1646  */
     break;
 
   case 525:
-/* Line 1792 of yacc.c  */
-#line 3590 "gram.y"
+#line 3589 "gram.y" /* yacc.c:1646  */
     {
                                        CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
-                                       ctas->query = (yyvsp[(10) - (11)].node);
-                                       ctas->into = (yyvsp[(8) - (11)].into);
+                                       ctas->query = (yyvsp[-1].node);
+                                       ctas->into = (yyvsp[-3].into);
                                        ctas->relkind = OBJECT_MATVIEW;
                                        ctas->is_select_into = false;
                                        ctas->if_not_exists = true;
                                        /* cram additional flags into the IntoClause */
-                                       (yyvsp[(8) - (11)].into)->rel->relpersistence = (yyvsp[(2) - (11)].ival);
-                                       (yyvsp[(8) - (11)].into)->skipData = !((yyvsp[(11) - (11)].boolean));
+                                       (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
+                                       (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
                                        (yyval.node) = (Node *) ctas;
                                }
+#line 27478 "gram.c" /* yacc.c:1646  */
     break;
 
   case 526:
-/* Line 1792 of yacc.c  */
-#line 3606 "gram.y"
+#line 3605 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.into) = makeNode(IntoClause);
-                                       (yyval.into)->rel = (yyvsp[(1) - (4)].range);
-                                       (yyval.into)->colNames = (yyvsp[(2) - (4)].list);
-                                       (yyval.into)->options = (yyvsp[(3) - (4)].list);
+                                       (yyval.into)->rel = (yyvsp[-3].range);
+                                       (yyval.into)->colNames = (yyvsp[-2].list);
+                                       (yyval.into)->options = (yyvsp[-1].list);
                                        (yyval.into)->onCommit = ONCOMMIT_NOOP;
-                                       (yyval.into)->tableSpaceName = (yyvsp[(4) - (4)].str);
+                                       (yyval.into)->tableSpaceName = (yyvsp[0].str);
                                        (yyval.into)->viewQuery = NULL;         /* filled at analysis time */
                                        (yyval.into)->skipData = false;         /* might get changed later */
                                }
+#line 27493 "gram.c" /* yacc.c:1646  */
     break;
 
   case 527:
-/* Line 1792 of yacc.c  */
-#line 3618 "gram.y"
+#line 3617 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
+#line 27499 "gram.c" /* yacc.c:1646  */
     break;
 
   case 528:
-/* Line 1792 of yacc.c  */
-#line 3619 "gram.y"
+#line 3618 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
+#line 27505 "gram.c" /* yacc.c:1646  */
     break;
 
   case 529:
-/* Line 1792 of yacc.c  */
-#line 3632 "gram.y"
+#line 3631 "gram.y" /* yacc.c:1646  */
     {
                                        RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
-                                       n->concurrent = (yyvsp[(4) - (6)].boolean);
-                                       n->relation = (yyvsp[(5) - (6)].range);
-                                       n->skipData = !((yyvsp[(6) - (6)].boolean));
+                                       n->concurrent = (yyvsp[-2].boolean);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->skipData = !((yyvsp[0].boolean));
                                        (yyval.node) = (Node *) n;
                                }
+#line 27517 "gram.c" /* yacc.c:1646  */
     break;
 
   case 530:
-/* Line 1792 of yacc.c  */
-#line 3652 "gram.y"
+#line 3651 "gram.y" /* yacc.c:1646  */
     {
                                        CreateSeqStmt *n = makeNode(CreateSeqStmt);
-                                       (yyvsp[(4) - (5)].range)->relpersistence = (yyvsp[(2) - (5)].ival);
-                                       n->sequence = (yyvsp[(4) - (5)].range);
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       (yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
+                                       n->sequence = (yyvsp[-1].range);
+                                       n->options = (yyvsp[0].list);
                                        n->ownerId = InvalidOid;
                                        n->if_not_exists = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 27531 "gram.c" /* yacc.c:1646  */
     break;
 
   case 531:
-/* Line 1792 of yacc.c  */
-#line 3662 "gram.y"
+#line 3661 "gram.y" /* yacc.c:1646  */
     {
                                        CreateSeqStmt *n = makeNode(CreateSeqStmt);
-                                       (yyvsp[(7) - (8)].range)->relpersistence = (yyvsp[(2) - (8)].ival);
-                                       n->sequence = (yyvsp[(7) - (8)].range);
-                                       n->options = (yyvsp[(8) - (8)].list);
+                                       (yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
+                                       n->sequence = (yyvsp[-1].range);
+                                       n->options = (yyvsp[0].list);
                                        n->ownerId = InvalidOid;
                                        n->if_not_exists = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 27545 "gram.c" /* yacc.c:1646  */
     break;
 
   case 532:
-/* Line 1792 of yacc.c  */
-#line 3675 "gram.y"
+#line 3674 "gram.y" /* yacc.c:1646  */
     {
                                        AlterSeqStmt *n = makeNode(AlterSeqStmt);
-                                       n->sequence = (yyvsp[(3) - (4)].range);
-                                       n->options = (yyvsp[(4) - (4)].list);
+                                       n->sequence = (yyvsp[-1].range);
+                                       n->options = (yyvsp[0].list);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 27557 "gram.c" /* yacc.c:1646  */
     break;
 
   case 533:
-/* Line 1792 of yacc.c  */
-#line 3683 "gram.y"
+#line 3682 "gram.y" /* yacc.c:1646  */
     {
                                        AlterSeqStmt *n = makeNode(AlterSeqStmt);
-                                       n->sequence = (yyvsp[(5) - (6)].range);
-                                       n->options = (yyvsp[(6) - (6)].list);
+                                       n->sequence = (yyvsp[-1].range);
+                                       n->options = (yyvsp[0].list);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 27569 "gram.c" /* yacc.c:1646  */
     break;
 
   case 534:
-/* Line 1792 of yacc.c  */
-#line 3693 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 3692 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 27575 "gram.c" /* yacc.c:1646  */
     break;
 
   case 535:
-/* Line 1792 of yacc.c  */
-#line 3694 "gram.y"
+#line 3693 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 27581 "gram.c" /* yacc.c:1646  */
     break;
 
   case 536:
-/* Line 1792 of yacc.c  */
-#line 3697 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 3696 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 27587 "gram.c" /* yacc.c:1646  */
     break;
 
   case 537:
-/* Line 1792 of yacc.c  */
-#line 3698 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 3697 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 27593 "gram.c" /* yacc.c:1646  */
     break;
 
   case 538:
-/* Line 1792 of yacc.c  */
-#line 3702 "gram.y"
+#line 3701 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[(2) - (2)].value));
+                                       (yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value));
                                }
+#line 27601 "gram.c" /* yacc.c:1646  */
     break;
 
   case 539:
-/* Line 1792 of yacc.c  */
-#line 3706 "gram.y"
+#line 3705 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(TRUE));
                                }
+#line 27609 "gram.c" /* yacc.c:1646  */
     break;
 
   case 540:
-/* Line 1792 of yacc.c  */
-#line 3710 "gram.y"
+#line 3709 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(FALSE));
                                }
+#line 27617 "gram.c" /* yacc.c:1646  */
     break;
 
   case 541:
-/* Line 1792 of yacc.c  */
-#line 3714 "gram.y"
+#line 3713 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[(3) - (3)].value));
+                                       (yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value));
                                }
+#line 27625 "gram.c" /* yacc.c:1646  */
     break;
 
   case 542:
-/* Line 1792 of yacc.c  */
-#line 3718 "gram.y"
+#line 3717 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[(2) - (2)].value));
+                                       (yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value));
                                }
+#line 27633 "gram.c" /* yacc.c:1646  */
     break;
 
   case 543:
-/* Line 1792 of yacc.c  */
-#line 3722 "gram.y"
+#line 3721 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[(2) - (2)].value));
+                                       (yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value));
                                }
+#line 27641 "gram.c" /* yacc.c:1646  */
     break;
 
   case 544:
-/* Line 1792 of yacc.c  */
-#line 3726 "gram.y"
+#line 3725 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("maxvalue", NULL);
                                }
+#line 27649 "gram.c" /* yacc.c:1646  */
     break;
 
   case 545:
-/* Line 1792 of yacc.c  */
-#line 3730 "gram.y"
+#line 3729 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("minvalue", NULL);
                                }
+#line 27657 "gram.c" /* yacc.c:1646  */
     break;
 
   case 546:
-/* Line 1792 of yacc.c  */
-#line 3734 "gram.y"
+#line 3733 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[(3) - (3)].list));
+                                       (yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list));
                                }
+#line 27665 "gram.c" /* yacc.c:1646  */
     break;
 
   case 547:
-/* Line 1792 of yacc.c  */
-#line 3738 "gram.y"
+#line 3737 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[(3) - (3)].value));
+                                       (yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value));
                                }
+#line 27673 "gram.c" /* yacc.c:1646  */
     break;
 
   case 548:
-/* Line 1792 of yacc.c  */
-#line 3742 "gram.y"
+#line 3741 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("restart", NULL);
                                }
+#line 27681 "gram.c" /* yacc.c:1646  */
     break;
 
   case 549:
-/* Line 1792 of yacc.c  */
-#line 3746 "gram.y"
+#line 3745 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[(3) - (3)].value));
+                                       (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value));
                                }
+#line 27689 "gram.c" /* yacc.c:1646  */
     break;
 
   case 550:
-/* Line 1792 of yacc.c  */
-#line 3751 "gram.y"
+#line 3750 "gram.y" /* yacc.c:1646  */
     {}
+#line 27695 "gram.c" /* yacc.c:1646  */
     break;
 
   case 551:
-/* Line 1792 of yacc.c  */
-#line 3752 "gram.y"
+#line 3751 "gram.y" /* yacc.c:1646  */
     {}
+#line 27701 "gram.c" /* yacc.c:1646  */
     break;
 
   case 552:
-/* Line 1792 of yacc.c  */
-#line 3756 "gram.y"
-    { (yyval.value) = makeFloat((yyvsp[(1) - (1)].str)); }
+#line 3755 "gram.y" /* yacc.c:1646  */
+    { (yyval.value) = makeFloat((yyvsp[0].str)); }
+#line 27707 "gram.c" /* yacc.c:1646  */
     break;
 
   case 553:
-/* Line 1792 of yacc.c  */
-#line 3758 "gram.y"
+#line 3757 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.value) = makeFloat((yyvsp[(2) - (2)].str));
+                                       (yyval.value) = makeFloat((yyvsp[0].str));
                                        doNegateFloat((yyval.value));
                                }
+#line 27716 "gram.c" /* yacc.c:1646  */
     break;
 
   case 554:
-/* Line 1792 of yacc.c  */
-#line 3762 "gram.y"
-    { (yyval.value) = makeInteger((yyvsp[(1) - (1)].ival)); }
+#line 3761 "gram.y" /* yacc.c:1646  */
+    { (yyval.value) = makeInteger((yyvsp[0].ival)); }
+#line 27722 "gram.c" /* yacc.c:1646  */
     break;
 
   case 555:
-/* Line 1792 of yacc.c  */
-#line 3765 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); }
+#line 3764 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].value)); }
+#line 27728 "gram.c" /* yacc.c:1646  */
     break;
 
   case 556:
-/* Line 1792 of yacc.c  */
-#line 3766 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); }
+#line 3765 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
+#line 27734 "gram.c" /* yacc.c:1646  */
     break;
 
   case 557:
-/* Line 1792 of yacc.c  */
-#line 3779 "gram.y"
+#line 3778 "gram.y" /* yacc.c:1646  */
     {
                                CreatePLangStmt *n = makeNode(CreatePLangStmt);
-                               n->replace = (yyvsp[(2) - (6)].boolean);
-                               n->plname = (yyvsp[(6) - (6)].str);
+                               n->replace = (yyvsp[-4].boolean);
+                               n->plname = (yyvsp[0].str);
                                /* parameters are all to be supplied by system */
                                n->plhandler = NIL;
                                n->plinline = NIL;
@@ -29060,943 +27746,943 @@ yyreduce:
                                n->pltrusted = false;
                                (yyval.node) = (Node *)n;
                        }
+#line 27750 "gram.c" /* yacc.c:1646  */
     break;
 
   case 558:
-/* Line 1792 of yacc.c  */
-#line 3792 "gram.y"
+#line 3791 "gram.y" /* yacc.c:1646  */
     {
                                CreatePLangStmt *n = makeNode(CreatePLangStmt);
-                               n->replace = (yyvsp[(2) - (10)].boolean);
-                               n->plname = (yyvsp[(6) - (10)].str);
-                               n->plhandler = (yyvsp[(8) - (10)].list);
-                               n->plinline = (yyvsp[(9) - (10)].list);
-                               n->plvalidator = (yyvsp[(10) - (10)].list);
-                               n->pltrusted = (yyvsp[(3) - (10)].boolean);
+                               n->replace = (yyvsp[-8].boolean);
+                               n->plname = (yyvsp[-4].str);
+                               n->plhandler = (yyvsp[-2].list);
+                               n->plinline = (yyvsp[-1].list);
+                               n->plvalidator = (yyvsp[0].list);
+                               n->pltrusted = (yyvsp[-7].boolean);
                                (yyval.node) = (Node *)n;
                        }
+#line 27765 "gram.c" /* yacc.c:1646  */
     break;
 
   case 559:
-/* Line 1792 of yacc.c  */
-#line 3805 "gram.y"
+#line 3804 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 27771 "gram.c" /* yacc.c:1646  */
     break;
 
   case 560:
-/* Line 1792 of yacc.c  */
-#line 3806 "gram.y"
+#line 3805 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 27777 "gram.c" /* yacc.c:1646  */
     break;
 
   case 561:
-/* Line 1792 of yacc.c  */
-#line 3814 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 3813 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 27783 "gram.c" /* yacc.c:1646  */
     break;
 
   case 562:
-/* Line 1792 of yacc.c  */
-#line 3815 "gram.y"
-    { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); }
+#line 3814 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
+#line 27789 "gram.c" /* yacc.c:1646  */
     break;
 
   case 563:
-/* Line 1792 of yacc.c  */
-#line 3819 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 3818 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 27795 "gram.c" /* yacc.c:1646  */
     break;
 
   case 564:
-/* Line 1792 of yacc.c  */
-#line 3820 "gram.y"
+#line 3819 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 27801 "gram.c" /* yacc.c:1646  */
     break;
 
   case 565:
-/* Line 1792 of yacc.c  */
-#line 3824 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 3823 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 27807 "gram.c" /* yacc.c:1646  */
     break;
 
   case 566:
-/* Line 1792 of yacc.c  */
-#line 3825 "gram.y"
+#line 3824 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 27813 "gram.c" /* yacc.c:1646  */
     break;
 
   case 567:
-/* Line 1792 of yacc.c  */
-#line 3829 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 3828 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 27819 "gram.c" /* yacc.c:1646  */
     break;
 
   case 568:
-/* Line 1792 of yacc.c  */
-#line 3830 "gram.y"
+#line 3829 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 27825 "gram.c" /* yacc.c:1646  */
     break;
 
   case 569:
-/* Line 1792 of yacc.c  */
-#line 3835 "gram.y"
+#line 3834 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_LANGUAGE;
-                                       n->objects = list_make1(list_make1(makeString((yyvsp[(4) - (5)].str))));
+                                       n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(5) - (5)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 27840 "gram.c" /* yacc.c:1646  */
     break;
 
   case 570:
-/* Line 1792 of yacc.c  */
-#line 3846 "gram.y"
+#line 3845 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_LANGUAGE;
-                                       n->objects = list_make1(list_make1(makeString((yyvsp[(6) - (7)].str))));
-                                       n->behavior = (yyvsp[(7) - (7)].dbehavior);
+                                       n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = true;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 27854 "gram.c" /* yacc.c:1646  */
     break;
 
   case 571:
-/* Line 1792 of yacc.c  */
-#line 3858 "gram.y"
+#line 3857 "gram.y" /* yacc.c:1646  */
     {}
+#line 27860 "gram.c" /* yacc.c:1646  */
     break;
 
   case 572:
-/* Line 1792 of yacc.c  */
-#line 3859 "gram.y"
+#line 3858 "gram.y" /* yacc.c:1646  */
     {}
+#line 27866 "gram.c" /* yacc.c:1646  */
     break;
 
   case 573:
-/* Line 1792 of yacc.c  */
-#line 3870 "gram.y"
+#line 3869 "gram.y" /* yacc.c:1646  */
     {
                                        CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
-                                       n->tablespacename = (yyvsp[(3) - (7)].str);
-                                       n->owner = (yyvsp[(4) - (7)].node);
-                                       n->location = (yyvsp[(6) - (7)].str);
-                                       n->options = (yyvsp[(7) - (7)].list);
+                                       n->tablespacename = (yyvsp[-4].str);
+                                       n->owner = (yyvsp[-3].node);
+                                       n->location = (yyvsp[-1].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 27879 "gram.c" /* yacc.c:1646  */
     break;
 
   case 574:
-/* Line 1792 of yacc.c  */
-#line 3880 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 3879 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 27885 "gram.c" /* yacc.c:1646  */
     break;
 
   case 575:
-/* Line 1792 of yacc.c  */
-#line 3881 "gram.y"
+#line 3880 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 27891 "gram.c" /* yacc.c:1646  */
     break;
 
   case 576:
-/* Line 1792 of yacc.c  */
-#line 3895 "gram.y"
+#line 3894 "gram.y" /* yacc.c:1646  */
     {
                                        DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
-                                       n->tablespacename = (yyvsp[(3) - (3)].str);
+                                       n->tablespacename = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 27902 "gram.c" /* yacc.c:1646  */
     break;
 
   case 577:
-/* Line 1792 of yacc.c  */
-#line 3902 "gram.y"
+#line 3901 "gram.y" /* yacc.c:1646  */
     {
                                        DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
-                                       n->tablespacename = (yyvsp[(5) - (5)].str);
+                                       n->tablespacename = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *) n;
                                }
+#line 27913 "gram.c" /* yacc.c:1646  */
     break;
 
   case 578:
-/* Line 1792 of yacc.c  */
-#line 3919 "gram.y"
+#line 3918 "gram.y" /* yacc.c:1646  */
     {
                                        CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
-                                       n->extname = (yyvsp[(3) - (5)].str);
+                                       n->extname = (yyvsp[-2].str);
                                        n->if_not_exists = false;
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 27925 "gram.c" /* yacc.c:1646  */
     break;
 
   case 579:
-/* Line 1792 of yacc.c  */
-#line 3927 "gram.y"
+#line 3926 "gram.y" /* yacc.c:1646  */
     {
                                        CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
-                                       n->extname = (yyvsp[(6) - (8)].str);
+                                       n->extname = (yyvsp[-2].str);
                                        n->if_not_exists = true;
-                                       n->options = (yyvsp[(8) - (8)].list);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 27937 "gram.c" /* yacc.c:1646  */
     break;
 
   case 580:
-/* Line 1792 of yacc.c  */
-#line 3938 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 3937 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 27943 "gram.c" /* yacc.c:1646  */
     break;
 
   case 581:
-/* Line 1792 of yacc.c  */
-#line 3940 "gram.y"
+#line 3939 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 27949 "gram.c" /* yacc.c:1646  */
     break;
 
   case 582:
-/* Line 1792 of yacc.c  */
-#line 3945 "gram.y"
+#line 3944 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[(2) - (2)].str)));
+                                       (yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 27957 "gram.c" /* yacc.c:1646  */
     break;
 
   case 583:
-/* Line 1792 of yacc.c  */
-#line 3949 "gram.y"
+#line 3948 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
+                                       (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 27965 "gram.c" /* yacc.c:1646  */
     break;
 
   case 584:
-/* Line 1792 of yacc.c  */
-#line 3953 "gram.y"
+#line 3952 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
+                                       (yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 27973 "gram.c" /* yacc.c:1646  */
     break;
 
   case 585:
-/* Line 1792 of yacc.c  */
-#line 3957 "gram.y"
+#line 3956 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(TRUE));
                                }
+#line 27981 "gram.c" /* yacc.c:1646  */
     break;
 
   case 586:
-/* Line 1792 of yacc.c  */
-#line 3969 "gram.y"
+#line 3968 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
-                                       n->extname = (yyvsp[(3) - (5)].str);
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->extname = (yyvsp[-2].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 27992 "gram.c" /* yacc.c:1646  */
     break;
 
   case 587:
-/* Line 1792 of yacc.c  */
-#line 3979 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 3978 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 27998 "gram.c" /* yacc.c:1646  */
     break;
 
   case 588:
-/* Line 1792 of yacc.c  */
-#line 3981 "gram.y"
+#line 3980 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 28004 "gram.c" /* yacc.c:1646  */
     break;
 
   case 589:
-/* Line 1792 of yacc.c  */
-#line 3986 "gram.y"
+#line 3985 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
+                                       (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 28012 "gram.c" /* yacc.c:1646  */
     break;
 
   case 590:
-/* Line 1792 of yacc.c  */
-#line 3999 "gram.y"
+#line 3998 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (7)].str);
-                                       n->action = (yyvsp[(4) - (7)].ival);
+                                       n->extname = (yyvsp[-4].str);
+                                       n->action = (yyvsp[-3].ival);
                                        n->objtype = OBJECT_AGGREGATE;
-                                       n->objname = (yyvsp[(6) - (7)].list);
-                                       n->objargs = extractAggrArgTypes((yyvsp[(7) - (7)].list));
+                                       n->objname = (yyvsp[-1].list);
+                                       n->objargs = extractAggrArgTypes((yyvsp[0].list));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28026 "gram.c" /* yacc.c:1646  */
     break;
 
   case 591:
-/* Line 1792 of yacc.c  */
-#line 4009 "gram.y"
+#line 4008 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (10)].str);
-                                       n->action = (yyvsp[(4) - (10)].ival);
+                                       n->extname = (yyvsp[-7].str);
+                                       n->action = (yyvsp[-6].ival);
                                        n->objtype = OBJECT_CAST;
-                                       n->objname = list_make1((yyvsp[(7) - (10)].typnam));
-                                       n->objargs = list_make1((yyvsp[(9) - (10)].typnam));
+                                       n->objname = list_make1((yyvsp[-3].typnam));
+                                       n->objargs = list_make1((yyvsp[-1].typnam));
                                        (yyval.node) = (Node *) n;
                                }
+#line 28040 "gram.c" /* yacc.c:1646  */
     break;
 
   case 592:
-/* Line 1792 of yacc.c  */
-#line 4019 "gram.y"
+#line 4018 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (6)].str);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->extname = (yyvsp[-3].str);
+                                       n->action = (yyvsp[-2].ival);
                                        n->objtype = OBJECT_COLLATION;
-                                       n->objname = (yyvsp[(6) - (6)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28053 "gram.c" /* yacc.c:1646  */
     break;
 
   case 593:
-/* Line 1792 of yacc.c  */
-#line 4028 "gram.y"
+#line 4027 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (6)].str);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->extname = (yyvsp[-3].str);
+                                       n->action = (yyvsp[-2].ival);
                                        n->objtype = OBJECT_CONVERSION;
-                                       n->objname = (yyvsp[(6) - (6)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28066 "gram.c" /* yacc.c:1646  */
     break;
 
   case 594:
-/* Line 1792 of yacc.c  */
-#line 4037 "gram.y"
+#line 4036 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (6)].str);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->extname = (yyvsp[-3].str);
+                                       n->action = (yyvsp[-2].ival);
                                        n->objtype = OBJECT_DOMAIN;
-                                       n->objname = list_make1((yyvsp[(6) - (6)].typnam));
+                                       n->objname = list_make1((yyvsp[0].typnam));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28079 "gram.c" /* yacc.c:1646  */
     break;
 
   case 595:
-/* Line 1792 of yacc.c  */
-#line 4046 "gram.y"
+#line 4045 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (6)].str);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->extname = (yyvsp[-3].str);
+                                       n->action = (yyvsp[-2].ival);
                                        n->objtype = OBJECT_FUNCTION;
-                                       n->objname = (yyvsp[(6) - (6)].funwithargs)->funcname;
-                                       n->objargs = (yyvsp[(6) - (6)].funwithargs)->funcargs;
+                                       n->objname = (yyvsp[0].funwithargs)->funcname;
+                                       n->objargs = (yyvsp[0].funwithargs)->funcargs;
                                        (yyval.node) = (Node *)n;
                                }
+#line 28093 "gram.c" /* yacc.c:1646  */
     break;
 
   case 596:
-/* Line 1792 of yacc.c  */
-#line 4056 "gram.y"
+#line 4055 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (7)].str);
-                                       n->action = (yyvsp[(4) - (7)].ival);
+                                       n->extname = (yyvsp[-4].str);
+                                       n->action = (yyvsp[-3].ival);
                                        n->objtype = OBJECT_LANGUAGE;
-                                       n->objname = list_make1(makeString((yyvsp[(7) - (7)].str)));
+                                       n->objname = list_make1(makeString((yyvsp[0].str)));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28106 "gram.c" /* yacc.c:1646  */
     break;
 
   case 597:
-/* Line 1792 of yacc.c  */
-#line 4065 "gram.y"
+#line 4064 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (7)].str);
-                                       n->action = (yyvsp[(4) - (7)].ival);
+                                       n->extname = (yyvsp[-4].str);
+                                       n->action = (yyvsp[-3].ival);
                                        n->objtype = OBJECT_OPERATOR;
-                                       n->objname = (yyvsp[(6) - (7)].list);
-                                       n->objargs = (yyvsp[(7) - (7)].list);
+                                       n->objname = (yyvsp[-1].list);
+                                       n->objargs = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28120 "gram.c" /* yacc.c:1646  */
     break;
 
   case 598:
-/* Line 1792 of yacc.c  */
-#line 4075 "gram.y"
+#line 4074 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (9)].str);
-                                       n->action = (yyvsp[(4) - (9)].ival);
+                                       n->extname = (yyvsp[-6].str);
+                                       n->action = (yyvsp[-5].ival);
                                        n->objtype = OBJECT_OPCLASS;
-                                       n->objname = lcons(makeString((yyvsp[(9) - (9)].str)), (yyvsp[(7) - (9)].list));
+                                       n->objname = lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28133 "gram.c" /* yacc.c:1646  */
     break;
 
   case 599:
-/* Line 1792 of yacc.c  */
-#line 4084 "gram.y"
+#line 4083 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (9)].str);
-                                       n->action = (yyvsp[(4) - (9)].ival);
+                                       n->extname = (yyvsp[-6].str);
+                                       n->action = (yyvsp[-5].ival);
                                        n->objtype = OBJECT_OPFAMILY;
-                                       n->objname = lcons(makeString((yyvsp[(9) - (9)].str)), (yyvsp[(7) - (9)].list));
+                                       n->objname = lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28146 "gram.c" /* yacc.c:1646  */
     break;
 
   case 600:
-/* Line 1792 of yacc.c  */
-#line 4093 "gram.y"
+#line 4092 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (6)].str);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->extname = (yyvsp[-3].str);
+                                       n->action = (yyvsp[-2].ival);
                                        n->objtype = OBJECT_SCHEMA;
-                                       n->objname = list_make1(makeString((yyvsp[(6) - (6)].str)));
+                                       n->objname = list_make1(makeString((yyvsp[0].str)));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28159 "gram.c" /* yacc.c:1646  */
     break;
 
   case 601:
-/* Line 1792 of yacc.c  */
-#line 4102 "gram.y"
+#line 4101 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (7)].str);
-                                       n->action = (yyvsp[(4) - (7)].ival);
+                                       n->extname = (yyvsp[-4].str);
+                                       n->action = (yyvsp[-3].ival);
                                        n->objtype = OBJECT_EVENT_TRIGGER;
-                                       n->objname = list_make1(makeString((yyvsp[(7) - (7)].str)));
+                                       n->objname = list_make1(makeString((yyvsp[0].str)));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28172 "gram.c" /* yacc.c:1646  */
     break;
 
   case 602:
-/* Line 1792 of yacc.c  */
-#line 4111 "gram.y"
+#line 4110 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (6)].str);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->extname = (yyvsp[-3].str);
+                                       n->action = (yyvsp[-2].ival);
                                        n->objtype = OBJECT_TABLE;
-                                       n->objname = (yyvsp[(6) - (6)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28185 "gram.c" /* yacc.c:1646  */
     break;
 
   case 603:
-/* Line 1792 of yacc.c  */
-#line 4120 "gram.y"
+#line 4119 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (8)].str);
-                                       n->action = (yyvsp[(4) - (8)].ival);
+                                       n->extname = (yyvsp[-5].str);
+                                       n->action = (yyvsp[-4].ival);
                                        n->objtype = OBJECT_TSPARSER;
-                                       n->objname = (yyvsp[(8) - (8)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28198 "gram.c" /* yacc.c:1646  */
     break;
 
   case 604:
-/* Line 1792 of yacc.c  */
-#line 4129 "gram.y"
+#line 4128 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (8)].str);
-                                       n->action = (yyvsp[(4) - (8)].ival);
+                                       n->extname = (yyvsp[-5].str);
+                                       n->action = (yyvsp[-4].ival);
                                        n->objtype = OBJECT_TSDICTIONARY;
-                                       n->objname = (yyvsp[(8) - (8)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28211 "gram.c" /* yacc.c:1646  */
     break;
 
   case 605:
-/* Line 1792 of yacc.c  */
-#line 4138 "gram.y"
+#line 4137 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (8)].str);
-                                       n->action = (yyvsp[(4) - (8)].ival);
+                                       n->extname = (yyvsp[-5].str);
+                                       n->action = (yyvsp[-4].ival);
                                        n->objtype = OBJECT_TSTEMPLATE;
-                                       n->objname = (yyvsp[(8) - (8)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28224 "gram.c" /* yacc.c:1646  */
     break;
 
   case 606:
-/* Line 1792 of yacc.c  */
-#line 4147 "gram.y"
+#line 4146 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (8)].str);
-                                       n->action = (yyvsp[(4) - (8)].ival);
+                                       n->extname = (yyvsp[-5].str);
+                                       n->action = (yyvsp[-4].ival);
                                        n->objtype = OBJECT_TSCONFIGURATION;
-                                       n->objname = (yyvsp[(8) - (8)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28237 "gram.c" /* yacc.c:1646  */
     break;
 
   case 607:
-/* Line 1792 of yacc.c  */
-#line 4156 "gram.y"
+#line 4155 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (6)].str);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->extname = (yyvsp[-3].str);
+                                       n->action = (yyvsp[-2].ival);
                                        n->objtype = OBJECT_SEQUENCE;
-                                       n->objname = (yyvsp[(6) - (6)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28250 "gram.c" /* yacc.c:1646  */
     break;
 
   case 608:
-/* Line 1792 of yacc.c  */
-#line 4165 "gram.y"
+#line 4164 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (6)].str);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->extname = (yyvsp[-3].str);
+                                       n->action = (yyvsp[-2].ival);
                                        n->objtype = OBJECT_VIEW;
-                                       n->objname = (yyvsp[(6) - (6)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28263 "gram.c" /* yacc.c:1646  */
     break;
 
   case 609:
-/* Line 1792 of yacc.c  */
-#line 4174 "gram.y"
+#line 4173 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (7)].str);
-                                       n->action = (yyvsp[(4) - (7)].ival);
+                                       n->extname = (yyvsp[-4].str);
+                                       n->action = (yyvsp[-3].ival);
                                        n->objtype = OBJECT_MATVIEW;
-                                       n->objname = (yyvsp[(7) - (7)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28276 "gram.c" /* yacc.c:1646  */
     break;
 
   case 610:
-/* Line 1792 of yacc.c  */
-#line 4183 "gram.y"
+#line 4182 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (7)].str);
-                                       n->action = (yyvsp[(4) - (7)].ival);
+                                       n->extname = (yyvsp[-4].str);
+                                       n->action = (yyvsp[-3].ival);
                                        n->objtype = OBJECT_FOREIGN_TABLE;
-                                       n->objname = (yyvsp[(7) - (7)].list);
+                                       n->objname = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 28289 "gram.c" /* yacc.c:1646  */
     break;
 
   case 611:
-/* Line 1792 of yacc.c  */
-#line 4192 "gram.y"
+#line 4191 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (8)].str);
-                                       n->action = (yyvsp[(4) - (8)].ival);
+                                       n->extname = (yyvsp[-5].str);
+                                       n->action = (yyvsp[-4].ival);
                                        n->objtype = OBJECT_FDW;
-                                       n->objname = list_make1(makeString((yyvsp[(8) - (8)].str)));
+                                       n->objname = list_make1(makeString((yyvsp[0].str)));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28302 "gram.c" /* yacc.c:1646  */
     break;
 
   case 612:
-/* Line 1792 of yacc.c  */
-#line 4201 "gram.y"
+#line 4200 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (6)].str);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->extname = (yyvsp[-3].str);
+                                       n->action = (yyvsp[-2].ival);
                                        n->objtype = OBJECT_FOREIGN_SERVER;
-                                       n->objname = list_make1(makeString((yyvsp[(6) - (6)].str)));
+                                       n->objname = list_make1(makeString((yyvsp[0].str)));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28315 "gram.c" /* yacc.c:1646  */
     break;
 
   case 613:
-/* Line 1792 of yacc.c  */
-#line 4210 "gram.y"
+#line 4209 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (9)].str);
-                                       n->action = (yyvsp[(4) - (9)].ival);
+                                       n->extname = (yyvsp[-6].str);
+                                       n->action = (yyvsp[-5].ival);
                                        n->objtype = OBJECT_TRANSFORM;
-                                       n->objname = list_make1((yyvsp[(7) - (9)].typnam));
-                                       n->objargs = list_make1(makeString((yyvsp[(9) - (9)].str)));
+                                       n->objname = list_make1((yyvsp[-2].typnam));
+                                       n->objargs = list_make1(makeString((yyvsp[0].str)));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28329 "gram.c" /* yacc.c:1646  */
     break;
 
   case 614:
-/* Line 1792 of yacc.c  */
-#line 4220 "gram.y"
+#line 4219 "gram.y" /* yacc.c:1646  */
     {
                                        AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
-                                       n->extname = (yyvsp[(3) - (6)].str);
-                                       n->action = (yyvsp[(4) - (6)].ival);
+                                       n->extname = (yyvsp[-3].str);
+                                       n->action = (yyvsp[-2].ival);
                                        n->objtype = OBJECT_TYPE;
-                                       n->objname = list_make1((yyvsp[(6) - (6)].typnam));
+                                       n->objname = list_make1((yyvsp[0].typnam));
                                        (yyval.node) = (Node *)n;
                                }
+#line 28342 "gram.c" /* yacc.c:1646  */
     break;
 
   case 615:
-/* Line 1792 of yacc.c  */
-#line 4238 "gram.y"
+#line 4237 "gram.y" /* yacc.c:1646  */
     {
                                        CreateFdwStmt *n = makeNode(CreateFdwStmt);
-                                       n->fdwname = (yyvsp[(5) - (7)].str);
-                                       n->func_options = (yyvsp[(6) - (7)].list);
-                                       n->options = (yyvsp[(7) - (7)].list);
+                                       n->fdwname = (yyvsp[-2].str);
+                                       n->func_options = (yyvsp[-1].list);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 28354 "gram.c" /* yacc.c:1646  */
     break;
 
   case 616:
-/* Line 1792 of yacc.c  */
-#line 4248 "gram.y"
-    { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[(2) - (2)].list)); }
+#line 4247 "gram.y" /* yacc.c:1646  */
+    { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list)); }
+#line 28360 "gram.c" /* yacc.c:1646  */
     break;
 
   case 617:
-/* Line 1792 of yacc.c  */
-#line 4249 "gram.y"
+#line 4248 "gram.y" /* yacc.c:1646  */
     { (yyval.defelt) = makeDefElem("handler", NULL); }
+#line 28366 "gram.c" /* yacc.c:1646  */
     break;
 
   case 618:
-/* Line 1792 of yacc.c  */
-#line 4250 "gram.y"
-    { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[(2) - (2)].list)); }
+#line 4249 "gram.y" /* yacc.c:1646  */
+    { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list)); }
+#line 28372 "gram.c" /* yacc.c:1646  */
     break;
 
   case 619:
-/* Line 1792 of yacc.c  */
-#line 4251 "gram.y"
+#line 4250 "gram.y" /* yacc.c:1646  */
     { (yyval.defelt) = makeDefElem("validator", NULL); }
+#line 28378 "gram.c" /* yacc.c:1646  */
     break;
 
   case 620:
-/* Line 1792 of yacc.c  */
-#line 4255 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 4254 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 28384 "gram.c" /* yacc.c:1646  */
     break;
 
   case 621:
-/* Line 1792 of yacc.c  */
-#line 4256 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 4255 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 28390 "gram.c" /* yacc.c:1646  */
     break;
 
   case 622:
-/* Line 1792 of yacc.c  */
-#line 4260 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 4259 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 28396 "gram.c" /* yacc.c:1646  */
     break;
 
   case 623:
-/* Line 1792 of yacc.c  */
-#line 4261 "gram.y"
+#line 4260 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 28402 "gram.c" /* yacc.c:1646  */
     break;
 
   case 624:
-/* Line 1792 of yacc.c  */
-#line 4272 "gram.y"
+#line 4271 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_FDW;
-                                       n->objects = list_make1(list_make1(makeString((yyvsp[(5) - (6)].str))));
+                                       n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
                                        n->arguments = NIL;
                                        n->missing_ok = false;
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28417 "gram.c" /* yacc.c:1646  */
     break;
 
   case 625:
-/* Line 1792 of yacc.c  */
-#line 4283 "gram.y"
+#line 4282 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_FDW;
-                                       n->objects = list_make1(list_make1(makeString((yyvsp[(7) - (8)].str))));
+                                       n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
                                        n->arguments = NIL;
                                        n->missing_ok = true;
-                                       n->behavior = (yyvsp[(8) - (8)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28432 "gram.c" /* yacc.c:1646  */
     break;
 
   case 626:
-/* Line 1792 of yacc.c  */
-#line 4303 "gram.y"
+#line 4302 "gram.y" /* yacc.c:1646  */
     {
                                        AlterFdwStmt *n = makeNode(AlterFdwStmt);
-                                       n->fdwname = (yyvsp[(5) - (7)].str);
-                                       n->func_options = (yyvsp[(6) - (7)].list);
-                                       n->options = (yyvsp[(7) - (7)].list);
+                                       n->fdwname = (yyvsp[-2].str);
+                                       n->func_options = (yyvsp[-1].list);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 28444 "gram.c" /* yacc.c:1646  */
     break;
 
   case 627:
-/* Line 1792 of yacc.c  */
-#line 4311 "gram.y"
+#line 4310 "gram.y" /* yacc.c:1646  */
     {
                                        AlterFdwStmt *n = makeNode(AlterFdwStmt);
-                                       n->fdwname = (yyvsp[(5) - (6)].str);
-                                       n->func_options = (yyvsp[(6) - (6)].list);
+                                       n->fdwname = (yyvsp[-1].str);
+                                       n->func_options = (yyvsp[0].list);
                                        n->options = NIL;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28456 "gram.c" /* yacc.c:1646  */
     break;
 
   case 628:
-/* Line 1792 of yacc.c  */
-#line 4322 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (4)].list); }
+#line 4321 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 28462 "gram.c" /* yacc.c:1646  */
     break;
 
   case 629:
-/* Line 1792 of yacc.c  */
-#line 4323 "gram.y"
+#line 4322 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 28468 "gram.c" /* yacc.c:1646  */
     break;
 
   case 630:
-/* Line 1792 of yacc.c  */
-#line 4328 "gram.y"
+#line 4327 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
+                                       (yyval.list) = list_make1((yyvsp[0].defelt));
                                }
+#line 28476 "gram.c" /* yacc.c:1646  */
     break;
 
   case 631:
-/* Line 1792 of yacc.c  */
-#line 4332 "gram.y"
+#line 4331 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
                                }
+#line 28484 "gram.c" /* yacc.c:1646  */
     break;
 
   case 632:
-/* Line 1792 of yacc.c  */
-#line 4339 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (4)].list); }
+#line 4338 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 28490 "gram.c" /* yacc.c:1646  */
     break;
 
   case 633:
-/* Line 1792 of yacc.c  */
-#line 4344 "gram.y"
+#line 4343 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
+                                       (yyval.list) = list_make1((yyvsp[0].defelt));
                                }
+#line 28498 "gram.c" /* yacc.c:1646  */
     break;
 
   case 634:
-/* Line 1792 of yacc.c  */
-#line 4348 "gram.y"
+#line 4347 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
                                }
+#line 28506 "gram.c" /* yacc.c:1646  */
     break;
 
   case 635:
-/* Line 1792 of yacc.c  */
-#line 4355 "gram.y"
+#line 4354 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = (yyvsp[(1) - (1)].defelt);
+                                       (yyval.defelt) = (yyvsp[0].defelt);
                                }
+#line 28514 "gram.c" /* yacc.c:1646  */
     break;
 
   case 636:
-/* Line 1792 of yacc.c  */
-#line 4359 "gram.y"
+#line 4358 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = (yyvsp[(2) - (2)].defelt);
+                                       (yyval.defelt) = (yyvsp[0].defelt);
                                        (yyval.defelt)->defaction = DEFELEM_SET;
                                }
+#line 28523 "gram.c" /* yacc.c:1646  */
     break;
 
   case 637:
-/* Line 1792 of yacc.c  */
-#line 4364 "gram.y"
+#line 4363 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = (yyvsp[(2) - (2)].defelt);
+                                       (yyval.defelt) = (yyvsp[0].defelt);
                                        (yyval.defelt)->defaction = DEFELEM_ADD;
                                }
+#line 28532 "gram.c" /* yacc.c:1646  */
     break;
 
   case 638:
-/* Line 1792 of yacc.c  */
-#line 4369 "gram.y"
+#line 4368 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[(2) - (2)].str), NULL, DEFELEM_DROP);
+                                       (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP);
                                }
+#line 28540 "gram.c" /* yacc.c:1646  */
     break;
 
   case 639:
-/* Line 1792 of yacc.c  */
-#line 4376 "gram.y"
+#line 4375 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
+                                       (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node));
                                }
+#line 28548 "gram.c" /* yacc.c:1646  */
     break;
 
   case 640:
-/* Line 1792 of yacc.c  */
-#line 4382 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 4381 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 28554 "gram.c" /* yacc.c:1646  */
     break;
 
   case 641:
-/* Line 1792 of yacc.c  */
-#line 4387 "gram.y"
-    { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); }
+#line 4386 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 28560 "gram.c" /* yacc.c:1646  */
     break;
 
   case 642:
-/* Line 1792 of yacc.c  */
-#line 4399 "gram.y"
+#line 4398 "gram.y" /* yacc.c:1646  */
     {
                                        CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
-                                       n->servername = (yyvsp[(3) - (10)].str);
-                                       n->servertype = (yyvsp[(4) - (10)].str);
-                                       n->version = (yyvsp[(5) - (10)].str);
-                                       n->fdwname = (yyvsp[(9) - (10)].str);
-                                       n->options = (yyvsp[(10) - (10)].list);
+                                       n->servername = (yyvsp[-7].str);
+                                       n->servertype = (yyvsp[-6].str);
+                                       n->version = (yyvsp[-5].str);
+                                       n->fdwname = (yyvsp[-1].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 28574 "gram.c" /* yacc.c:1646  */
     break;
 
   case 643:
-/* Line 1792 of yacc.c  */
-#line 4411 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].str); }
+#line 4410 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 28580 "gram.c" /* yacc.c:1646  */
     break;
 
   case 644:
-/* Line 1792 of yacc.c  */
-#line 4412 "gram.y"
+#line 4411 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 28586 "gram.c" /* yacc.c:1646  */
     break;
 
   case 645:
-/* Line 1792 of yacc.c  */
-#line 4417 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].str); }
+#line 4416 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 28592 "gram.c" /* yacc.c:1646  */
     break;
 
   case 646:
-/* Line 1792 of yacc.c  */
-#line 4418 "gram.y"
+#line 4417 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 28598 "gram.c" /* yacc.c:1646  */
     break;
 
   case 647:
-/* Line 1792 of yacc.c  */
-#line 4422 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 4421 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 28604 "gram.c" /* yacc.c:1646  */
     break;
 
   case 648:
-/* Line 1792 of yacc.c  */
-#line 4423 "gram.y"
+#line 4422 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 28610 "gram.c" /* yacc.c:1646  */
     break;
 
   case 649:
-/* Line 1792 of yacc.c  */
-#line 4434 "gram.y"
+#line 4433 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_FOREIGN_SERVER;
-                                       n->objects = list_make1(list_make1(makeString((yyvsp[(3) - (4)].str))));
+                                       n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
                                        n->arguments = NIL;
                                        n->missing_ok = false;
-                                       n->behavior = (yyvsp[(4) - (4)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28625 "gram.c" /* yacc.c:1646  */
     break;
 
   case 650:
-/* Line 1792 of yacc.c  */
-#line 4445 "gram.y"
+#line 4444 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_FOREIGN_SERVER;
-                                       n->objects = list_make1(list_make1(makeString((yyvsp[(5) - (6)].str))));
+                                       n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
                                        n->arguments = NIL;
                                        n->missing_ok = true;
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28640 "gram.c" /* yacc.c:1646  */
     break;
 
   case 651:
-/* Line 1792 of yacc.c  */
-#line 4465 "gram.y"
+#line 4464 "gram.y" /* yacc.c:1646  */
     {
                                        AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
-                                       n->servername = (yyvsp[(3) - (5)].str);
-                                       n->version = (yyvsp[(4) - (5)].str);
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->servername = (yyvsp[-2].str);
+                                       n->version = (yyvsp[-1].str);
+                                       n->options = (yyvsp[0].list);
                                        n->has_version = true;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28653 "gram.c" /* yacc.c:1646  */
     break;
 
   case 652:
-/* Line 1792 of yacc.c  */
-#line 4474 "gram.y"
+#line 4473 "gram.y" /* yacc.c:1646  */
     {
                                        AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
-                                       n->servername = (yyvsp[(3) - (4)].str);
-                                       n->version = (yyvsp[(4) - (4)].str);
+                                       n->servername = (yyvsp[-1].str);
+                                       n->version = (yyvsp[0].str);
                                        n->has_version = true;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28665 "gram.c" /* yacc.c:1646  */
     break;
 
   case 653:
-/* Line 1792 of yacc.c  */
-#line 4482 "gram.y"
+#line 4481 "gram.y" /* yacc.c:1646  */
     {
                                        AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
-                                       n->servername = (yyvsp[(3) - (4)].str);
-                                       n->options = (yyvsp[(4) - (4)].list);
+                                       n->servername = (yyvsp[-1].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 28676 "gram.c" /* yacc.c:1646  */
     break;
 
   case 654:
-/* Line 1792 of yacc.c  */
-#line 4501 "gram.y"
+#line 4500 "gram.y" /* yacc.c:1646  */
     {
                                        CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
-                                       (yyvsp[(4) - (11)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
-                                       n->base.relation = (yyvsp[(4) - (11)].range);
-                                       n->base.tableElts = (yyvsp[(6) - (11)].list);
-                                       n->base.inhRelations = (yyvsp[(8) - (11)].list);
+                                       (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
+                                       n->base.relation = (yyvsp[-7].range);
+                                       n->base.tableElts = (yyvsp[-5].list);
+                                       n->base.inhRelations = (yyvsp[-3].list);
                                        n->base.ofTypename = NULL;
                                        n->base.constraints = NIL;
                                        n->base.options = NIL;
@@ -30004,21 +28690,21 @@ yyreduce:
                                        n->base.tablespacename = NULL;
                                        n->base.if_not_exists = false;
                                        /* FDW-specific data */
-                                       n->servername = (yyvsp[(10) - (11)].str);
-                                       n->options = (yyvsp[(11) - (11)].list);
+                                       n->servername = (yyvsp[-1].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 28698 "gram.c" /* yacc.c:1646  */
     break;
 
   case 655:
-/* Line 1792 of yacc.c  */
-#line 4521 "gram.y"
+#line 4520 "gram.y" /* yacc.c:1646  */
     {
                                        CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
-                                       (yyvsp[(7) - (14)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
-                                       n->base.relation = (yyvsp[(7) - (14)].range);
-                                       n->base.tableElts = (yyvsp[(9) - (14)].list);
-                                       n->base.inhRelations = (yyvsp[(11) - (14)].list);
+                                       (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
+                                       n->base.relation = (yyvsp[-7].range);
+                                       n->base.tableElts = (yyvsp[-5].list);
+                                       n->base.inhRelations = (yyvsp[-3].list);
                                        n->base.ofTypename = NULL;
                                        n->base.constraints = NIL;
                                        n->base.options = NIL;
@@ -30026,385 +28712,385 @@ yyreduce:
                                        n->base.tablespacename = NULL;
                                        n->base.if_not_exists = true;
                                        /* FDW-specific data */
-                                       n->servername = (yyvsp[(13) - (14)].str);
-                                       n->options = (yyvsp[(14) - (14)].list);
+                                       n->servername = (yyvsp[-1].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 28720 "gram.c" /* yacc.c:1646  */
     break;
 
   case 656:
-/* Line 1792 of yacc.c  */
-#line 4549 "gram.y"
+#line 4548 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(4) - (5)].range);
-                                       n->cmds = (yyvsp[(5) - (5)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_FOREIGN_TABLE;
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 28733 "gram.c" /* yacc.c:1646  */
     break;
 
   case 657:
-/* Line 1792 of yacc.c  */
-#line 4558 "gram.y"
+#line 4557 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableStmt *n = makeNode(AlterTableStmt);
-                                       n->relation = (yyvsp[(6) - (7)].range);
-                                       n->cmds = (yyvsp[(7) - (7)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->cmds = (yyvsp[0].list);
                                        n->relkind = OBJECT_FOREIGN_TABLE;
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 28746 "gram.c" /* yacc.c:1646  */
     break;
 
   case 658:
-/* Line 1792 of yacc.c  */
-#line 4580 "gram.y"
+#line 4579 "gram.y" /* yacc.c:1646  */
     {
                                ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
-                               n->server_name = (yyvsp[(8) - (11)].str);
-                               n->remote_schema = (yyvsp[(4) - (11)].str);
-                               n->local_schema = (yyvsp[(10) - (11)].str);
-                               n->list_type = (yyvsp[(5) - (11)].importqual)->type;
-                               n->table_list = (yyvsp[(5) - (11)].importqual)->table_names;
-                               n->options = (yyvsp[(11) - (11)].list);
+                               n->server_name = (yyvsp[-3].str);
+                               n->remote_schema = (yyvsp[-7].str);
+                               n->local_schema = (yyvsp[-1].str);
+                               n->list_type = (yyvsp[-6].importqual)->type;
+                               n->table_list = (yyvsp[-6].importqual)->table_names;
+                               n->options = (yyvsp[0].list);
                                (yyval.node) = (Node *) n;
                        }
+#line 28761 "gram.c" /* yacc.c:1646  */
     break;
 
   case 659:
-/* Line 1792 of yacc.c  */
-#line 4593 "gram.y"
+#line 4592 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
+#line 28767 "gram.c" /* yacc.c:1646  */
     break;
 
   case 660:
-/* Line 1792 of yacc.c  */
-#line 4594 "gram.y"
+#line 4593 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
+#line 28773 "gram.c" /* yacc.c:1646  */
     break;
 
   case 661:
-/* Line 1792 of yacc.c  */
-#line 4599 "gram.y"
+#line 4598 "gram.y" /* yacc.c:1646  */
     {
                                ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
-                               n->type = (yyvsp[(1) - (4)].ival);
-                               n->table_names = (yyvsp[(3) - (4)].list);
+                               n->type = (yyvsp[-3].ival);
+                               n->table_names = (yyvsp[-1].list);
                                (yyval.importqual) = n;
                        }
+#line 28784 "gram.c" /* yacc.c:1646  */
     break;
 
   case 662:
-/* Line 1792 of yacc.c  */
-#line 4606 "gram.y"
+#line 4605 "gram.y" /* yacc.c:1646  */
     {
                                ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
                                n->type = FDW_IMPORT_SCHEMA_ALL;
                                n->table_names = NIL;
                                (yyval.importqual) = n;
                        }
+#line 28795 "gram.c" /* yacc.c:1646  */
     break;
 
   case 663:
-/* Line 1792 of yacc.c  */
-#line 4622 "gram.y"
+#line 4621 "gram.y" /* yacc.c:1646  */
     {
                                        CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
-                                       n->user = (yyvsp[(5) - (8)].node);
-                                       n->servername = (yyvsp[(7) - (8)].str);
-                                       n->options = (yyvsp[(8) - (8)].list);
+                                       n->user = (yyvsp[-3].node);
+                                       n->servername = (yyvsp[-1].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 28807 "gram.c" /* yacc.c:1646  */
     break;
 
   case 664:
-/* Line 1792 of yacc.c  */
-#line 4632 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 4631 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 28813 "gram.c" /* yacc.c:1646  */
     break;
 
   case 665:
-/* Line 1792 of yacc.c  */
-#line 4633 "gram.y"
-    { (yyval.node) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)])); }
+#line 4632 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
+#line 28819 "gram.c" /* yacc.c:1646  */
     break;
 
   case 666:
-/* Line 1792 of yacc.c  */
-#line 4644 "gram.y"
+#line 4643 "gram.y" /* yacc.c:1646  */
     {
                                        DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
-                                       n->user = (yyvsp[(5) - (7)].node);
-                                       n->servername = (yyvsp[(7) - (7)].str);
+                                       n->user = (yyvsp[-2].node);
+                                       n->servername = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28831 "gram.c" /* yacc.c:1646  */
     break;
 
   case 667:
-/* Line 1792 of yacc.c  */
-#line 4652 "gram.y"
+#line 4651 "gram.y" /* yacc.c:1646  */
     {
                                        DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
-                                       n->user = (yyvsp[(7) - (9)].node);
-                                       n->servername = (yyvsp[(9) - (9)].str);
+                                       n->user = (yyvsp[-2].node);
+                                       n->servername = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28843 "gram.c" /* yacc.c:1646  */
     break;
 
   case 668:
-/* Line 1792 of yacc.c  */
-#line 4669 "gram.y"
+#line 4668 "gram.y" /* yacc.c:1646  */
     {
                                        AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
-                                       n->user = (yyvsp[(5) - (8)].node);
-                                       n->servername = (yyvsp[(7) - (8)].str);
-                                       n->options = (yyvsp[(8) - (8)].list);
+                                       n->user = (yyvsp[-3].node);
+                                       n->servername = (yyvsp[-1].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 28855 "gram.c" /* yacc.c:1646  */
     break;
 
   case 669:
-/* Line 1792 of yacc.c  */
-#line 4693 "gram.y"
+#line 4692 "gram.y" /* yacc.c:1646  */
     {
                                        CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
-                                       n->policy_name = (yyvsp[(3) - (9)].str);
-                                       n->table = (yyvsp[(5) - (9)].range);
-                                       n->cmd_name = (yyvsp[(6) - (9)].str);
-                                       n->roles = (yyvsp[(7) - (9)].list);
-                                       n->qual = (yyvsp[(8) - (9)].node);
-                                       n->with_check = (yyvsp[(9) - (9)].node);
+                                       n->policy_name = (yyvsp[-6].str);
+                                       n->table = (yyvsp[-4].range);
+                                       n->cmd_name = (yyvsp[-3].str);
+                                       n->roles = (yyvsp[-2].list);
+                                       n->qual = (yyvsp[-1].node);
+                                       n->with_check = (yyvsp[0].node);
                                        (yyval.node) = (Node *) n;
                                }
+#line 28870 "gram.c" /* yacc.c:1646  */
     break;
 
   case 670:
-/* Line 1792 of yacc.c  */
-#line 4708 "gram.y"
+#line 4707 "gram.y" /* yacc.c:1646  */
     {
                                        AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
-                                       n->policy_name = (yyvsp[(3) - (8)].str);
-                                       n->table = (yyvsp[(5) - (8)].range);
-                                       n->roles = (yyvsp[(6) - (8)].list);
-                                       n->qual = (yyvsp[(7) - (8)].node);
-                                       n->with_check = (yyvsp[(8) - (8)].node);
+                                       n->policy_name = (yyvsp[-5].str);
+                                       n->table = (yyvsp[-3].range);
+                                       n->roles = (yyvsp[-2].list);
+                                       n->qual = (yyvsp[-1].node);
+                                       n->with_check = (yyvsp[0].node);
                                        (yyval.node) = (Node *) n;
                                }
+#line 28884 "gram.c" /* yacc.c:1646  */
     break;
 
   case 671:
-/* Line 1792 of yacc.c  */
-#line 4721 "gram.y"
+#line 4720 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_POLICY;
-                                       n->objects = list_make1(lappend((yyvsp[(5) - (6)].list), makeString((yyvsp[(3) - (6)].str))));
+                                       n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28899 "gram.c" /* yacc.c:1646  */
     break;
 
   case 672:
-/* Line 1792 of yacc.c  */
-#line 4732 "gram.y"
+#line 4731 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_POLICY;
-                                       n->objects = list_make1(lappend((yyvsp[(7) - (8)].list), makeString((yyvsp[(5) - (8)].str))));
+                                       n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(8) - (8)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = true;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 28914 "gram.c" /* yacc.c:1646  */
     break;
 
   case 673:
-/* Line 1792 of yacc.c  */
-#line 4745 "gram.y"
-    { (yyval.node) = (yyvsp[(3) - (4)].node); }
+#line 4744 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[-1].node); }
+#line 28920 "gram.c" /* yacc.c:1646  */
     break;
 
   case 674:
-/* Line 1792 of yacc.c  */
-#line 4746 "gram.y"
+#line 4745 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 28926 "gram.c" /* yacc.c:1646  */
     break;
 
   case 675:
-/* Line 1792 of yacc.c  */
-#line 4750 "gram.y"
-    { (yyval.node) = (yyvsp[(4) - (5)].node); }
+#line 4749 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[-1].node); }
+#line 28932 "gram.c" /* yacc.c:1646  */
     break;
 
   case 676:
-/* Line 1792 of yacc.c  */
-#line 4751 "gram.y"
+#line 4750 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 28938 "gram.c" /* yacc.c:1646  */
     break;
 
   case 677:
-/* Line 1792 of yacc.c  */
-#line 4755 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 4754 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 28944 "gram.c" /* yacc.c:1646  */
     break;
 
   case 678:
-/* Line 1792 of yacc.c  */
-#line 4756 "gram.y"
+#line 4755 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
+#line 28950 "gram.c" /* yacc.c:1646  */
     break;
 
   case 679:
-/* Line 1792 of yacc.c  */
-#line 4760 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 4759 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 28956 "gram.c" /* yacc.c:1646  */
     break;
 
   case 680:
-/* Line 1792 of yacc.c  */
-#line 4761 "gram.y"
+#line 4760 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NULL; }
+#line 28962 "gram.c" /* yacc.c:1646  */
     break;
 
   case 681:
-/* Line 1792 of yacc.c  */
-#line 4765 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].str); }
+#line 4764 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 28968 "gram.c" /* yacc.c:1646  */
     break;
 
   case 682:
-/* Line 1792 of yacc.c  */
-#line 4766 "gram.y"
+#line 4765 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "all"; }
+#line 28974 "gram.c" /* yacc.c:1646  */
     break;
 
   case 683:
-/* Line 1792 of yacc.c  */
-#line 4770 "gram.y"
+#line 4769 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "all"; }
+#line 28980 "gram.c" /* yacc.c:1646  */
     break;
 
   case 684:
-/* Line 1792 of yacc.c  */
-#line 4771 "gram.y"
+#line 4770 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "select"; }
+#line 28986 "gram.c" /* yacc.c:1646  */
     break;
 
   case 685:
-/* Line 1792 of yacc.c  */
-#line 4772 "gram.y"
+#line 4771 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "insert"; }
+#line 28992 "gram.c" /* yacc.c:1646  */
     break;
 
   case 686:
-/* Line 1792 of yacc.c  */
-#line 4773 "gram.y"
+#line 4772 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "update"; }
+#line 28998 "gram.c" /* yacc.c:1646  */
     break;
 
   case 687:
-/* Line 1792 of yacc.c  */
-#line 4774 "gram.y"
+#line 4773 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "delete"; }
+#line 29004 "gram.c" /* yacc.c:1646  */
     break;
 
   case 688:
-/* Line 1792 of yacc.c  */
-#line 4785 "gram.y"
+#line 4784 "gram.y" /* yacc.c:1646  */
     {
                                        CreateAmStmt *n = makeNode(CreateAmStmt);
-                                       n->amname = (yyvsp[(4) - (8)].str);
-                                       n->handler_name = (yyvsp[(8) - (8)].list);
+                                       n->amname = (yyvsp[-4].str);
+                                       n->handler_name = (yyvsp[0].list);
                                        n->amtype = AMTYPE_INDEX;
                                        (yyval.node) = (Node *) n;
                                }
+#line 29016 "gram.c" /* yacc.c:1646  */
     break;
 
   case 689:
-/* Line 1792 of yacc.c  */
-#line 4806 "gram.y"
+#line 4805 "gram.y" /* yacc.c:1646  */
     {
                                        CreateTrigStmt *n = makeNode(CreateTrigStmt);
-                                       n->trigname = (yyvsp[(3) - (15)].str);
-                                       n->relation = (yyvsp[(7) - (15)].range);
-                                       n->funcname = (yyvsp[(12) - (15)].list);
-                                       n->args = (yyvsp[(14) - (15)].list);
-                                       n->row = (yyvsp[(8) - (15)].boolean);
-                                       n->timing = (yyvsp[(4) - (15)].ival);
-                                       n->events = intVal(linitial((yyvsp[(5) - (15)].list)));
-                                       n->columns = (List *) lsecond((yyvsp[(5) - (15)].list));
-                                       n->whenClause = (yyvsp[(9) - (15)].node);
+                                       n->trigname = (yyvsp[-12].str);
+                                       n->relation = (yyvsp[-8].range);
+                                       n->funcname = (yyvsp[-3].list);
+                                       n->args = (yyvsp[-1].list);
+                                       n->row = (yyvsp[-7].boolean);
+                                       n->timing = (yyvsp[-11].ival);
+                                       n->events = intVal(linitial((yyvsp[-10].list)));
+                                       n->columns = (List *) lsecond((yyvsp[-10].list));
+                                       n->whenClause = (yyvsp[-6].node);
                                        n->isconstraint  = FALSE;
                                        n->deferrable    = FALSE;
                                        n->initdeferred  = FALSE;
                                        n->constrrel = NULL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 29038 "gram.c" /* yacc.c:1646  */
     break;
 
   case 690:
-/* Line 1792 of yacc.c  */
-#line 4827 "gram.y"
+#line 4826 "gram.y" /* yacc.c:1646  */
     {
                                        CreateTrigStmt *n = makeNode(CreateTrigStmt);
-                                       n->trigname = (yyvsp[(4) - (20)].str);
-                                       n->relation = (yyvsp[(8) - (20)].range);
-                                       n->funcname = (yyvsp[(17) - (20)].list);
-                                       n->args = (yyvsp[(19) - (20)].list);
+                                       n->trigname = (yyvsp[-16].str);
+                                       n->relation = (yyvsp[-12].range);
+                                       n->funcname = (yyvsp[-3].list);
+                                       n->args = (yyvsp[-1].list);
                                        n->row = TRUE;
                                        n->timing = TRIGGER_TYPE_AFTER;
-                                       n->events = intVal(linitial((yyvsp[(6) - (20)].list)));
-                                       n->columns = (List *) lsecond((yyvsp[(6) - (20)].list));
-                                       n->whenClause = (yyvsp[(14) - (20)].node);
+                                       n->events = intVal(linitial((yyvsp[-14].list)));
+                                       n->columns = (List *) lsecond((yyvsp[-14].list));
+                                       n->whenClause = (yyvsp[-6].node);
                                        n->isconstraint  = TRUE;
-                                       processCASbits((yyvsp[(10) - (20)].ival), (yylsp[(10) - (20)]), "TRIGGER",
+                                       processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
                                                                   &n->deferrable, &n->initdeferred, NULL,
                                                                   NULL, yyscanner);
-                                       n->constrrel = (yyvsp[(9) - (20)].range);
+                                       n->constrrel = (yyvsp[-11].range);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29061 "gram.c" /* yacc.c:1646  */
     break;
 
   case 691:
-/* Line 1792 of yacc.c  */
-#line 4848 "gram.y"
+#line 4847 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
+#line 29067 "gram.c" /* yacc.c:1646  */
     break;
 
   case 692:
-/* Line 1792 of yacc.c  */
-#line 4849 "gram.y"
+#line 4848 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = TRIGGER_TYPE_AFTER; }
+#line 29073 "gram.c" /* yacc.c:1646  */
     break;
 
   case 693:
-/* Line 1792 of yacc.c  */
-#line 4850 "gram.y"
+#line 4849 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
+#line 29079 "gram.c" /* yacc.c:1646  */
     break;
 
   case 694:
-/* Line 1792 of yacc.c  */
-#line 4855 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 4854 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 29085 "gram.c" /* yacc.c:1646  */
     break;
 
   case 695:
-/* Line 1792 of yacc.c  */
-#line 4857 "gram.y"
+#line 4856 "gram.y" /* yacc.c:1646  */
     {
-                                       int             events1 = intVal(linitial((yyvsp[(1) - (3)].list)));
-                                       int             events2 = intVal(linitial((yyvsp[(3) - (3)].list)));
-                                       List   *columns1 = (List *) lsecond((yyvsp[(1) - (3)].list));
-                                       List   *columns2 = (List *) lsecond((yyvsp[(3) - (3)].list));
+                                       int             events1 = intVal(linitial((yyvsp[-2].list)));
+                                       int             events2 = intVal(linitial((yyvsp[0].list)));
+                                       List   *columns1 = (List *) lsecond((yyvsp[-2].list));
+                                       List   *columns2 = (List *) lsecond((yyvsp[0].list));
 
                                        if (events1 & events2)
                                                parser_yyerror("duplicate trigger events specified");
@@ -30418,49 +29104,49 @@ yyreduce:
                                        (yyval.list) = list_make2(makeInteger(events1 | events2),
                                                                        list_concat(columns1, columns2));
                                }
+#line 29108 "gram.c" /* yacc.c:1646  */
     break;
 
   case 696:
-/* Line 1792 of yacc.c  */
-#line 4879 "gram.y"
+#line 4878 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
+#line 29114 "gram.c" /* yacc.c:1646  */
     break;
 
   case 697:
-/* Line 1792 of yacc.c  */
-#line 4881 "gram.y"
+#line 4880 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
+#line 29120 "gram.c" /* yacc.c:1646  */
     break;
 
   case 698:
-/* Line 1792 of yacc.c  */
-#line 4883 "gram.y"
+#line 4882 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
+#line 29126 "gram.c" /* yacc.c:1646  */
     break;
 
   case 699:
-/* Line 1792 of yacc.c  */
-#line 4885 "gram.y"
-    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[(3) - (3)].list)); }
+#line 4884 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
+#line 29132 "gram.c" /* yacc.c:1646  */
     break;
 
   case 700:
-/* Line 1792 of yacc.c  */
-#line 4887 "gram.y"
+#line 4886 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
+#line 29138 "gram.c" /* yacc.c:1646  */
     break;
 
   case 701:
-/* Line 1792 of yacc.c  */
-#line 4892 "gram.y"
+#line 4891 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.boolean) = (yyvsp[(3) - (3)].boolean);
+                                       (yyval.boolean) = (yyvsp[0].boolean);
                                }
+#line 29146 "gram.c" /* yacc.c:1646  */
     break;
 
   case 702:
-/* Line 1792 of yacc.c  */
-#line 4896 "gram.y"
+#line 4895 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * If ROW/STATEMENT not specified, default to
@@ -30468,300 +29154,300 @@ yyreduce:
                                         */
                                        (yyval.boolean) = FALSE;
                                }
+#line 29158 "gram.c" /* yacc.c:1646  */
     break;
 
   case 703:
-/* Line 1792 of yacc.c  */
-#line 4906 "gram.y"
+#line 4905 "gram.y" /* yacc.c:1646  */
     {}
+#line 29164 "gram.c" /* yacc.c:1646  */
     break;
 
   case 704:
-/* Line 1792 of yacc.c  */
-#line 4907 "gram.y"
+#line 4906 "gram.y" /* yacc.c:1646  */
     {}
+#line 29170 "gram.c" /* yacc.c:1646  */
     break;
 
   case 705:
-/* Line 1792 of yacc.c  */
-#line 4911 "gram.y"
+#line 4910 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 29176 "gram.c" /* yacc.c:1646  */
     break;
 
   case 706:
-/* Line 1792 of yacc.c  */
-#line 4912 "gram.y"
+#line 4911 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 29182 "gram.c" /* yacc.c:1646  */
     break;
 
   case 707:
-/* Line 1792 of yacc.c  */
-#line 4916 "gram.y"
-    { (yyval.node) = (yyvsp[(3) - (4)].node); }
+#line 4915 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[-1].node); }
+#line 29188 "gram.c" /* yacc.c:1646  */
     break;
 
   case 708:
-/* Line 1792 of yacc.c  */
-#line 4917 "gram.y"
+#line 4916 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 29194 "gram.c" /* yacc.c:1646  */
     break;
 
   case 709:
-/* Line 1792 of yacc.c  */
-#line 4921 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); }
+#line 4920 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].value)); }
+#line 29200 "gram.c" /* yacc.c:1646  */
     break;
 
   case 710:
-/* Line 1792 of yacc.c  */
-#line 4922 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); }
+#line 4921 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
+#line 29206 "gram.c" /* yacc.c:1646  */
     break;
 
   case 711:
-/* Line 1792 of yacc.c  */
-#line 4923 "gram.y"
+#line 4922 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 29212 "gram.c" /* yacc.c:1646  */
     break;
 
   case 712:
-/* Line 1792 of yacc.c  */
-#line 4928 "gram.y"
+#line 4927 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.value) = makeString(psprintf("%d", (yyvsp[(1) - (1)].ival)));
+                                       (yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
                                }
+#line 29220 "gram.c" /* yacc.c:1646  */
     break;
 
   case 713:
-/* Line 1792 of yacc.c  */
-#line 4931 "gram.y"
-    { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); }
+#line 4930 "gram.y" /* yacc.c:1646  */
+    { (yyval.value) = makeString((yyvsp[0].str)); }
+#line 29226 "gram.c" /* yacc.c:1646  */
     break;
 
   case 714:
-/* Line 1792 of yacc.c  */
-#line 4932 "gram.y"
-    { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); }
+#line 4931 "gram.y" /* yacc.c:1646  */
+    { (yyval.value) = makeString((yyvsp[0].str)); }
+#line 29232 "gram.c" /* yacc.c:1646  */
     break;
 
   case 715:
-/* Line 1792 of yacc.c  */
-#line 4933 "gram.y"
-    { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); }
+#line 4932 "gram.y" /* yacc.c:1646  */
+    { (yyval.value) = makeString((yyvsp[0].str)); }
+#line 29238 "gram.c" /* yacc.c:1646  */
     break;
 
   case 716:
-/* Line 1792 of yacc.c  */
-#line 4937 "gram.y"
-    { (yyval.range) = (yyvsp[(2) - (2)].range); }
+#line 4936 "gram.y" /* yacc.c:1646  */
+    { (yyval.range) = (yyvsp[0].range); }
+#line 29244 "gram.c" /* yacc.c:1646  */
     break;
 
   case 717:
-/* Line 1792 of yacc.c  */
-#line 4938 "gram.y"
+#line 4937 "gram.y" /* yacc.c:1646  */
     { (yyval.range) = NULL; }
+#line 29250 "gram.c" /* yacc.c:1646  */
     break;
 
   case 718:
-/* Line 1792 of yacc.c  */
-#line 4943 "gram.y"
+#line 4942 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 29256 "gram.c" /* yacc.c:1646  */
     break;
 
   case 719:
-/* Line 1792 of yacc.c  */
-#line 4945 "gram.y"
+#line 4944 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * We must complain about conflicting options.
                                         * We could, but choose not to, complain about redundant
                                         * options (ie, where $2's bit is already set in $1).
                                         */
-                                       int             newspec = (yyvsp[(1) - (2)].ival) | (yyvsp[(2) - (2)].ival);
+                                       int             newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
 
                                        /* special message for this case */
                                        if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_SYNTAX_ERROR),
                                                                 errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
-                                                                parser_errposition((yylsp[(2) - (2)]))));
+                                                                parser_errposition((yylsp[0]))));
                                        /* generic message for other conflicts */
                                        if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
                                                (newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_SYNTAX_ERROR),
                                                                 errmsg("conflicting constraint properties"),
-                                                                parser_errposition((yylsp[(2) - (2)]))));
+                                                                parser_errposition((yylsp[0]))));
                                        (yyval.ival) = newspec;
                                }
+#line 29284 "gram.c" /* yacc.c:1646  */
     break;
 
   case 720:
-/* Line 1792 of yacc.c  */
-#line 4971 "gram.y"
+#line 4970 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CAS_NOT_DEFERRABLE; }
+#line 29290 "gram.c" /* yacc.c:1646  */
     break;
 
   case 721:
-/* Line 1792 of yacc.c  */
-#line 4972 "gram.y"
+#line 4971 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CAS_DEFERRABLE; }
+#line 29296 "gram.c" /* yacc.c:1646  */
     break;
 
   case 722:
-/* Line 1792 of yacc.c  */
-#line 4973 "gram.y"
+#line 4972 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
+#line 29302 "gram.c" /* yacc.c:1646  */
     break;
 
   case 723:
-/* Line 1792 of yacc.c  */
-#line 4974 "gram.y"
+#line 4973 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
+#line 29308 "gram.c" /* yacc.c:1646  */
     break;
 
   case 724:
-/* Line 1792 of yacc.c  */
-#line 4975 "gram.y"
+#line 4974 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CAS_NOT_VALID; }
+#line 29314 "gram.c" /* yacc.c:1646  */
     break;
 
   case 725:
-/* Line 1792 of yacc.c  */
-#line 4976 "gram.y"
+#line 4975 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CAS_NO_INHERIT; }
+#line 29320 "gram.c" /* yacc.c:1646  */
     break;
 
   case 726:
-/* Line 1792 of yacc.c  */
-#line 4982 "gram.y"
+#line 4981 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_TRIGGER;
-                                       n->objects = list_make1(lappend((yyvsp[(5) - (6)].list), makeString((yyvsp[(3) - (6)].str))));
+                                       n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 29335 "gram.c" /* yacc.c:1646  */
     break;
 
   case 727:
-/* Line 1792 of yacc.c  */
-#line 4993 "gram.y"
+#line 4992 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_TRIGGER;
-                                       n->objects = list_make1(lappend((yyvsp[(7) - (8)].list), makeString((yyvsp[(5) - (8)].str))));
+                                       n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(8) - (8)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = true;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 29350 "gram.c" /* yacc.c:1646  */
     break;
 
   case 728:
-/* Line 1792 of yacc.c  */
-#line 5017 "gram.y"
+#line 5016 "gram.y" /* yacc.c:1646  */
     {
                                        CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
-                                       n->trigname = (yyvsp[(4) - (11)].str);
-                                       n->eventname = (yyvsp[(6) - (11)].str);
+                                       n->trigname = (yyvsp[-7].str);
+                                       n->eventname = (yyvsp[-5].str);
                                        n->whenclause = NULL;
-                                       n->funcname = (yyvsp[(9) - (11)].list);
+                                       n->funcname = (yyvsp[-2].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29363 "gram.c" /* yacc.c:1646  */
     break;
 
   case 729:
-/* Line 1792 of yacc.c  */
-#line 5028 "gram.y"
+#line 5027 "gram.y" /* yacc.c:1646  */
     {
                                        CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
-                                       n->trigname = (yyvsp[(4) - (13)].str);
-                                       n->eventname = (yyvsp[(6) - (13)].str);
-                                       n->whenclause = (yyvsp[(8) - (13)].list);
-                                       n->funcname = (yyvsp[(11) - (13)].list);
+                                       n->trigname = (yyvsp[-9].str);
+                                       n->eventname = (yyvsp[-7].str);
+                                       n->whenclause = (yyvsp[-5].list);
+                                       n->funcname = (yyvsp[-2].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29376 "gram.c" /* yacc.c:1646  */
     break;
 
   case 730:
-/* Line 1792 of yacc.c  */
-#line 5040 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 5039 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 29382 "gram.c" /* yacc.c:1646  */
     break;
 
   case 731:
-/* Line 1792 of yacc.c  */
-#line 5042 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
+#line 5041 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 29388 "gram.c" /* yacc.c:1646  */
     break;
 
   case 732:
-/* Line 1792 of yacc.c  */
-#line 5047 "gram.y"
-    { (yyval.defelt) = makeDefElem((yyvsp[(1) - (5)].str), (Node *) (yyvsp[(4) - (5)].list)); }
+#line 5046 "gram.y" /* yacc.c:1646  */
+    { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list)); }
+#line 29394 "gram.c" /* yacc.c:1646  */
     break;
 
   case 733:
-/* Line 1792 of yacc.c  */
-#line 5052 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 5051 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 29400 "gram.c" /* yacc.c:1646  */
     break;
 
   case 734:
-/* Line 1792 of yacc.c  */
-#line 5054 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); }
+#line 5053 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
+#line 29406 "gram.c" /* yacc.c:1646  */
     break;
 
   case 735:
-/* Line 1792 of yacc.c  */
-#line 5059 "gram.y"
+#line 5058 "gram.y" /* yacc.c:1646  */
     {
                                        AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
-                                       n->trigname = (yyvsp[(4) - (5)].str);
-                                       n->tgenabled = (yyvsp[(5) - (5)].chr);
+                                       n->trigname = (yyvsp[-1].str);
+                                       n->tgenabled = (yyvsp[0].chr);
                                        (yyval.node) = (Node *) n;
                                }
+#line 29417 "gram.c" /* yacc.c:1646  */
     break;
 
   case 736:
-/* Line 1792 of yacc.c  */
-#line 5068 "gram.y"
+#line 5067 "gram.y" /* yacc.c:1646  */
     { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
+#line 29423 "gram.c" /* yacc.c:1646  */
     break;
 
   case 737:
-/* Line 1792 of yacc.c  */
-#line 5069 "gram.y"
+#line 5068 "gram.y" /* yacc.c:1646  */
     { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
+#line 29429 "gram.c" /* yacc.c:1646  */
     break;
 
   case 738:
-/* Line 1792 of yacc.c  */
-#line 5070 "gram.y"
+#line 5069 "gram.y" /* yacc.c:1646  */
     { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
+#line 29435 "gram.c" /* yacc.c:1646  */
     break;
 
   case 739:
-/* Line 1792 of yacc.c  */
-#line 5071 "gram.y"
+#line 5070 "gram.y" /* yacc.c:1646  */
     { (yyval.chr) = TRIGGER_DISABLED; }
+#line 29441 "gram.c" /* yacc.c:1646  */
     break;
 
   case 740:
-/* Line 1792 of yacc.c  */
-#line 5085 "gram.y"
+#line 5084 "gram.y" /* yacc.c:1646  */
     {
                                        CreateTrigStmt *n = makeNode(CreateTrigStmt);
-                                       n->trigname = (yyvsp[(3) - (8)].str);
-                                       n->args = list_make1((yyvsp[(6) - (8)].node));
+                                       n->trigname = (yyvsp[-5].str);
+                                       n->args = list_make1((yyvsp[-2].node));
                                        n->isconstraint  = TRUE;
-                                       processCASbits((yyvsp[(8) - (8)].ival), (yylsp[(8) - (8)]), "ASSERTION",
+                                       processCASbits((yyvsp[0].ival), (yylsp[0]), "ASSERTION",
                                                                   &n->deferrable, &n->initdeferred, NULL,
                                                                   NULL, yyscanner);
 
@@ -30771,515 +29457,515 @@ yyreduce:
 
                                        (yyval.node) = (Node *)n;
                                }
+#line 29461 "gram.c" /* yacc.c:1646  */
     break;
 
   case 741:
-/* Line 1792 of yacc.c  */
-#line 5104 "gram.y"
+#line 5103 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->objects = NIL;
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(4) - (4)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->removeType = OBJECT_TRIGGER; /* XXX */
                                        ereport(ERROR,
                                                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                         errmsg("DROP ASSERTION is not yet implemented")));
                                        (yyval.node) = (Node *) n;
                                }
+#line 29477 "gram.c" /* yacc.c:1646  */
     break;
 
   case 742:
-/* Line 1792 of yacc.c  */
-#line 5127 "gram.y"
+#line 5126 "gram.y" /* yacc.c:1646  */
     {
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_AGGREGATE;
                                        n->oldstyle = false;
-                                       n->defnames = (yyvsp[(3) - (5)].list);
-                                       n->args = (yyvsp[(4) - (5)].list);
-                                       n->definition = (yyvsp[(5) - (5)].list);
+                                       n->defnames = (yyvsp[-2].list);
+                                       n->args = (yyvsp[-1].list);
+                                       n->definition = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29491 "gram.c" /* yacc.c:1646  */
     break;
 
   case 743:
-/* Line 1792 of yacc.c  */
-#line 5137 "gram.y"
+#line 5136 "gram.y" /* yacc.c:1646  */
     {
                                        /* old-style (pre-8.2) syntax for CREATE AGGREGATE */
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_AGGREGATE;
                                        n->oldstyle = true;
-                                       n->defnames = (yyvsp[(3) - (4)].list);
+                                       n->defnames = (yyvsp[-1].list);
                                        n->args = NIL;
-                                       n->definition = (yyvsp[(4) - (4)].list);
+                                       n->definition = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29506 "gram.c" /* yacc.c:1646  */
     break;
 
   case 744:
-/* Line 1792 of yacc.c  */
-#line 5148 "gram.y"
+#line 5147 "gram.y" /* yacc.c:1646  */
     {
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_OPERATOR;
                                        n->oldstyle = false;
-                                       n->defnames = (yyvsp[(3) - (4)].list);
+                                       n->defnames = (yyvsp[-1].list);
                                        n->args = NIL;
-                                       n->definition = (yyvsp[(4) - (4)].list);
+                                       n->definition = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29520 "gram.c" /* yacc.c:1646  */
     break;
 
   case 745:
-/* Line 1792 of yacc.c  */
-#line 5158 "gram.y"
+#line 5157 "gram.y" /* yacc.c:1646  */
     {
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_TYPE;
                                        n->oldstyle = false;
-                                       n->defnames = (yyvsp[(3) - (4)].list);
+                                       n->defnames = (yyvsp[-1].list);
                                        n->args = NIL;
-                                       n->definition = (yyvsp[(4) - (4)].list);
+                                       n->definition = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29534 "gram.c" /* yacc.c:1646  */
     break;
 
   case 746:
-/* Line 1792 of yacc.c  */
-#line 5168 "gram.y"
+#line 5167 "gram.y" /* yacc.c:1646  */
     {
                                        /* Shell type (identified by lack of definition) */
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_TYPE;
                                        n->oldstyle = false;
-                                       n->defnames = (yyvsp[(3) - (3)].list);
+                                       n->defnames = (yyvsp[0].list);
                                        n->args = NIL;
                                        n->definition = NIL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 29549 "gram.c" /* yacc.c:1646  */
     break;
 
   case 747:
-/* Line 1792 of yacc.c  */
-#line 5179 "gram.y"
+#line 5178 "gram.y" /* yacc.c:1646  */
     {
                                        CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
 
                                        /* can't use qualified_name, sigh */
-                                       n->typevar = makeRangeVarFromAnyName((yyvsp[(3) - (7)].list), (yylsp[(3) - (7)]), yyscanner);
-                                       n->coldeflist = (yyvsp[(6) - (7)].list);
+                                       n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
+                                       n->coldeflist = (yyvsp[-1].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29562 "gram.c" /* yacc.c:1646  */
     break;
 
   case 748:
-/* Line 1792 of yacc.c  */
-#line 5188 "gram.y"
+#line 5187 "gram.y" /* yacc.c:1646  */
     {
                                        CreateEnumStmt *n = makeNode(CreateEnumStmt);
-                                       n->typeName = (yyvsp[(3) - (8)].list);
-                                       n->vals = (yyvsp[(7) - (8)].list);
+                                       n->typeName = (yyvsp[-5].list);
+                                       n->vals = (yyvsp[-1].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29573 "gram.c" /* yacc.c:1646  */
     break;
 
   case 749:
-/* Line 1792 of yacc.c  */
-#line 5195 "gram.y"
+#line 5194 "gram.y" /* yacc.c:1646  */
     {
                                        CreateRangeStmt *n = makeNode(CreateRangeStmt);
-                                       n->typeName = (yyvsp[(3) - (6)].list);
-                                       n->params       = (yyvsp[(6) - (6)].list);
+                                       n->typeName = (yyvsp[-3].list);
+                                       n->params       = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29584 "gram.c" /* yacc.c:1646  */
     break;
 
   case 750:
-/* Line 1792 of yacc.c  */
-#line 5202 "gram.y"
+#line 5201 "gram.y" /* yacc.c:1646  */
     {
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_TSPARSER;
                                        n->args = NIL;
-                                       n->defnames = (yyvsp[(5) - (6)].list);
-                                       n->definition = (yyvsp[(6) - (6)].list);
+                                       n->defnames = (yyvsp[-1].list);
+                                       n->definition = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29597 "gram.c" /* yacc.c:1646  */
     break;
 
   case 751:
-/* Line 1792 of yacc.c  */
-#line 5211 "gram.y"
+#line 5210 "gram.y" /* yacc.c:1646  */
     {
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_TSDICTIONARY;
                                        n->args = NIL;
-                                       n->defnames = (yyvsp[(5) - (6)].list);
-                                       n->definition = (yyvsp[(6) - (6)].list);
+                                       n->defnames = (yyvsp[-1].list);
+                                       n->definition = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29610 "gram.c" /* yacc.c:1646  */
     break;
 
   case 752:
-/* Line 1792 of yacc.c  */
-#line 5220 "gram.y"
+#line 5219 "gram.y" /* yacc.c:1646  */
     {
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_TSTEMPLATE;
                                        n->args = NIL;
-                                       n->defnames = (yyvsp[(5) - (6)].list);
-                                       n->definition = (yyvsp[(6) - (6)].list);
+                                       n->defnames = (yyvsp[-1].list);
+                                       n->definition = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29623 "gram.c" /* yacc.c:1646  */
     break;
 
   case 753:
-/* Line 1792 of yacc.c  */
-#line 5229 "gram.y"
+#line 5228 "gram.y" /* yacc.c:1646  */
     {
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_TSCONFIGURATION;
                                        n->args = NIL;
-                                       n->defnames = (yyvsp[(5) - (6)].list);
-                                       n->definition = (yyvsp[(6) - (6)].list);
+                                       n->defnames = (yyvsp[-1].list);
+                                       n->definition = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29636 "gram.c" /* yacc.c:1646  */
     break;
 
   case 754:
-/* Line 1792 of yacc.c  */
-#line 5238 "gram.y"
+#line 5237 "gram.y" /* yacc.c:1646  */
     {
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_COLLATION;
                                        n->args = NIL;
-                                       n->defnames = (yyvsp[(3) - (4)].list);
-                                       n->definition = (yyvsp[(4) - (4)].list);
+                                       n->defnames = (yyvsp[-1].list);
+                                       n->definition = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 29649 "gram.c" /* yacc.c:1646  */
     break;
 
   case 755:
-/* Line 1792 of yacc.c  */
-#line 5247 "gram.y"
+#line 5246 "gram.y" /* yacc.c:1646  */
     {
                                        DefineStmt *n = makeNode(DefineStmt);
                                        n->kind = OBJECT_COLLATION;
                                        n->args = NIL;
-                                       n->defnames = (yyvsp[(3) - (5)].list);
-                                       n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[(5) - (5)].list)));
+                                       n->defnames = (yyvsp[-2].list);
+                                       n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list)));
                                        (yyval.node) = (Node *)n;
                                }
+#line 29662 "gram.c" /* yacc.c:1646  */
     break;
 
   case 756:
-/* Line 1792 of yacc.c  */
-#line 5257 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 5256 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 29668 "gram.c" /* yacc.c:1646  */
     break;
 
   case 757:
-/* Line 1792 of yacc.c  */
-#line 5260 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 5259 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 29674 "gram.c" /* yacc.c:1646  */
     break;
 
   case 758:
-/* Line 1792 of yacc.c  */
-#line 5261 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
+#line 5260 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 29680 "gram.c" /* yacc.c:1646  */
     break;
 
   case 759:
-/* Line 1792 of yacc.c  */
-#line 5265 "gram.y"
+#line 5264 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node));
+                                       (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node));
                                }
+#line 29688 "gram.c" /* yacc.c:1646  */
     break;
 
   case 760:
-/* Line 1792 of yacc.c  */
-#line 5269 "gram.y"
+#line 5268 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL);
+                                       (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL);
                                }
+#line 29696 "gram.c" /* yacc.c:1646  */
     break;
 
   case 761:
-/* Line 1792 of yacc.c  */
-#line 5275 "gram.y"
-    { (yyval.node) = (Node *)(yyvsp[(1) - (1)].typnam); }
+#line 5274 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *)(yyvsp[0].typnam); }
+#line 29702 "gram.c" /* yacc.c:1646  */
     break;
 
   case 762:
-/* Line 1792 of yacc.c  */
-#line 5276 "gram.y"
-    { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[(1) - (1)].keyword))); }
+#line 5275 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
+#line 29708 "gram.c" /* yacc.c:1646  */
     break;
 
   case 763:
-/* Line 1792 of yacc.c  */
-#line 5277 "gram.y"
-    { (yyval.node) = (Node *)(yyvsp[(1) - (1)].list); }
+#line 5276 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *)(yyvsp[0].list); }
+#line 29714 "gram.c" /* yacc.c:1646  */
     break;
 
   case 764:
-/* Line 1792 of yacc.c  */
-#line 5278 "gram.y"
-    { (yyval.node) = (Node *)(yyvsp[(1) - (1)].value); }
+#line 5277 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *)(yyvsp[0].value); }
+#line 29720 "gram.c" /* yacc.c:1646  */
     break;
 
   case 765:
-/* Line 1792 of yacc.c  */
-#line 5279 "gram.y"
-    { (yyval.node) = (Node *)makeString((yyvsp[(1) - (1)].str)); }
+#line 5278 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
+#line 29726 "gram.c" /* yacc.c:1646  */
     break;
 
   case 766:
-/* Line 1792 of yacc.c  */
-#line 5282 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 5281 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 29732 "gram.c" /* yacc.c:1646  */
     break;
 
   case 767:
-/* Line 1792 of yacc.c  */
-#line 5285 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 5284 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 29738 "gram.c" /* yacc.c:1646  */
     break;
 
   case 768:
-/* Line 1792 of yacc.c  */
-#line 5286 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
+#line 5285 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 29744 "gram.c" /* yacc.c:1646  */
     break;
 
   case 769:
-/* Line 1792 of yacc.c  */
-#line 5295 "gram.y"
+#line 5294 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)(yyvsp[(3) - (3)].node));
+                                       (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node));
                                }
+#line 29752 "gram.c" /* yacc.c:1646  */
     break;
 
   case 770:
-/* Line 1792 of yacc.c  */
-#line 5301 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 5300 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 29758 "gram.c" /* yacc.c:1646  */
     break;
 
   case 771:
-/* Line 1792 of yacc.c  */
-#line 5302 "gram.y"
+#line 5301 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 29764 "gram.c" /* yacc.c:1646  */
     break;
 
   case 772:
-/* Line 1792 of yacc.c  */
-#line 5306 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 5305 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 29770 "gram.c" /* yacc.c:1646  */
     break;
 
   case 773:
-/* Line 1792 of yacc.c  */
-#line 5308 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); }
+#line 5307 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
+#line 29776 "gram.c" /* yacc.c:1646  */
     break;
 
   case 774:
-/* Line 1792 of yacc.c  */
-#line 5319 "gram.y"
+#line 5318 "gram.y" /* yacc.c:1646  */
     {
                                AlterEnumStmt *n = makeNode(AlterEnumStmt);
-                               n->typeName = (yyvsp[(3) - (7)].list);
-                               n->newVal = (yyvsp[(7) - (7)].str);
+                               n->typeName = (yyvsp[-4].list);
+                               n->newVal = (yyvsp[0].str);
                                n->newValNeighbor = NULL;
                                n->newValIsAfter = true;
-                               n->skipIfExists = (yyvsp[(6) - (7)].boolean);
+                               n->skipIfExists = (yyvsp[-1].boolean);
                                (yyval.node) = (Node *) n;
                        }
+#line 29790 "gram.c" /* yacc.c:1646  */
     break;
 
   case 775:
-/* Line 1792 of yacc.c  */
-#line 5329 "gram.y"
+#line 5328 "gram.y" /* yacc.c:1646  */
     {
                                AlterEnumStmt *n = makeNode(AlterEnumStmt);
-                               n->typeName = (yyvsp[(3) - (9)].list);
-                               n->newVal = (yyvsp[(7) - (9)].str);
-                               n->newValNeighbor = (yyvsp[(9) - (9)].str);
+                               n->typeName = (yyvsp[-6].list);
+                               n->newVal = (yyvsp[-2].str);
+                               n->newValNeighbor = (yyvsp[0].str);
                                n->newValIsAfter = false;
-                               n->skipIfExists = (yyvsp[(6) - (9)].boolean);
+                               n->skipIfExists = (yyvsp[-3].boolean);
                                (yyval.node) = (Node *) n;
                        }
+#line 29804 "gram.c" /* yacc.c:1646  */
     break;
 
   case 776:
-/* Line 1792 of yacc.c  */
-#line 5339 "gram.y"
+#line 5338 "gram.y" /* yacc.c:1646  */
     {
                                AlterEnumStmt *n = makeNode(AlterEnumStmt);
-                               n->typeName = (yyvsp[(3) - (9)].list);
-                               n->newVal = (yyvsp[(7) - (9)].str);
-                               n->newValNeighbor = (yyvsp[(9) - (9)].str);
+                               n->typeName = (yyvsp[-6].list);
+                               n->newVal = (yyvsp[-2].str);
+                               n->newValNeighbor = (yyvsp[0].str);
                                n->newValIsAfter = true;
-                               n->skipIfExists = (yyvsp[(6) - (9)].boolean);
+                               n->skipIfExists = (yyvsp[-3].boolean);
                                (yyval.node) = (Node *) n;
                        }
+#line 29818 "gram.c" /* yacc.c:1646  */
     break;
 
   case 777:
-/* Line 1792 of yacc.c  */
-#line 5350 "gram.y"
+#line 5349 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = true; }
+#line 29824 "gram.c" /* yacc.c:1646  */
     break;
 
   case 778:
-/* Line 1792 of yacc.c  */
-#line 5351 "gram.y"
+#line 5350 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = false; }
+#line 29830 "gram.c" /* yacc.c:1646  */
     break;
 
   case 779:
-/* Line 1792 of yacc.c  */
-#line 5369 "gram.y"
+#line 5368 "gram.y" /* yacc.c:1646  */
     {
                                        CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
-                                       n->opclassname = (yyvsp[(4) - (13)].list);
-                                       n->isDefault = (yyvsp[(5) - (13)].boolean);
-                                       n->datatype = (yyvsp[(8) - (13)].typnam);
-                                       n->amname = (yyvsp[(10) - (13)].str);
-                                       n->opfamilyname = (yyvsp[(11) - (13)].list);
-                                       n->items = (yyvsp[(13) - (13)].list);
+                                       n->opclassname = (yyvsp[-9].list);
+                                       n->isDefault = (yyvsp[-8].boolean);
+                                       n->datatype = (yyvsp[-5].typnam);
+                                       n->amname = (yyvsp[-3].str);
+                                       n->opfamilyname = (yyvsp[-2].list);
+                                       n->items = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 29845 "gram.c" /* yacc.c:1646  */
     break;
 
   case 780:
-/* Line 1792 of yacc.c  */
-#line 5382 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 5381 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 29851 "gram.c" /* yacc.c:1646  */
     break;
 
   case 781:
-/* Line 1792 of yacc.c  */
-#line 5383 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 5382 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 29857 "gram.c" /* yacc.c:1646  */
     break;
 
   case 782:
-/* Line 1792 of yacc.c  */
-#line 5388 "gram.y"
+#line 5387 "gram.y" /* yacc.c:1646  */
     {
                                        CreateOpClassItem *n = makeNode(CreateOpClassItem);
                                        n->itemtype = OPCLASS_ITEM_OPERATOR;
-                                       n->name = (yyvsp[(3) - (5)].list);
+                                       n->name = (yyvsp[-2].list);
                                        n->args = NIL;
-                                       n->number = (yyvsp[(2) - (5)].ival);
-                                       n->order_family = (yyvsp[(4) - (5)].list);
+                                       n->number = (yyvsp[-3].ival);
+                                       n->order_family = (yyvsp[-1].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 29871 "gram.c" /* yacc.c:1646  */
     break;
 
   case 783:
-/* Line 1792 of yacc.c  */
-#line 5399 "gram.y"
+#line 5398 "gram.y" /* yacc.c:1646  */
     {
                                        CreateOpClassItem *n = makeNode(CreateOpClassItem);
                                        n->itemtype = OPCLASS_ITEM_OPERATOR;
-                                       n->name = (yyvsp[(3) - (6)].list);
-                                       n->args = (yyvsp[(4) - (6)].list);
-                                       n->number = (yyvsp[(2) - (6)].ival);
-                                       n->order_family = (yyvsp[(5) - (6)].list);
+                                       n->name = (yyvsp[-3].list);
+                                       n->args = (yyvsp[-2].list);
+                                       n->number = (yyvsp[-4].ival);
+                                       n->order_family = (yyvsp[-1].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 29885 "gram.c" /* yacc.c:1646  */
     break;
 
   case 784:
-/* Line 1792 of yacc.c  */
-#line 5409 "gram.y"
+#line 5408 "gram.y" /* yacc.c:1646  */
     {
                                        CreateOpClassItem *n = makeNode(CreateOpClassItem);
                                        n->itemtype = OPCLASS_ITEM_FUNCTION;
-                                       n->name = (yyvsp[(3) - (4)].list);
-                                       n->args = extractArgTypes((yyvsp[(4) - (4)].list));
-                                       n->number = (yyvsp[(2) - (4)].ival);
+                                       n->name = (yyvsp[-1].list);
+                                       n->args = extractArgTypes((yyvsp[0].list));
+                                       n->number = (yyvsp[-2].ival);
                                        (yyval.node) = (Node *) n;
                                }
+#line 29898 "gram.c" /* yacc.c:1646  */
     break;
 
   case 785:
-/* Line 1792 of yacc.c  */
-#line 5418 "gram.y"
+#line 5417 "gram.y" /* yacc.c:1646  */
     {
                                        CreateOpClassItem *n = makeNode(CreateOpClassItem);
                                        n->itemtype = OPCLASS_ITEM_FUNCTION;
-                                       n->name = (yyvsp[(6) - (7)].list);
-                                       n->args = extractArgTypes((yyvsp[(7) - (7)].list));
-                                       n->number = (yyvsp[(2) - (7)].ival);
-                                       n->class_args = (yyvsp[(4) - (7)].list);
+                                       n->name = (yyvsp[-1].list);
+                                       n->args = extractArgTypes((yyvsp[0].list));
+                                       n->number = (yyvsp[-5].ival);
+                                       n->class_args = (yyvsp[-3].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 29912 "gram.c" /* yacc.c:1646  */
     break;
 
   case 786:
-/* Line 1792 of yacc.c  */
-#line 5428 "gram.y"
+#line 5427 "gram.y" /* yacc.c:1646  */
     {
                                        CreateOpClassItem *n = makeNode(CreateOpClassItem);
                                        n->itemtype = OPCLASS_ITEM_STORAGETYPE;
-                                       n->storedtype = (yyvsp[(2) - (2)].typnam);
+                                       n->storedtype = (yyvsp[0].typnam);
                                        (yyval.node) = (Node *) n;
                                }
+#line 29923 "gram.c" /* yacc.c:1646  */
     break;
 
   case 787:
-/* Line 1792 of yacc.c  */
-#line 5436 "gram.y"
+#line 5435 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 29929 "gram.c" /* yacc.c:1646  */
     break;
 
   case 788:
-/* Line 1792 of yacc.c  */
-#line 5437 "gram.y"
+#line 5436 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 29935 "gram.c" /* yacc.c:1646  */
     break;
 
   case 789:
-/* Line 1792 of yacc.c  */
-#line 5440 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 5439 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 29941 "gram.c" /* yacc.c:1646  */
     break;
 
   case 790:
-/* Line 1792 of yacc.c  */
-#line 5441 "gram.y"
+#line 5440 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 29947 "gram.c" /* yacc.c:1646  */
     break;
 
   case 791:
-/* Line 1792 of yacc.c  */
-#line 5444 "gram.y"
+#line 5443 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 29953 "gram.c" /* yacc.c:1646  */
     break;
 
   case 792:
-/* Line 1792 of yacc.c  */
-#line 5445 "gram.y"
-    { (yyval.list) = (yyvsp[(4) - (4)].list); }
+#line 5444 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 29959 "gram.c" /* yacc.c:1646  */
     break;
 
   case 793:
-/* Line 1792 of yacc.c  */
-#line 5446 "gram.y"
+#line 5445 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 29965 "gram.c" /* yacc.c:1646  */
     break;
 
   case 794:
-/* Line 1792 of yacc.c  */
-#line 5450 "gram.y"
+#line 5449 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * RECHECK no longer does anything in opclass definitions,
@@ -31290,552 +29976,552 @@ yyreduce:
                                                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                         errmsg("RECHECK is no longer required"),
                                                         errhint("Update your data type."),
-                                                        parser_errposition((yylsp[(1) - (1)]))));
+                                                        parser_errposition((yylsp[0]))));
                                        (yyval.boolean) = TRUE;
                                }
+#line 29983 "gram.c" /* yacc.c:1646  */
     break;
 
   case 795:
-/* Line 1792 of yacc.c  */
-#line 5463 "gram.y"
+#line 5462 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 29989 "gram.c" /* yacc.c:1646  */
     break;
 
   case 796:
-/* Line 1792 of yacc.c  */
-#line 5469 "gram.y"
+#line 5468 "gram.y" /* yacc.c:1646  */
     {
                                        CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
-                                       n->opfamilyname = (yyvsp[(4) - (6)].list);
-                                       n->amname = (yyvsp[(6) - (6)].str);
+                                       n->opfamilyname = (yyvsp[-2].list);
+                                       n->amname = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30000 "gram.c" /* yacc.c:1646  */
     break;
 
   case 797:
-/* Line 1792 of yacc.c  */
-#line 5479 "gram.y"
+#line 5478 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
-                                       n->opfamilyname = (yyvsp[(4) - (8)].list);
-                                       n->amname = (yyvsp[(6) - (8)].str);
+                                       n->opfamilyname = (yyvsp[-4].list);
+                                       n->amname = (yyvsp[-2].str);
                                        n->isDrop = false;
-                                       n->items = (yyvsp[(8) - (8)].list);
+                                       n->items = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30013 "gram.c" /* yacc.c:1646  */
     break;
 
   case 798:
-/* Line 1792 of yacc.c  */
-#line 5488 "gram.y"
+#line 5487 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
-                                       n->opfamilyname = (yyvsp[(4) - (8)].list);
-                                       n->amname = (yyvsp[(6) - (8)].str);
+                                       n->opfamilyname = (yyvsp[-4].list);
+                                       n->amname = (yyvsp[-2].str);
                                        n->isDrop = true;
-                                       n->items = (yyvsp[(8) - (8)].list);
+                                       n->items = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30026 "gram.c" /* yacc.c:1646  */
     break;
 
   case 799:
-/* Line 1792 of yacc.c  */
-#line 5499 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 5498 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 30032 "gram.c" /* yacc.c:1646  */
     break;
 
   case 800:
-/* Line 1792 of yacc.c  */
-#line 5500 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 5499 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 30038 "gram.c" /* yacc.c:1646  */
     break;
 
   case 801:
-/* Line 1792 of yacc.c  */
-#line 5505 "gram.y"
+#line 5504 "gram.y" /* yacc.c:1646  */
     {
                                        CreateOpClassItem *n = makeNode(CreateOpClassItem);
                                        n->itemtype = OPCLASS_ITEM_OPERATOR;
-                                       n->number = (yyvsp[(2) - (5)].ival);
-                                       n->args = (yyvsp[(4) - (5)].list);
+                                       n->number = (yyvsp[-3].ival);
+                                       n->args = (yyvsp[-1].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30050 "gram.c" /* yacc.c:1646  */
     break;
 
   case 802:
-/* Line 1792 of yacc.c  */
-#line 5513 "gram.y"
+#line 5512 "gram.y" /* yacc.c:1646  */
     {
                                        CreateOpClassItem *n = makeNode(CreateOpClassItem);
                                        n->itemtype = OPCLASS_ITEM_FUNCTION;
-                                       n->number = (yyvsp[(2) - (5)].ival);
-                                       n->args = (yyvsp[(4) - (5)].list);
+                                       n->number = (yyvsp[-3].ival);
+                                       n->args = (yyvsp[-1].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30062 "gram.c" /* yacc.c:1646  */
     break;
 
   case 803:
-/* Line 1792 of yacc.c  */
-#line 5525 "gram.y"
+#line 5524 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
-                                       n->objects = list_make1(lcons(makeString((yyvsp[(6) - (7)].str)), (yyvsp[(4) - (7)].list)));
+                                       n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
                                        n->removeType = OBJECT_OPCLASS;
-                                       n->behavior = (yyvsp[(7) - (7)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 30076 "gram.c" /* yacc.c:1646  */
     break;
 
   case 804:
-/* Line 1792 of yacc.c  */
-#line 5535 "gram.y"
+#line 5534 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
-                                       n->objects = list_make1(lcons(makeString((yyvsp[(8) - (9)].str)), (yyvsp[(6) - (9)].list)));
+                                       n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
                                        n->removeType = OBJECT_OPCLASS;
-                                       n->behavior = (yyvsp[(9) - (9)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = true;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 30090 "gram.c" /* yacc.c:1646  */
     break;
 
   case 805:
-/* Line 1792 of yacc.c  */
-#line 5548 "gram.y"
+#line 5547 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
-                                       n->objects = list_make1(lcons(makeString((yyvsp[(6) - (7)].str)), (yyvsp[(4) - (7)].list)));
+                                       n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
                                        n->removeType = OBJECT_OPFAMILY;
-                                       n->behavior = (yyvsp[(7) - (7)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 30104 "gram.c" /* yacc.c:1646  */
     break;
 
   case 806:
-/* Line 1792 of yacc.c  */
-#line 5558 "gram.y"
+#line 5557 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
-                                       n->objects = list_make1(lcons(makeString((yyvsp[(8) - (9)].str)), (yyvsp[(6) - (9)].list)));
+                                       n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
                                        n->removeType = OBJECT_OPFAMILY;
-                                       n->behavior = (yyvsp[(9) - (9)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = true;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 30118 "gram.c" /* yacc.c:1646  */
     break;
 
   case 807:
-/* Line 1792 of yacc.c  */
-#line 5580 "gram.y"
+#line 5579 "gram.y" /* yacc.c:1646  */
     {
                                        DropOwnedStmt *n = makeNode(DropOwnedStmt);
-                                       n->roles = (yyvsp[(4) - (5)].list);
-                                       n->behavior = (yyvsp[(5) - (5)].dbehavior);
+                                       n->roles = (yyvsp[-1].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        (yyval.node) = (Node *)n;
                                }
+#line 30129 "gram.c" /* yacc.c:1646  */
     break;
 
   case 808:
-/* Line 1792 of yacc.c  */
-#line 5590 "gram.y"
+#line 5589 "gram.y" /* yacc.c:1646  */
     {
                                        ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
-                                       n->roles = (yyvsp[(4) - (6)].list);
-                                       n->newrole = (yyvsp[(6) - (6)].node);
+                                       n->roles = (yyvsp[-2].list);
+                                       n->newrole = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 30140 "gram.c" /* yacc.c:1646  */
     break;
 
   case 809:
-/* Line 1792 of yacc.c  */
-#line 5608 "gram.y"
+#line 5607 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
-                                       n->removeType = (yyvsp[(2) - (6)].objtype);
+                                       n->removeType = (yyvsp[-4].objtype);
                                        n->missing_ok = TRUE;
-                                       n->objects = (yyvsp[(5) - (6)].list);
+                                       n->objects = (yyvsp[-1].list);
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 30155 "gram.c" /* yacc.c:1646  */
     break;
 
   case 810:
-/* Line 1792 of yacc.c  */
-#line 5619 "gram.y"
+#line 5618 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
-                                       n->removeType = (yyvsp[(2) - (4)].objtype);
+                                       n->removeType = (yyvsp[-2].objtype);
                                        n->missing_ok = FALSE;
-                                       n->objects = (yyvsp[(3) - (4)].list);
+                                       n->objects = (yyvsp[-1].list);
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(4) - (4)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 30170 "gram.c" /* yacc.c:1646  */
     break;
 
   case 811:
-/* Line 1792 of yacc.c  */
-#line 5630 "gram.y"
+#line 5629 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_TYPE;
                                        n->missing_ok = FALSE;
-                                       n->objects = (yyvsp[(3) - (4)].list);
-                                       n->behavior = (yyvsp[(4) - (4)].dbehavior);
+                                       n->objects = (yyvsp[-1].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 30184 "gram.c" /* yacc.c:1646  */
     break;
 
   case 812:
-/* Line 1792 of yacc.c  */
-#line 5640 "gram.y"
+#line 5639 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_TYPE;
                                        n->missing_ok = TRUE;
-                                       n->objects = (yyvsp[(5) - (6)].list);
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->objects = (yyvsp[-1].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 30198 "gram.c" /* yacc.c:1646  */
     break;
 
   case 813:
-/* Line 1792 of yacc.c  */
-#line 5650 "gram.y"
+#line 5649 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_DOMAIN;
                                        n->missing_ok = FALSE;
-                                       n->objects = (yyvsp[(3) - (4)].list);
-                                       n->behavior = (yyvsp[(4) - (4)].dbehavior);
+                                       n->objects = (yyvsp[-1].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 30212 "gram.c" /* yacc.c:1646  */
     break;
 
   case 814:
-/* Line 1792 of yacc.c  */
-#line 5660 "gram.y"
+#line 5659 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_DOMAIN;
                                        n->missing_ok = TRUE;
-                                       n->objects = (yyvsp[(5) - (6)].list);
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->objects = (yyvsp[-1].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 30226 "gram.c" /* yacc.c:1646  */
     break;
 
   case 815:
-/* Line 1792 of yacc.c  */
-#line 5670 "gram.y"
+#line 5669 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_INDEX;
                                        n->missing_ok = FALSE;
-                                       n->objects = (yyvsp[(4) - (5)].list);
+                                       n->objects = (yyvsp[-1].list);
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(5) - (5)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 30241 "gram.c" /* yacc.c:1646  */
     break;
 
   case 816:
-/* Line 1792 of yacc.c  */
-#line 5681 "gram.y"
+#line 5680 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_INDEX;
                                        n->missing_ok = TRUE;
-                                       n->objects = (yyvsp[(6) - (7)].list);
+                                       n->objects = (yyvsp[-1].list);
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(7) - (7)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->concurrent = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 30256 "gram.c" /* yacc.c:1646  */
     break;
 
   case 817:
-/* Line 1792 of yacc.c  */
-#line 5694 "gram.y"
+#line 5693 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TABLE; }
+#line 30262 "gram.c" /* yacc.c:1646  */
     break;
 
   case 818:
-/* Line 1792 of yacc.c  */
-#line 5695 "gram.y"
+#line 5694 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_SEQUENCE; }
+#line 30268 "gram.c" /* yacc.c:1646  */
     break;
 
   case 819:
-/* Line 1792 of yacc.c  */
-#line 5696 "gram.y"
+#line 5695 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_VIEW; }
+#line 30274 "gram.c" /* yacc.c:1646  */
     break;
 
   case 820:
-/* Line 1792 of yacc.c  */
-#line 5697 "gram.y"
+#line 5696 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_MATVIEW; }
+#line 30280 "gram.c" /* yacc.c:1646  */
     break;
 
   case 821:
-/* Line 1792 of yacc.c  */
-#line 5698 "gram.y"
+#line 5697 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_INDEX; }
+#line 30286 "gram.c" /* yacc.c:1646  */
     break;
 
   case 822:
-/* Line 1792 of yacc.c  */
-#line 5699 "gram.y"
+#line 5698 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
+#line 30292 "gram.c" /* yacc.c:1646  */
     break;
 
   case 823:
-/* Line 1792 of yacc.c  */
-#line 5700 "gram.y"
+#line 5699 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
+#line 30298 "gram.c" /* yacc.c:1646  */
     break;
 
   case 824:
-/* Line 1792 of yacc.c  */
-#line 5701 "gram.y"
+#line 5700 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
+#line 30304 "gram.c" /* yacc.c:1646  */
     break;
 
   case 825:
-/* Line 1792 of yacc.c  */
-#line 5702 "gram.y"
+#line 5701 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_COLLATION; }
+#line 30310 "gram.c" /* yacc.c:1646  */
     break;
 
   case 826:
-/* Line 1792 of yacc.c  */
-#line 5703 "gram.y"
+#line 5702 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_CONVERSION; }
+#line 30316 "gram.c" /* yacc.c:1646  */
     break;
 
   case 827:
-/* Line 1792 of yacc.c  */
-#line 5704 "gram.y"
+#line 5703 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_SCHEMA; }
+#line 30322 "gram.c" /* yacc.c:1646  */
     break;
 
   case 828:
-/* Line 1792 of yacc.c  */
-#line 5705 "gram.y"
+#line 5704 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_EXTENSION; }
+#line 30328 "gram.c" /* yacc.c:1646  */
     break;
 
   case 829:
-/* Line 1792 of yacc.c  */
-#line 5706 "gram.y"
+#line 5705 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TSPARSER; }
+#line 30334 "gram.c" /* yacc.c:1646  */
     break;
 
   case 830:
-/* Line 1792 of yacc.c  */
-#line 5707 "gram.y"
+#line 5706 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
+#line 30340 "gram.c" /* yacc.c:1646  */
     break;
 
   case 831:
-/* Line 1792 of yacc.c  */
-#line 5708 "gram.y"
+#line 5707 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
+#line 30346 "gram.c" /* yacc.c:1646  */
     break;
 
   case 832:
-/* Line 1792 of yacc.c  */
-#line 5709 "gram.y"
+#line 5708 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
+#line 30352 "gram.c" /* yacc.c:1646  */
     break;
 
   case 833:
-/* Line 1792 of yacc.c  */
-#line 5713 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); }
+#line 5712 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].list)); }
+#line 30358 "gram.c" /* yacc.c:1646  */
     break;
 
   case 834:
-/* Line 1792 of yacc.c  */
-#line 5714 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); }
+#line 5713 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
+#line 30364 "gram.c" /* yacc.c:1646  */
     break;
 
   case 835:
-/* Line 1792 of yacc.c  */
-#line 5717 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 5716 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 30370 "gram.c" /* yacc.c:1646  */
     break;
 
   case 836:
-/* Line 1792 of yacc.c  */
-#line 5718 "gram.y"
-    { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); }
+#line 5717 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
+#line 30376 "gram.c" /* yacc.c:1646  */
     break;
 
   case 837:
-/* Line 1792 of yacc.c  */
-#line 5722 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); }
+#line 5721 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 30382 "gram.c" /* yacc.c:1646  */
     break;
 
   case 838:
-/* Line 1792 of yacc.c  */
-#line 5724 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); }
+#line 5723 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
+#line 30388 "gram.c" /* yacc.c:1646  */
     break;
 
   case 839:
-/* Line 1792 of yacc.c  */
-#line 5728 "gram.y"
-    { (yyval.list) = list_make1(list_make1((yyvsp[(1) - (1)].typnam))); }
+#line 5727 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(list_make1((yyvsp[0].typnam))); }
+#line 30394 "gram.c" /* yacc.c:1646  */
     break;
 
   case 840:
-/* Line 1792 of yacc.c  */
-#line 5729 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), list_make1((yyvsp[(3) - (3)].typnam))); }
+#line 5728 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), list_make1((yyvsp[0].typnam))); }
+#line 30400 "gram.c" /* yacc.c:1646  */
     break;
 
   case 841:
-/* Line 1792 of yacc.c  */
-#line 5740 "gram.y"
+#line 5739 "gram.y" /* yacc.c:1646  */
     {
                                        TruncateStmt *n = makeNode(TruncateStmt);
-                                       n->relations = (yyvsp[(3) - (5)].list);
-                                       n->restart_seqs = (yyvsp[(4) - (5)].boolean);
-                                       n->behavior = (yyvsp[(5) - (5)].dbehavior);
+                                       n->relations = (yyvsp[-2].list);
+                                       n->restart_seqs = (yyvsp[-1].boolean);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        (yyval.node) = (Node *)n;
                                }
+#line 30412 "gram.c" /* yacc.c:1646  */
     break;
 
   case 842:
-/* Line 1792 of yacc.c  */
-#line 5750 "gram.y"
+#line 5749 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = false; }
+#line 30418 "gram.c" /* yacc.c:1646  */
     break;
 
   case 843:
-/* Line 1792 of yacc.c  */
-#line 5751 "gram.y"
+#line 5750 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = true; }
+#line 30424 "gram.c" /* yacc.c:1646  */
     break;
 
   case 844:
-/* Line 1792 of yacc.c  */
-#line 5752 "gram.y"
+#line 5751 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = false; }
+#line 30430 "gram.c" /* yacc.c:1646  */
     break;
 
   case 845:
-/* Line 1792 of yacc.c  */
-#line 5787 "gram.y"
+#line 5786 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
-                                       n->objtype = (yyvsp[(3) - (6)].objtype);
-                                       n->objname = (yyvsp[(4) - (6)].list);
+                                       n->objtype = (yyvsp[-3].objtype);
+                                       n->objname = (yyvsp[-2].list);
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(6) - (6)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30443 "gram.c" /* yacc.c:1646  */
     break;
 
   case 846:
-/* Line 1792 of yacc.c  */
-#line 5796 "gram.y"
+#line 5795 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_TYPE;
-                                       n->objname = list_make1((yyvsp[(4) - (6)].typnam));
+                                       n->objname = list_make1((yyvsp[-2].typnam));
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(6) - (6)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30456 "gram.c" /* yacc.c:1646  */
     break;
 
   case 847:
-/* Line 1792 of yacc.c  */
-#line 5805 "gram.y"
+#line 5804 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_DOMAIN;
-                                       n->objname = list_make1((yyvsp[(4) - (6)].typnam));
+                                       n->objname = list_make1((yyvsp[-2].typnam));
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(6) - (6)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30469 "gram.c" /* yacc.c:1646  */
     break;
 
   case 848:
-/* Line 1792 of yacc.c  */
-#line 5814 "gram.y"
+#line 5813 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_AGGREGATE;
-                                       n->objname = (yyvsp[(4) - (7)].list);
-                                       n->objargs = extractAggrArgTypes((yyvsp[(5) - (7)].list));
-                                       n->comment = (yyvsp[(7) - (7)].str);
+                                       n->objname = (yyvsp[-3].list);
+                                       n->objargs = extractAggrArgTypes((yyvsp[-2].list));
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30482 "gram.c" /* yacc.c:1646  */
     break;
 
   case 849:
-/* Line 1792 of yacc.c  */
-#line 5823 "gram.y"
+#line 5822 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_FUNCTION;
-                                       n->objname = (yyvsp[(4) - (7)].list);
-                                       n->objargs = extractArgTypes((yyvsp[(5) - (7)].list));
-                                       n->comment = (yyvsp[(7) - (7)].str);
+                                       n->objname = (yyvsp[-3].list);
+                                       n->objargs = extractArgTypes((yyvsp[-2].list));
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30495 "gram.c" /* yacc.c:1646  */
     break;
 
   case 850:
-/* Line 1792 of yacc.c  */
-#line 5832 "gram.y"
+#line 5831 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_OPERATOR;
-                                       n->objname = (yyvsp[(4) - (7)].list);
-                                       n->objargs = (yyvsp[(5) - (7)].list);
-                                       n->comment = (yyvsp[(7) - (7)].str);
+                                       n->objname = (yyvsp[-3].list);
+                                       n->objargs = (yyvsp[-2].list);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30508 "gram.c" /* yacc.c:1646  */
     break;
 
   case 851:
-/* Line 1792 of yacc.c  */
-#line 5841 "gram.y"
+#line 5840 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_TABCONSTRAINT;
-                                       n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
+                                       n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(8) - (8)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30521 "gram.c" /* yacc.c:1646  */
     break;
 
   case 852:
-/* Line 1792 of yacc.c  */
-#line 5850 "gram.y"
+#line 5849 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_DOMCONSTRAINT;
@@ -31844,1309 +30530,1309 @@ yyreduce:
                                         * there's a shift/reduce conflict if we do that, so fix it
                                         * up here.
                                         */
-                                       n->objname = list_make1(makeTypeNameFromNameList((yyvsp[(7) - (9)].list)));
-                                       n->objargs = list_make1(makeString((yyvsp[(4) - (9)].str)));
-                                       n->comment = (yyvsp[(9) - (9)].str);
+                                       n->objname = list_make1(makeTypeNameFromNameList((yyvsp[-2].list)));
+                                       n->objargs = list_make1(makeString((yyvsp[-5].str)));
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30539 "gram.c" /* yacc.c:1646  */
     break;
 
   case 853:
-/* Line 1792 of yacc.c  */
-#line 5864 "gram.y"
+#line 5863 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_POLICY;
-                                       n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
+                                       n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(8) - (8)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30552 "gram.c" /* yacc.c:1646  */
     break;
 
   case 854:
-/* Line 1792 of yacc.c  */
-#line 5873 "gram.y"
+#line 5872 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_RULE;
-                                       n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
+                                       n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(8) - (8)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30565 "gram.c" /* yacc.c:1646  */
     break;
 
   case 855:
-/* Line 1792 of yacc.c  */
-#line 5882 "gram.y"
+#line 5881 "gram.y" /* yacc.c:1646  */
     {
                                        /* Obsolete syntax supported for awhile for compatibility */
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_RULE;
-                                       n->objname = list_make1(makeString((yyvsp[(4) - (6)].str)));
+                                       n->objname = list_make1(makeString((yyvsp[-2].str)));
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(6) - (6)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30579 "gram.c" /* yacc.c:1646  */
     break;
 
   case 856:
-/* Line 1792 of yacc.c  */
-#line 5892 "gram.y"
+#line 5891 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_TRANSFORM;
-                                       n->objname = list_make1((yyvsp[(5) - (9)].typnam));
-                                       n->objargs = list_make1(makeString((yyvsp[(7) - (9)].str)));
-                                       n->comment = (yyvsp[(9) - (9)].str);
+                                       n->objname = list_make1((yyvsp[-4].typnam));
+                                       n->objargs = list_make1(makeString((yyvsp[-2].str)));
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30592 "gram.c" /* yacc.c:1646  */
     break;
 
   case 857:
-/* Line 1792 of yacc.c  */
-#line 5901 "gram.y"
+#line 5900 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_TRIGGER;
-                                       n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
+                                       n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(8) - (8)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30605 "gram.c" /* yacc.c:1646  */
     break;
 
   case 858:
-/* Line 1792 of yacc.c  */
-#line 5910 "gram.y"
+#line 5909 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_OPCLASS;
-                                       n->objname = lcons(makeString((yyvsp[(7) - (9)].str)), (yyvsp[(5) - (9)].list));
-                                       n->comment = (yyvsp[(9) - (9)].str);
+                                       n->objname = lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30617 "gram.c" /* yacc.c:1646  */
     break;
 
   case 859:
-/* Line 1792 of yacc.c  */
-#line 5918 "gram.y"
+#line 5917 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_OPFAMILY;
-                                       n->objname = lcons(makeString((yyvsp[(7) - (9)].str)), (yyvsp[(5) - (9)].list));
+                                       n->objname = lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(9) - (9)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30630 "gram.c" /* yacc.c:1646  */
     break;
 
   case 860:
-/* Line 1792 of yacc.c  */
-#line 5927 "gram.y"
+#line 5926 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_LARGEOBJECT;
-                                       n->objname = list_make1((yyvsp[(5) - (7)].value));
+                                       n->objname = list_make1((yyvsp[-2].value));
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(7) - (7)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30643 "gram.c" /* yacc.c:1646  */
     break;
 
   case 861:
-/* Line 1792 of yacc.c  */
-#line 5936 "gram.y"
+#line 5935 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_CAST;
-                                       n->objname = list_make1((yyvsp[(5) - (10)].typnam));
-                                       n->objargs = list_make1((yyvsp[(7) - (10)].typnam));
-                                       n->comment = (yyvsp[(10) - (10)].str);
+                                       n->objname = list_make1((yyvsp[-5].typnam));
+                                       n->objargs = list_make1((yyvsp[-3].typnam));
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30656 "gram.c" /* yacc.c:1646  */
     break;
 
   case 862:
-/* Line 1792 of yacc.c  */
-#line 5945 "gram.y"
+#line 5944 "gram.y" /* yacc.c:1646  */
     {
                                        CommentStmt *n = makeNode(CommentStmt);
                                        n->objtype = OBJECT_LANGUAGE;
-                                       n->objname = (yyvsp[(5) - (7)].list);
+                                       n->objname = (yyvsp[-2].list);
                                        n->objargs = NIL;
-                                       n->comment = (yyvsp[(7) - (7)].str);
+                                       n->comment = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30669 "gram.c" /* yacc.c:1646  */
     break;
 
   case 863:
-/* Line 1792 of yacc.c  */
-#line 5956 "gram.y"
+#line 5955 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
+#line 30675 "gram.c" /* yacc.c:1646  */
     break;
 
   case 864:
-/* Line 1792 of yacc.c  */
-#line 5957 "gram.y"
+#line 5956 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_COLUMN; }
+#line 30681 "gram.c" /* yacc.c:1646  */
     break;
 
   case 865:
-/* Line 1792 of yacc.c  */
-#line 5958 "gram.y"
+#line 5957 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_DATABASE; }
+#line 30687 "gram.c" /* yacc.c:1646  */
     break;
 
   case 866:
-/* Line 1792 of yacc.c  */
-#line 5959 "gram.y"
+#line 5958 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_SCHEMA; }
+#line 30693 "gram.c" /* yacc.c:1646  */
     break;
 
   case 867:
-/* Line 1792 of yacc.c  */
-#line 5960 "gram.y"
+#line 5959 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_INDEX; }
+#line 30699 "gram.c" /* yacc.c:1646  */
     break;
 
   case 868:
-/* Line 1792 of yacc.c  */
-#line 5961 "gram.y"
+#line 5960 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_SEQUENCE; }
+#line 30705 "gram.c" /* yacc.c:1646  */
     break;
 
   case 869:
-/* Line 1792 of yacc.c  */
-#line 5962 "gram.y"
+#line 5961 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TABLE; }
+#line 30711 "gram.c" /* yacc.c:1646  */
     break;
 
   case 870:
-/* Line 1792 of yacc.c  */
-#line 5963 "gram.y"
+#line 5962 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_VIEW; }
+#line 30717 "gram.c" /* yacc.c:1646  */
     break;
 
   case 871:
-/* Line 1792 of yacc.c  */
-#line 5964 "gram.y"
+#line 5963 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_MATVIEW; }
+#line 30723 "gram.c" /* yacc.c:1646  */
     break;
 
   case 872:
-/* Line 1792 of yacc.c  */
-#line 5965 "gram.y"
+#line 5964 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_COLLATION; }
+#line 30729 "gram.c" /* yacc.c:1646  */
     break;
 
   case 873:
-/* Line 1792 of yacc.c  */
-#line 5966 "gram.y"
+#line 5965 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_CONVERSION; }
+#line 30735 "gram.c" /* yacc.c:1646  */
     break;
 
   case 874:
-/* Line 1792 of yacc.c  */
-#line 5967 "gram.y"
+#line 5966 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TABLESPACE; }
+#line 30741 "gram.c" /* yacc.c:1646  */
     break;
 
   case 875:
-/* Line 1792 of yacc.c  */
-#line 5968 "gram.y"
+#line 5967 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_EXTENSION; }
+#line 30747 "gram.c" /* yacc.c:1646  */
     break;
 
   case 876:
-/* Line 1792 of yacc.c  */
-#line 5969 "gram.y"
+#line 5968 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_ROLE; }
+#line 30753 "gram.c" /* yacc.c:1646  */
     break;
 
   case 877:
-/* Line 1792 of yacc.c  */
-#line 5970 "gram.y"
+#line 5969 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
+#line 30759 "gram.c" /* yacc.c:1646  */
     break;
 
   case 878:
-/* Line 1792 of yacc.c  */
-#line 5971 "gram.y"
+#line 5970 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
+#line 30765 "gram.c" /* yacc.c:1646  */
     break;
 
   case 879:
-/* Line 1792 of yacc.c  */
-#line 5972 "gram.y"
+#line 5971 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_FDW; }
+#line 30771 "gram.c" /* yacc.c:1646  */
     break;
 
   case 880:
-/* Line 1792 of yacc.c  */
-#line 5973 "gram.y"
+#line 5972 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
+#line 30777 "gram.c" /* yacc.c:1646  */
     break;
 
   case 881:
-/* Line 1792 of yacc.c  */
-#line 5974 "gram.y"
+#line 5973 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
+#line 30783 "gram.c" /* yacc.c:1646  */
     break;
 
   case 882:
-/* Line 1792 of yacc.c  */
-#line 5975 "gram.y"
+#line 5974 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
+#line 30789 "gram.c" /* yacc.c:1646  */
     break;
 
   case 883:
-/* Line 1792 of yacc.c  */
-#line 5976 "gram.y"
+#line 5975 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TSPARSER; }
+#line 30795 "gram.c" /* yacc.c:1646  */
     break;
 
   case 884:
-/* Line 1792 of yacc.c  */
-#line 5977 "gram.y"
+#line 5976 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
+#line 30801 "gram.c" /* yacc.c:1646  */
     break;
 
   case 885:
-/* Line 1792 of yacc.c  */
-#line 5981 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 5980 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 30807 "gram.c" /* yacc.c:1646  */
     break;
 
   case 886:
-/* Line 1792 of yacc.c  */
-#line 5982 "gram.y"
+#line 5981 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 30813 "gram.c" /* yacc.c:1646  */
     break;
 
   case 887:
-/* Line 1792 of yacc.c  */
-#line 5998 "gram.y"
+#line 5997 "gram.y" /* yacc.c:1646  */
     {
                                        SecLabelStmt *n = makeNode(SecLabelStmt);
-                                       n->provider = (yyvsp[(3) - (8)].str);
-                                       n->objtype = (yyvsp[(5) - (8)].objtype);
-                                       n->objname = (yyvsp[(6) - (8)].list);
+                                       n->provider = (yyvsp[-5].str);
+                                       n->objtype = (yyvsp[-3].objtype);
+                                       n->objname = (yyvsp[-2].list);
                                        n->objargs = NIL;
-                                       n->label = (yyvsp[(8) - (8)].str);
+                                       n->label = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30827 "gram.c" /* yacc.c:1646  */
     break;
 
   case 888:
-/* Line 1792 of yacc.c  */
-#line 6009 "gram.y"
+#line 6008 "gram.y" /* yacc.c:1646  */
     {
                                        SecLabelStmt *n = makeNode(SecLabelStmt);
-                                       n->provider = (yyvsp[(3) - (8)].str);
+                                       n->provider = (yyvsp[-5].str);
                                        n->objtype = OBJECT_TYPE;
-                                       n->objname = list_make1((yyvsp[(6) - (8)].typnam));
+                                       n->objname = list_make1((yyvsp[-2].typnam));
                                        n->objargs = NIL;
-                                       n->label = (yyvsp[(8) - (8)].str);
+                                       n->label = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30841 "gram.c" /* yacc.c:1646  */
     break;
 
   case 889:
-/* Line 1792 of yacc.c  */
-#line 6020 "gram.y"
+#line 6019 "gram.y" /* yacc.c:1646  */
     {
                                        SecLabelStmt *n = makeNode(SecLabelStmt);
-                                       n->provider = (yyvsp[(3) - (8)].str);
+                                       n->provider = (yyvsp[-5].str);
                                        n->objtype = OBJECT_TYPE;
-                                       n->objname = list_make1((yyvsp[(6) - (8)].typnam));
+                                       n->objname = list_make1((yyvsp[-2].typnam));
                                        n->objargs = NIL;
-                                       n->label = (yyvsp[(8) - (8)].str);
+                                       n->label = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30855 "gram.c" /* yacc.c:1646  */
     break;
 
   case 890:
-/* Line 1792 of yacc.c  */
-#line 6031 "gram.y"
+#line 6030 "gram.y" /* yacc.c:1646  */
     {
                                        SecLabelStmt *n = makeNode(SecLabelStmt);
-                                       n->provider = (yyvsp[(3) - (9)].str);
+                                       n->provider = (yyvsp[-6].str);
                                        n->objtype = OBJECT_AGGREGATE;
-                                       n->objname = (yyvsp[(6) - (9)].list);
-                                       n->objargs = extractAggrArgTypes((yyvsp[(7) - (9)].list));
-                                       n->label = (yyvsp[(9) - (9)].str);
+                                       n->objname = (yyvsp[-3].list);
+                                       n->objargs = extractAggrArgTypes((yyvsp[-2].list));
+                                       n->label = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30869 "gram.c" /* yacc.c:1646  */
     break;
 
   case 891:
-/* Line 1792 of yacc.c  */
-#line 6042 "gram.y"
+#line 6041 "gram.y" /* yacc.c:1646  */
     {
                                        SecLabelStmt *n = makeNode(SecLabelStmt);
-                                       n->provider = (yyvsp[(3) - (9)].str);
+                                       n->provider = (yyvsp[-6].str);
                                        n->objtype = OBJECT_FUNCTION;
-                                       n->objname = (yyvsp[(6) - (9)].list);
-                                       n->objargs = extractArgTypes((yyvsp[(7) - (9)].list));
-                                       n->label = (yyvsp[(9) - (9)].str);
+                                       n->objname = (yyvsp[-3].list);
+                                       n->objargs = extractArgTypes((yyvsp[-2].list));
+                                       n->label = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30883 "gram.c" /* yacc.c:1646  */
     break;
 
   case 892:
-/* Line 1792 of yacc.c  */
-#line 6053 "gram.y"
+#line 6052 "gram.y" /* yacc.c:1646  */
     {
                                        SecLabelStmt *n = makeNode(SecLabelStmt);
-                                       n->provider = (yyvsp[(3) - (9)].str);
+                                       n->provider = (yyvsp[-6].str);
                                        n->objtype = OBJECT_LARGEOBJECT;
-                                       n->objname = list_make1((yyvsp[(7) - (9)].value));
+                                       n->objname = list_make1((yyvsp[-2].value));
                                        n->objargs = NIL;
-                                       n->label = (yyvsp[(9) - (9)].str);
+                                       n->label = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30897 "gram.c" /* yacc.c:1646  */
     break;
 
   case 893:
-/* Line 1792 of yacc.c  */
-#line 6064 "gram.y"
+#line 6063 "gram.y" /* yacc.c:1646  */
     {
                                        SecLabelStmt *n = makeNode(SecLabelStmt);
-                                       n->provider = (yyvsp[(3) - (9)].str);
+                                       n->provider = (yyvsp[-6].str);
                                        n->objtype = OBJECT_LANGUAGE;
-                                       n->objname = (yyvsp[(7) - (9)].list);
+                                       n->objname = (yyvsp[-2].list);
                                        n->objargs = NIL;
-                                       n->label = (yyvsp[(9) - (9)].str);
+                                       n->label = (yyvsp[0].str);
                                        (yyval.node) = (Node *) n;
                                }
+#line 30911 "gram.c" /* yacc.c:1646  */
     break;
 
   case 894:
-/* Line 1792 of yacc.c  */
-#line 6075 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].str); }
+#line 6074 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 30917 "gram.c" /* yacc.c:1646  */
     break;
 
   case 895:
-/* Line 1792 of yacc.c  */
-#line 6076 "gram.y"
+#line 6075 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 30923 "gram.c" /* yacc.c:1646  */
     break;
 
   case 896:
-/* Line 1792 of yacc.c  */
-#line 6080 "gram.y"
+#line 6079 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_COLUMN; }
+#line 30929 "gram.c" /* yacc.c:1646  */
     break;
 
   case 897:
-/* Line 1792 of yacc.c  */
-#line 6081 "gram.y"
+#line 6080 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_DATABASE; }
+#line 30935 "gram.c" /* yacc.c:1646  */
     break;
 
   case 898:
-/* Line 1792 of yacc.c  */
-#line 6082 "gram.y"
+#line 6081 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
+#line 30941 "gram.c" /* yacc.c:1646  */
     break;
 
   case 899:
-/* Line 1792 of yacc.c  */
-#line 6083 "gram.y"
+#line 6082 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
+#line 30947 "gram.c" /* yacc.c:1646  */
     break;
 
   case 900:
-/* Line 1792 of yacc.c  */
-#line 6084 "gram.y"
+#line 6083 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_SCHEMA; }
+#line 30953 "gram.c" /* yacc.c:1646  */
     break;
 
   case 901:
-/* Line 1792 of yacc.c  */
-#line 6085 "gram.y"
+#line 6084 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_SEQUENCE; }
+#line 30959 "gram.c" /* yacc.c:1646  */
     break;
 
   case 902:
-/* Line 1792 of yacc.c  */
-#line 6086 "gram.y"
+#line 6085 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TABLE; }
+#line 30965 "gram.c" /* yacc.c:1646  */
     break;
 
   case 903:
-/* Line 1792 of yacc.c  */
-#line 6087 "gram.y"
+#line 6086 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_ROLE; }
+#line 30971 "gram.c" /* yacc.c:1646  */
     break;
 
   case 904:
-/* Line 1792 of yacc.c  */
-#line 6088 "gram.y"
+#line 6087 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_TABLESPACE; }
+#line 30977 "gram.c" /* yacc.c:1646  */
     break;
 
   case 905:
-/* Line 1792 of yacc.c  */
-#line 6089 "gram.y"
+#line 6088 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_VIEW; }
+#line 30983 "gram.c" /* yacc.c:1646  */
     break;
 
   case 906:
-/* Line 1792 of yacc.c  */
-#line 6090 "gram.y"
+#line 6089 "gram.y" /* yacc.c:1646  */
     { (yyval.objtype) = OBJECT_MATVIEW; }
+#line 30989 "gram.c" /* yacc.c:1646  */
     break;
 
   case 907:
-/* Line 1792 of yacc.c  */
-#line 6093 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 6092 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 30995 "gram.c" /* yacc.c:1646  */
     break;
 
   case 908:
-/* Line 1792 of yacc.c  */
-#line 6094 "gram.y"
+#line 6093 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 31001 "gram.c" /* yacc.c:1646  */
     break;
 
   case 909:
-/* Line 1792 of yacc.c  */
-#line 6105 "gram.y"
+#line 6104 "gram.y" /* yacc.c:1646  */
     {
-                                       FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
+                                       FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
                                        n->ismove = FALSE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31011 "gram.c" /* yacc.c:1646  */
     break;
 
   case 910:
-/* Line 1792 of yacc.c  */
-#line 6111 "gram.y"
+#line 6110 "gram.y" /* yacc.c:1646  */
     {
-                                       FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
+                                       FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
                                        n->ismove = TRUE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31021 "gram.c" /* yacc.c:1646  */
     break;
 
   case 911:
-/* Line 1792 of yacc.c  */
-#line 6119 "gram.y"
+#line 6118 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(1) - (1)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_FORWARD;
                                        n->howMany = 1;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31033 "gram.c" /* yacc.c:1646  */
     break;
 
   case 912:
-/* Line 1792 of yacc.c  */
-#line 6127 "gram.y"
+#line 6126 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(2) - (2)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_FORWARD;
                                        n->howMany = 1;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31045 "gram.c" /* yacc.c:1646  */
     break;
 
   case 913:
-/* Line 1792 of yacc.c  */
-#line 6135 "gram.y"
+#line 6134 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(3) - (3)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_FORWARD;
                                        n->howMany = 1;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31057 "gram.c" /* yacc.c:1646  */
     break;
 
   case 914:
-/* Line 1792 of yacc.c  */
-#line 6143 "gram.y"
+#line 6142 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(3) - (3)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_BACKWARD;
                                        n->howMany = 1;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31069 "gram.c" /* yacc.c:1646  */
     break;
 
   case 915:
-/* Line 1792 of yacc.c  */
-#line 6151 "gram.y"
+#line 6150 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(3) - (3)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_ABSOLUTE;
                                        n->howMany = 1;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31081 "gram.c" /* yacc.c:1646  */
     break;
 
   case 916:
-/* Line 1792 of yacc.c  */
-#line 6159 "gram.y"
+#line 6158 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(3) - (3)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_ABSOLUTE;
                                        n->howMany = -1;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31093 "gram.c" /* yacc.c:1646  */
     break;
 
   case 917:
-/* Line 1792 of yacc.c  */
-#line 6167 "gram.y"
+#line 6166 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(4) - (4)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_ABSOLUTE;
-                                       n->howMany = (yyvsp[(2) - (4)].ival);
+                                       n->howMany = (yyvsp[-2].ival);
                                        (yyval.node) = (Node *)n;
                                }
+#line 31105 "gram.c" /* yacc.c:1646  */
     break;
 
   case 918:
-/* Line 1792 of yacc.c  */
-#line 6175 "gram.y"
+#line 6174 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(4) - (4)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_RELATIVE;
-                                       n->howMany = (yyvsp[(2) - (4)].ival);
+                                       n->howMany = (yyvsp[-2].ival);
                                        (yyval.node) = (Node *)n;
                                }
+#line 31117 "gram.c" /* yacc.c:1646  */
     break;
 
   case 919:
-/* Line 1792 of yacc.c  */
-#line 6183 "gram.y"
+#line 6182 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(3) - (3)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_FORWARD;
-                                       n->howMany = (yyvsp[(1) - (3)].ival);
+                                       n->howMany = (yyvsp[-2].ival);
                                        (yyval.node) = (Node *)n;
                                }
+#line 31129 "gram.c" /* yacc.c:1646  */
     break;
 
   case 920:
-/* Line 1792 of yacc.c  */
-#line 6191 "gram.y"
+#line 6190 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(3) - (3)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_FORWARD;
                                        n->howMany = FETCH_ALL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31141 "gram.c" /* yacc.c:1646  */
     break;
 
   case 921:
-/* Line 1792 of yacc.c  */
-#line 6199 "gram.y"
+#line 6198 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(3) - (3)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_FORWARD;
                                        n->howMany = 1;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31153 "gram.c" /* yacc.c:1646  */
     break;
 
   case 922:
-/* Line 1792 of yacc.c  */
-#line 6207 "gram.y"
+#line 6206 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(4) - (4)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_FORWARD;
-                                       n->howMany = (yyvsp[(2) - (4)].ival);
+                                       n->howMany = (yyvsp[-2].ival);
                                        (yyval.node) = (Node *)n;
                                }
+#line 31165 "gram.c" /* yacc.c:1646  */
     break;
 
   case 923:
-/* Line 1792 of yacc.c  */
-#line 6215 "gram.y"
+#line 6214 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(4) - (4)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_FORWARD;
                                        n->howMany = FETCH_ALL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31177 "gram.c" /* yacc.c:1646  */
     break;
 
   case 924:
-/* Line 1792 of yacc.c  */
-#line 6223 "gram.y"
+#line 6222 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(3) - (3)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_BACKWARD;
                                        n->howMany = 1;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31189 "gram.c" /* yacc.c:1646  */
     break;
 
   case 925:
-/* Line 1792 of yacc.c  */
-#line 6231 "gram.y"
+#line 6230 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(4) - (4)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_BACKWARD;
-                                       n->howMany = (yyvsp[(2) - (4)].ival);
+                                       n->howMany = (yyvsp[-2].ival);
                                        (yyval.node) = (Node *)n;
                                }
+#line 31201 "gram.c" /* yacc.c:1646  */
     break;
 
   case 926:
-/* Line 1792 of yacc.c  */
-#line 6239 "gram.y"
+#line 6238 "gram.y" /* yacc.c:1646  */
     {
                                        FetchStmt *n = makeNode(FetchStmt);
-                                       n->portalname = (yyvsp[(4) - (4)].str);
+                                       n->portalname = (yyvsp[0].str);
                                        n->direction = FETCH_BACKWARD;
                                        n->howMany = FETCH_ALL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31213 "gram.c" /* yacc.c:1646  */
     break;
 
   case 927:
-/* Line 1792 of yacc.c  */
-#line 6248 "gram.y"
+#line 6247 "gram.y" /* yacc.c:1646  */
     {}
+#line 31219 "gram.c" /* yacc.c:1646  */
     break;
 
   case 928:
-/* Line 1792 of yacc.c  */
-#line 6249 "gram.y"
+#line 6248 "gram.y" /* yacc.c:1646  */
     {}
+#line 31225 "gram.c" /* yacc.c:1646  */
     break;
 
   case 929:
-/* Line 1792 of yacc.c  */
-#line 6252 "gram.y"
+#line 6251 "gram.y" /* yacc.c:1646  */
     {}
+#line 31231 "gram.c" /* yacc.c:1646  */
     break;
 
   case 930:
-/* Line 1792 of yacc.c  */
-#line 6253 "gram.y"
+#line 6252 "gram.y" /* yacc.c:1646  */
     {}
+#line 31237 "gram.c" /* yacc.c:1646  */
     break;
 
   case 931:
-/* Line 1792 of yacc.c  */
-#line 6265 "gram.y"
+#line 6264 "gram.y" /* yacc.c:1646  */
     {
                                        GrantStmt *n = makeNode(GrantStmt);
                                        n->is_grant = true;
-                                       n->privileges = (yyvsp[(2) - (7)].list);
-                                       n->targtype = ((yyvsp[(4) - (7)].privtarget))->targtype;
-                                       n->objtype = ((yyvsp[(4) - (7)].privtarget))->objtype;
-                                       n->objects = ((yyvsp[(4) - (7)].privtarget))->objs;
-                                       n->grantees = (yyvsp[(6) - (7)].list);
-                                       n->grant_option = (yyvsp[(7) - (7)].boolean);
+                                       n->privileges = (yyvsp[-5].list);
+                                       n->targtype = ((yyvsp[-3].privtarget))->targtype;
+                                       n->objtype = ((yyvsp[-3].privtarget))->objtype;
+                                       n->objects = ((yyvsp[-3].privtarget))->objs;
+                                       n->grantees = (yyvsp[-1].list);
+                                       n->grant_option = (yyvsp[0].boolean);
                                        (yyval.node) = (Node*)n;
                                }
+#line 31253 "gram.c" /* yacc.c:1646  */
     break;
 
   case 932:
-/* Line 1792 of yacc.c  */
-#line 6281 "gram.y"
+#line 6280 "gram.y" /* yacc.c:1646  */
     {
                                        GrantStmt *n = makeNode(GrantStmt);
                                        n->is_grant = false;
                                        n->grant_option = false;
-                                       n->privileges = (yyvsp[(2) - (7)].list);
-                                       n->targtype = ((yyvsp[(4) - (7)].privtarget))->targtype;
-                                       n->objtype = ((yyvsp[(4) - (7)].privtarget))->objtype;
-                                       n->objects = ((yyvsp[(4) - (7)].privtarget))->objs;
-                                       n->grantees = (yyvsp[(6) - (7)].list);
-                                       n->behavior = (yyvsp[(7) - (7)].dbehavior);
+                                       n->privileges = (yyvsp[-5].list);
+                                       n->targtype = ((yyvsp[-3].privtarget))->targtype;
+                                       n->objtype = ((yyvsp[-3].privtarget))->objtype;
+                                       n->objects = ((yyvsp[-3].privtarget))->objs;
+                                       n->grantees = (yyvsp[-1].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        (yyval.node) = (Node *)n;
                                }
+#line 31270 "gram.c" /* yacc.c:1646  */
     break;
 
   case 933:
-/* Line 1792 of yacc.c  */
-#line 6295 "gram.y"
+#line 6294 "gram.y" /* yacc.c:1646  */
     {
                                        GrantStmt *n = makeNode(GrantStmt);
                                        n->is_grant = false;
                                        n->grant_option = true;
-                                       n->privileges = (yyvsp[(5) - (10)].list);
-                                       n->targtype = ((yyvsp[(7) - (10)].privtarget))->targtype;
-                                       n->objtype = ((yyvsp[(7) - (10)].privtarget))->objtype;
-                                       n->objects = ((yyvsp[(7) - (10)].privtarget))->objs;
-                                       n->grantees = (yyvsp[(9) - (10)].list);
-                                       n->behavior = (yyvsp[(10) - (10)].dbehavior);
+                                       n->privileges = (yyvsp[-5].list);
+                                       n->targtype = ((yyvsp[-3].privtarget))->targtype;
+                                       n->objtype = ((yyvsp[-3].privtarget))->objtype;
+                                       n->objects = ((yyvsp[-3].privtarget))->objs;
+                                       n->grantees = (yyvsp[-1].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        (yyval.node) = (Node *)n;
                                }
+#line 31287 "gram.c" /* yacc.c:1646  */
     break;
 
   case 934:
-/* Line 1792 of yacc.c  */
-#line 6320 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 6319 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 31293 "gram.c" /* yacc.c:1646  */
     break;
 
   case 935:
-/* Line 1792 of yacc.c  */
-#line 6322 "gram.y"
+#line 6321 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 31299 "gram.c" /* yacc.c:1646  */
     break;
 
   case 936:
-/* Line 1792 of yacc.c  */
-#line 6324 "gram.y"
+#line 6323 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 31305 "gram.c" /* yacc.c:1646  */
     break;
 
   case 937:
-/* Line 1792 of yacc.c  */
-#line 6326 "gram.y"
+#line 6325 "gram.y" /* yacc.c:1646  */
     {
                                        AccessPriv *n = makeNode(AccessPriv);
                                        n->priv_name = NULL;
-                                       n->cols = (yyvsp[(3) - (4)].list);
+                                       n->cols = (yyvsp[-1].list);
                                        (yyval.list) = list_make1(n);
                                }
+#line 31316 "gram.c" /* yacc.c:1646  */
     break;
 
   case 938:
-/* Line 1792 of yacc.c  */
-#line 6333 "gram.y"
+#line 6332 "gram.y" /* yacc.c:1646  */
     {
                                        AccessPriv *n = makeNode(AccessPriv);
                                        n->priv_name = NULL;
-                                       n->cols = (yyvsp[(4) - (5)].list);
+                                       n->cols = (yyvsp[-1].list);
                                        (yyval.list) = list_make1(n);
                                }
+#line 31327 "gram.c" /* yacc.c:1646  */
     break;
 
   case 939:
-/* Line 1792 of yacc.c  */
-#line 6341 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].accesspriv)); }
+#line 6340 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
+#line 31333 "gram.c" /* yacc.c:1646  */
     break;
 
   case 940:
-/* Line 1792 of yacc.c  */
-#line 6342 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].accesspriv)); }
+#line 6341 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
+#line 31339 "gram.c" /* yacc.c:1646  */
     break;
 
   case 941:
-/* Line 1792 of yacc.c  */
-#line 6346 "gram.y"
+#line 6345 "gram.y" /* yacc.c:1646  */
     {
                                AccessPriv *n = makeNode(AccessPriv);
-                               n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
-                               n->cols = (yyvsp[(2) - (2)].list);
+                               n->priv_name = pstrdup((yyvsp[-1].keyword));
+                               n->cols = (yyvsp[0].list);
                                (yyval.accesspriv) = n;
                        }
+#line 31350 "gram.c" /* yacc.c:1646  */
     break;
 
   case 942:
-/* Line 1792 of yacc.c  */
-#line 6353 "gram.y"
+#line 6352 "gram.y" /* yacc.c:1646  */
     {
                                AccessPriv *n = makeNode(AccessPriv);
-                               n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
-                               n->cols = (yyvsp[(2) - (2)].list);
+                               n->priv_name = pstrdup((yyvsp[-1].keyword));
+                               n->cols = (yyvsp[0].list);
                                (yyval.accesspriv) = n;
                        }
+#line 31361 "gram.c" /* yacc.c:1646  */
     break;
 
   case 943:
-/* Line 1792 of yacc.c  */
-#line 6360 "gram.y"
+#line 6359 "gram.y" /* yacc.c:1646  */
     {
                                AccessPriv *n = makeNode(AccessPriv);
-                               n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
-                               n->cols = (yyvsp[(2) - (2)].list);
+                               n->priv_name = pstrdup((yyvsp[-1].keyword));
+                               n->cols = (yyvsp[0].list);
                                (yyval.accesspriv) = n;
                        }
+#line 31372 "gram.c" /* yacc.c:1646  */
     break;
 
   case 944:
-/* Line 1792 of yacc.c  */
-#line 6367 "gram.y"
+#line 6366 "gram.y" /* yacc.c:1646  */
     {
                                AccessPriv *n = makeNode(AccessPriv);
-                               n->priv_name = (yyvsp[(1) - (2)].str);
-                               n->cols = (yyvsp[(2) - (2)].list);
+                               n->priv_name = (yyvsp[-1].str);
+                               n->cols = (yyvsp[0].list);
                                (yyval.accesspriv) = n;
                        }
+#line 31383 "gram.c" /* yacc.c:1646  */
     break;
 
   case 945:
-/* Line 1792 of yacc.c  */
-#line 6381 "gram.y"
+#line 6380 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_RELATION;
-                                       n->objs = (yyvsp[(1) - (1)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31395 "gram.c" /* yacc.c:1646  */
     break;
 
   case 946:
-/* Line 1792 of yacc.c  */
-#line 6389 "gram.y"
+#line 6388 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_RELATION;
-                                       n->objs = (yyvsp[(2) - (2)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31407 "gram.c" /* yacc.c:1646  */
     break;
 
   case 947:
-/* Line 1792 of yacc.c  */
-#line 6397 "gram.y"
+#line 6396 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_SEQUENCE;
-                                       n->objs = (yyvsp[(2) - (2)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31419 "gram.c" /* yacc.c:1646  */
     break;
 
   case 948:
-/* Line 1792 of yacc.c  */
-#line 6405 "gram.y"
+#line 6404 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_FDW;
-                                       n->objs = (yyvsp[(4) - (4)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31431 "gram.c" /* yacc.c:1646  */
     break;
 
   case 949:
-/* Line 1792 of yacc.c  */
-#line 6413 "gram.y"
+#line 6412 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_FOREIGN_SERVER;
-                                       n->objs = (yyvsp[(3) - (3)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31443 "gram.c" /* yacc.c:1646  */
     break;
 
   case 950:
-/* Line 1792 of yacc.c  */
-#line 6421 "gram.y"
+#line 6420 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_FUNCTION;
-                                       n->objs = (yyvsp[(2) - (2)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31455 "gram.c" /* yacc.c:1646  */
     break;
 
   case 951:
-/* Line 1792 of yacc.c  */
-#line 6429 "gram.y"
+#line 6428 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_DATABASE;
-                                       n->objs = (yyvsp[(2) - (2)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31467 "gram.c" /* yacc.c:1646  */
     break;
 
   case 952:
-/* Line 1792 of yacc.c  */
-#line 6437 "gram.y"
+#line 6436 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_DOMAIN;
-                                       n->objs = (yyvsp[(2) - (2)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31479 "gram.c" /* yacc.c:1646  */
     break;
 
   case 953:
-/* Line 1792 of yacc.c  */
-#line 6445 "gram.y"
+#line 6444 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_LANGUAGE;
-                                       n->objs = (yyvsp[(2) - (2)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31491 "gram.c" /* yacc.c:1646  */
     break;
 
   case 954:
-/* Line 1792 of yacc.c  */
-#line 6453 "gram.y"
+#line 6452 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_LARGEOBJECT;
-                                       n->objs = (yyvsp[(3) - (3)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31503 "gram.c" /* yacc.c:1646  */
     break;
 
   case 955:
-/* Line 1792 of yacc.c  */
-#line 6461 "gram.y"
+#line 6460 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_NAMESPACE;
-                                       n->objs = (yyvsp[(2) - (2)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31515 "gram.c" /* yacc.c:1646  */
     break;
 
   case 956:
-/* Line 1792 of yacc.c  */
-#line 6469 "gram.y"
+#line 6468 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_TABLESPACE;
-                                       n->objs = (yyvsp[(2) - (2)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31527 "gram.c" /* yacc.c:1646  */
     break;
 
   case 957:
-/* Line 1792 of yacc.c  */
-#line 6477 "gram.y"
+#line 6476 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_OBJECT;
                                        n->objtype = ACL_OBJECT_TYPE;
-                                       n->objs = (yyvsp[(2) - (2)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31539 "gram.c" /* yacc.c:1646  */
     break;
 
   case 958:
-/* Line 1792 of yacc.c  */
-#line 6485 "gram.y"
+#line 6484 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
                                        n->objtype = ACL_OBJECT_RELATION;
-                                       n->objs = (yyvsp[(5) - (5)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31551 "gram.c" /* yacc.c:1646  */
     break;
 
   case 959:
-/* Line 1792 of yacc.c  */
-#line 6493 "gram.y"
+#line 6492 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
                                        n->objtype = ACL_OBJECT_SEQUENCE;
-                                       n->objs = (yyvsp[(5) - (5)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31563 "gram.c" /* yacc.c:1646  */
     break;
 
   case 960:
-/* Line 1792 of yacc.c  */
-#line 6501 "gram.y"
+#line 6500 "gram.y" /* yacc.c:1646  */
     {
                                        PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
                                        n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
                                        n->objtype = ACL_OBJECT_FUNCTION;
-                                       n->objs = (yyvsp[(5) - (5)].list);
+                                       n->objs = (yyvsp[0].list);
                                        (yyval.privtarget) = n;
                                }
+#line 31575 "gram.c" /* yacc.c:1646  */
     break;
 
   case 961:
-/* Line 1792 of yacc.c  */
-#line 6512 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 6511 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 31581 "gram.c" /* yacc.c:1646  */
     break;
 
   case 962:
-/* Line 1792 of yacc.c  */
-#line 6513 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 6512 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 31587 "gram.c" /* yacc.c:1646  */
     break;
 
   case 963:
-/* Line 1792 of yacc.c  */
-#line 6517 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 6516 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 31593 "gram.c" /* yacc.c:1646  */
     break;
 
   case 964:
-/* Line 1792 of yacc.c  */
-#line 6518 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 6517 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 31599 "gram.c" /* yacc.c:1646  */
     break;
 
   case 965:
-/* Line 1792 of yacc.c  */
-#line 6523 "gram.y"
+#line 6522 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 31605 "gram.c" /* yacc.c:1646  */
     break;
 
   case 966:
-/* Line 1792 of yacc.c  */
-#line 6524 "gram.y"
+#line 6523 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 31611 "gram.c" /* yacc.c:1646  */
     break;
 
   case 967:
-/* Line 1792 of yacc.c  */
-#line 6528 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].funwithargs)); }
+#line 6527 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].funwithargs)); }
+#line 31617 "gram.c" /* yacc.c:1646  */
     break;
 
   case 968:
-/* Line 1792 of yacc.c  */
-#line 6530 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].funwithargs)); }
+#line 6529 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].funwithargs)); }
+#line 31623 "gram.c" /* yacc.c:1646  */
     break;
 
   case 969:
-/* Line 1792 of yacc.c  */
-#line 6535 "gram.y"
+#line 6534 "gram.y" /* yacc.c:1646  */
     {
                                        FuncWithArgs *n = makeNode(FuncWithArgs);
-                                       n->funcname = (yyvsp[(1) - (2)].list);
-                                       n->funcargs = extractArgTypes((yyvsp[(2) - (2)].list));
+                                       n->funcname = (yyvsp[-1].list);
+                                       n->funcargs = extractArgTypes((yyvsp[0].list));
                                        (yyval.funwithargs) = n;
                                }
+#line 31634 "gram.c" /* yacc.c:1646  */
     break;
 
   case 970:
-/* Line 1792 of yacc.c  */
-#line 6551 "gram.y"
+#line 6550 "gram.y" /* yacc.c:1646  */
     {
                                        GrantRoleStmt *n = makeNode(GrantRoleStmt);
                                        n->is_grant = true;
-                                       n->granted_roles = (yyvsp[(2) - (6)].list);
-                                       n->grantee_roles = (yyvsp[(4) - (6)].list);
-                                       n->admin_opt = (yyvsp[(5) - (6)].boolean);
-                                       n->grantor = (yyvsp[(6) - (6)].node);
+                                       n->granted_roles = (yyvsp[-4].list);
+                                       n->grantee_roles = (yyvsp[-2].list);
+                                       n->admin_opt = (yyvsp[-1].boolean);
+                                       n->grantor = (yyvsp[0].node);
                                        (yyval.node) = (Node*)n;
                                }
+#line 31648 "gram.c" /* yacc.c:1646  */
     break;
 
   case 971:
-/* Line 1792 of yacc.c  */
-#line 6564 "gram.y"
+#line 6563 "gram.y" /* yacc.c:1646  */
     {
                                        GrantRoleStmt *n = makeNode(GrantRoleStmt);
                                        n->is_grant = false;
                                        n->admin_opt = false;
-                                       n->granted_roles = (yyvsp[(2) - (6)].list);
-                                       n->grantee_roles = (yyvsp[(4) - (6)].list);
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->granted_roles = (yyvsp[-4].list);
+                                       n->grantee_roles = (yyvsp[-2].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        (yyval.node) = (Node*)n;
                                }
+#line 31662 "gram.c" /* yacc.c:1646  */
     break;
 
   case 972:
-/* Line 1792 of yacc.c  */
-#line 6574 "gram.y"
+#line 6573 "gram.y" /* yacc.c:1646  */
     {
                                        GrantRoleStmt *n = makeNode(GrantRoleStmt);
                                        n->is_grant = false;
                                        n->admin_opt = true;
-                                       n->granted_roles = (yyvsp[(5) - (9)].list);
-                                       n->grantee_roles = (yyvsp[(7) - (9)].list);
-                                       n->behavior = (yyvsp[(9) - (9)].dbehavior);
+                                       n->granted_roles = (yyvsp[-4].list);
+                                       n->grantee_roles = (yyvsp[-2].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        (yyval.node) = (Node*)n;
                                }
+#line 31676 "gram.c" /* yacc.c:1646  */
     break;
 
   case 973:
-/* Line 1792 of yacc.c  */
-#line 6585 "gram.y"
+#line 6584 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 31682 "gram.c" /* yacc.c:1646  */
     break;
 
   case 974:
-/* Line 1792 of yacc.c  */
-#line 6586 "gram.y"
+#line 6585 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 31688 "gram.c" /* yacc.c:1646  */
     break;
 
   case 975:
-/* Line 1792 of yacc.c  */
-#line 6589 "gram.y"
-    { (yyval.node) = (yyvsp[(3) - (3)].node); }
+#line 6588 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 31694 "gram.c" /* yacc.c:1646  */
     break;
 
   case 976:
-/* Line 1792 of yacc.c  */
-#line 6590 "gram.y"
+#line 6589 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 31700 "gram.c" /* yacc.c:1646  */
     break;
 
   case 977:
-/* Line 1792 of yacc.c  */
-#line 6601 "gram.y"
+#line 6600 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
-                                       n->options = (yyvsp[(4) - (5)].list);
-                                       n->action = (GrantStmt *) (yyvsp[(5) - (5)].node);
+                                       n->options = (yyvsp[-1].list);
+                                       n->action = (GrantStmt *) (yyvsp[0].node);
                                        (yyval.node) = (Node*)n;
                                }
+#line 31711 "gram.c" /* yacc.c:1646  */
     break;
 
   case 978:
-/* Line 1792 of yacc.c  */
-#line 6610 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 6609 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 31717 "gram.c" /* yacc.c:1646  */
     break;
 
   case 979:
-/* Line 1792 of yacc.c  */
-#line 6611 "gram.y"
+#line 6610 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 31723 "gram.c" /* yacc.c:1646  */
     break;
 
   case 980:
-/* Line 1792 of yacc.c  */
-#line 6616 "gram.y"
+#line 6615 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[(3) - (3)].list));
+                                       (yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list));
                                }
+#line 31731 "gram.c" /* yacc.c:1646  */
     break;
 
   case 981:
-/* Line 1792 of yacc.c  */
-#line 6620 "gram.y"
+#line 6619 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[(3) - (3)].list));
+                                       (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list));
                                }
+#line 31739 "gram.c" /* yacc.c:1646  */
     break;
 
   case 982:
-/* Line 1792 of yacc.c  */
-#line 6624 "gram.y"
+#line 6623 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[(3) - (3)].list));
+                                       (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list));
                                }
+#line 31747 "gram.c" /* yacc.c:1646  */
     break;
 
   case 983:
-/* Line 1792 of yacc.c  */
-#line 6636 "gram.y"
+#line 6635 "gram.y" /* yacc.c:1646  */
     {
                                        GrantStmt *n = makeNode(GrantStmt);
                                        n->is_grant = true;
-                                       n->privileges = (yyvsp[(2) - (7)].list);
+                                       n->privileges = (yyvsp[-5].list);
                                        n->targtype = ACL_TARGET_DEFAULTS;
-                                       n->objtype = (yyvsp[(4) - (7)].ival);
+                                       n->objtype = (yyvsp[-3].ival);
                                        n->objects = NIL;
-                                       n->grantees = (yyvsp[(6) - (7)].list);
-                                       n->grant_option = (yyvsp[(7) - (7)].boolean);
+                                       n->grantees = (yyvsp[-1].list);
+                                       n->grant_option = (yyvsp[0].boolean);
                                        (yyval.node) = (Node*)n;
                                }
+#line 31763 "gram.c" /* yacc.c:1646  */
     break;
 
   case 984:
-/* Line 1792 of yacc.c  */
-#line 6649 "gram.y"
+#line 6648 "gram.y" /* yacc.c:1646  */
     {
                                        GrantStmt *n = makeNode(GrantStmt);
                                        n->is_grant = false;
                                        n->grant_option = false;
-                                       n->privileges = (yyvsp[(2) - (7)].list);
+                                       n->privileges = (yyvsp[-5].list);
                                        n->targtype = ACL_TARGET_DEFAULTS;
-                                       n->objtype = (yyvsp[(4) - (7)].ival);
+                                       n->objtype = (yyvsp[-3].ival);
                                        n->objects = NIL;
-                                       n->grantees = (yyvsp[(6) - (7)].list);
-                                       n->behavior = (yyvsp[(7) - (7)].dbehavior);
+                                       n->grantees = (yyvsp[-1].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        (yyval.node) = (Node *)n;
                                }
+#line 31780 "gram.c" /* yacc.c:1646  */
     break;
 
   case 985:
-/* Line 1792 of yacc.c  */
-#line 6663 "gram.y"
+#line 6662 "gram.y" /* yacc.c:1646  */
     {
                                        GrantStmt *n = makeNode(GrantStmt);
                                        n->is_grant = false;
                                        n->grant_option = true;
-                                       n->privileges = (yyvsp[(5) - (10)].list);
+                                       n->privileges = (yyvsp[-5].list);
                                        n->targtype = ACL_TARGET_DEFAULTS;
-                                       n->objtype = (yyvsp[(7) - (10)].ival);
+                                       n->objtype = (yyvsp[-3].ival);
                                        n->objects = NIL;
-                                       n->grantees = (yyvsp[(9) - (10)].list);
-                                       n->behavior = (yyvsp[(10) - (10)].dbehavior);
+                                       n->grantees = (yyvsp[-1].list);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        (yyval.node) = (Node *)n;
                                }
+#line 31797 "gram.c" /* yacc.c:1646  */
     break;
 
   case 986:
-/* Line 1792 of yacc.c  */
-#line 6678 "gram.y"
+#line 6677 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ACL_OBJECT_RELATION; }
+#line 31803 "gram.c" /* yacc.c:1646  */
     break;
 
   case 987:
-/* Line 1792 of yacc.c  */
-#line 6679 "gram.y"
+#line 6678 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ACL_OBJECT_FUNCTION; }
+#line 31809 "gram.c" /* yacc.c:1646  */
     break;
 
   case 988:
-/* Line 1792 of yacc.c  */
-#line 6680 "gram.y"
+#line 6679 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ACL_OBJECT_SEQUENCE; }
+#line 31815 "gram.c" /* yacc.c:1646  */
     break;
 
   case 989:
-/* Line 1792 of yacc.c  */
-#line 6681 "gram.y"
+#line 6680 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ACL_OBJECT_TYPE; }
+#line 31821 "gram.c" /* yacc.c:1646  */
     break;
 
   case 990:
-/* Line 1792 of yacc.c  */
-#line 6696 "gram.y"
+#line 6695 "gram.y" /* yacc.c:1646  */
     {
                                        IndexStmt *n = makeNode(IndexStmt);
-                                       n->unique = (yyvsp[(2) - (14)].boolean);
-                                       n->concurrent = (yyvsp[(4) - (14)].boolean);
-                                       n->idxname = (yyvsp[(5) - (14)].str);
-                                       n->relation = (yyvsp[(7) - (14)].range);
-                                       n->accessMethod = (yyvsp[(8) - (14)].str);
-                                       n->indexParams = (yyvsp[(10) - (14)].list);
-                                       n->options = (yyvsp[(12) - (14)].list);
-                                       n->tableSpace = (yyvsp[(13) - (14)].str);
-                                       n->whereClause = (yyvsp[(14) - (14)].node);
+                                       n->unique = (yyvsp[-12].boolean);
+                                       n->concurrent = (yyvsp[-10].boolean);
+                                       n->idxname = (yyvsp[-9].str);
+                                       n->relation = (yyvsp[-7].range);
+                                       n->accessMethod = (yyvsp[-6].str);
+                                       n->indexParams = (yyvsp[-4].list);
+                                       n->options = (yyvsp[-2].list);
+                                       n->tableSpace = (yyvsp[-1].str);
+                                       n->whereClause = (yyvsp[0].node);
                                        n->excludeOpNames = NIL;
                                        n->idxcomment = NULL;
                                        n->indexOid = InvalidOid;
@@ -33159,22 +31845,22 @@ yyreduce:
                                        n->if_not_exists = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31849 "gram.c" /* yacc.c:1646  */
     break;
 
   case 991:
-/* Line 1792 of yacc.c  */
-#line 6722 "gram.y"
+#line 6721 "gram.y" /* yacc.c:1646  */
     {
                                        IndexStmt *n = makeNode(IndexStmt);
-                                       n->unique = (yyvsp[(2) - (17)].boolean);
-                                       n->concurrent = (yyvsp[(4) - (17)].boolean);
-                                       n->idxname = (yyvsp[(8) - (17)].str);
-                                       n->relation = (yyvsp[(10) - (17)].range);
-                                       n->accessMethod = (yyvsp[(11) - (17)].str);
-                                       n->indexParams = (yyvsp[(13) - (17)].list);
-                                       n->options = (yyvsp[(15) - (17)].list);
-                                       n->tableSpace = (yyvsp[(16) - (17)].str);
-                                       n->whereClause = (yyvsp[(17) - (17)].node);
+                                       n->unique = (yyvsp[-15].boolean);
+                                       n->concurrent = (yyvsp[-13].boolean);
+                                       n->idxname = (yyvsp[-9].str);
+                                       n->relation = (yyvsp[-7].range);
+                                       n->accessMethod = (yyvsp[-6].str);
+                                       n->indexParams = (yyvsp[-4].list);
+                                       n->options = (yyvsp[-2].list);
+                                       n->tableSpace = (yyvsp[-1].str);
+                                       n->whereClause = (yyvsp[0].node);
                                        n->excludeOpNames = NIL;
                                        n->idxcomment = NULL;
                                        n->indexOid = InvalidOid;
@@ -33187,4313 +31873,4313 @@ yyreduce:
                                        n->if_not_exists = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 31877 "gram.c" /* yacc.c:1646  */
     break;
 
   case 992:
-/* Line 1792 of yacc.c  */
-#line 6748 "gram.y"
+#line 6747 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 31883 "gram.c" /* yacc.c:1646  */
     break;
 
   case 993:
-/* Line 1792 of yacc.c  */
-#line 6749 "gram.y"
+#line 6748 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 31889 "gram.c" /* yacc.c:1646  */
     break;
 
   case 994:
-/* Line 1792 of yacc.c  */
-#line 6753 "gram.y"
+#line 6752 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 31895 "gram.c" /* yacc.c:1646  */
     break;
 
   case 995:
-/* Line 1792 of yacc.c  */
-#line 6754 "gram.y"
+#line 6753 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 31901 "gram.c" /* yacc.c:1646  */
     break;
 
   case 996:
-/* Line 1792 of yacc.c  */
-#line 6758 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 6757 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 31907 "gram.c" /* yacc.c:1646  */
     break;
 
   case 997:
-/* Line 1792 of yacc.c  */
-#line 6759 "gram.y"
+#line 6758 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 31913 "gram.c" /* yacc.c:1646  */
     break;
 
   case 998:
-/* Line 1792 of yacc.c  */
-#line 6763 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].str); }
+#line 6762 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 31919 "gram.c" /* yacc.c:1646  */
     break;
 
   case 999:
-/* Line 1792 of yacc.c  */
-#line 6764 "gram.y"
+#line 6763 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = DEFAULT_INDEX_TYPE; }
+#line 31925 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1000:
-/* Line 1792 of yacc.c  */
-#line 6767 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); }
+#line 6766 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].ielem)); }
+#line 31931 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1001:
-/* Line 1792 of yacc.c  */
-#line 6768 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); }
+#line 6767 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
+#line 31937 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1002:
-/* Line 1792 of yacc.c  */
-#line 6777 "gram.y"
+#line 6776 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.ielem) = makeNode(IndexElem);
-                                       (yyval.ielem)->name = (yyvsp[(1) - (5)].str);
+                                       (yyval.ielem)->name = (yyvsp[-4].str);
                                        (yyval.ielem)->expr = NULL;
                                        (yyval.ielem)->indexcolname = NULL;
-                                       (yyval.ielem)->collation = (yyvsp[(2) - (5)].list);
-                                       (yyval.ielem)->opclass = (yyvsp[(3) - (5)].list);
-                                       (yyval.ielem)->ordering = (yyvsp[(4) - (5)].ival);
-                                       (yyval.ielem)->nulls_ordering = (yyvsp[(5) - (5)].ival);
+                                       (yyval.ielem)->collation = (yyvsp[-3].list);
+                                       (yyval.ielem)->opclass = (yyvsp[-2].list);
+                                       (yyval.ielem)->ordering = (yyvsp[-1].ival);
+                                       (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
                                }
+#line 31952 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1003:
-/* Line 1792 of yacc.c  */
-#line 6788 "gram.y"
+#line 6787 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.ielem) = makeNode(IndexElem);
                                        (yyval.ielem)->name = NULL;
-                                       (yyval.ielem)->expr = (yyvsp[(1) - (5)].node);
+                                       (yyval.ielem)->expr = (yyvsp[-4].node);
                                        (yyval.ielem)->indexcolname = NULL;
-                                       (yyval.ielem)->collation = (yyvsp[(2) - (5)].list);
-                                       (yyval.ielem)->opclass = (yyvsp[(3) - (5)].list);
-                                       (yyval.ielem)->ordering = (yyvsp[(4) - (5)].ival);
-                                       (yyval.ielem)->nulls_ordering = (yyvsp[(5) - (5)].ival);
+                                       (yyval.ielem)->collation = (yyvsp[-3].list);
+                                       (yyval.ielem)->opclass = (yyvsp[-2].list);
+                                       (yyval.ielem)->ordering = (yyvsp[-1].ival);
+                                       (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
                                }
+#line 31967 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1004:
-/* Line 1792 of yacc.c  */
-#line 6799 "gram.y"
+#line 6798 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.ielem) = makeNode(IndexElem);
                                        (yyval.ielem)->name = NULL;
-                                       (yyval.ielem)->expr = (yyvsp[(2) - (7)].node);
+                                       (yyval.ielem)->expr = (yyvsp[-5].node);
                                        (yyval.ielem)->indexcolname = NULL;
-                                       (yyval.ielem)->collation = (yyvsp[(4) - (7)].list);
-                                       (yyval.ielem)->opclass = (yyvsp[(5) - (7)].list);
-                                       (yyval.ielem)->ordering = (yyvsp[(6) - (7)].ival);
-                                       (yyval.ielem)->nulls_ordering = (yyvsp[(7) - (7)].ival);
+                                       (yyval.ielem)->collation = (yyvsp[-3].list);
+                                       (yyval.ielem)->opclass = (yyvsp[-2].list);
+                                       (yyval.ielem)->ordering = (yyvsp[-1].ival);
+                                       (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
                                }
+#line 31982 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1005:
-/* Line 1792 of yacc.c  */
-#line 6811 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 6810 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 31988 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1006:
-/* Line 1792 of yacc.c  */
-#line 6812 "gram.y"
+#line 6811 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 31994 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1007:
-/* Line 1792 of yacc.c  */
-#line 6815 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 6814 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 32000 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1008:
-/* Line 1792 of yacc.c  */
-#line 6816 "gram.y"
+#line 6815 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 32006 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1009:
-/* Line 1792 of yacc.c  */
-#line 6819 "gram.y"
+#line 6818 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = SORTBY_ASC; }
+#line 32012 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1010:
-/* Line 1792 of yacc.c  */
-#line 6820 "gram.y"
+#line 6819 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = SORTBY_DESC; }
+#line 32018 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1011:
-/* Line 1792 of yacc.c  */
-#line 6821 "gram.y"
+#line 6820 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = SORTBY_DEFAULT; }
+#line 32024 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1012:
-/* Line 1792 of yacc.c  */
-#line 6824 "gram.y"
+#line 6823 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = SORTBY_NULLS_FIRST; }
+#line 32030 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1013:
-/* Line 1792 of yacc.c  */
-#line 6825 "gram.y"
+#line 6824 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = SORTBY_NULLS_LAST; }
+#line 32036 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1014:
-/* Line 1792 of yacc.c  */
-#line 6826 "gram.y"
+#line 6825 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
+#line 32042 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1015:
-/* Line 1792 of yacc.c  */
-#line 6844 "gram.y"
+#line 6843 "gram.y" /* yacc.c:1646  */
     {
                                        CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
-                                       n->replace = (yyvsp[(2) - (9)].boolean);
-                                       n->funcname = (yyvsp[(4) - (9)].list);
-                                       n->parameters = (yyvsp[(5) - (9)].list);
-                                       n->returnType = (yyvsp[(7) - (9)].typnam);
-                                       n->options = (yyvsp[(8) - (9)].list);
-                                       n->withClause = (yyvsp[(9) - (9)].list);
+                                       n->replace = (yyvsp[-7].boolean);
+                                       n->funcname = (yyvsp[-5].list);
+                                       n->parameters = (yyvsp[-4].list);
+                                       n->returnType = (yyvsp[-2].typnam);
+                                       n->options = (yyvsp[-1].list);
+                                       n->withClause = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 32057 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1016:
-/* Line 1792 of yacc.c  */
-#line 6856 "gram.y"
+#line 6855 "gram.y" /* yacc.c:1646  */
     {
                                        CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
-                                       n->replace = (yyvsp[(2) - (12)].boolean);
-                                       n->funcname = (yyvsp[(4) - (12)].list);
-                                       n->parameters = mergeTableFuncParameters((yyvsp[(5) - (12)].list), (yyvsp[(9) - (12)].list));
-                                       n->returnType = TableFuncTypeName((yyvsp[(9) - (12)].list));
-                                       n->returnType->location = (yylsp[(7) - (12)]);
-                                       n->options = (yyvsp[(11) - (12)].list);
-                                       n->withClause = (yyvsp[(12) - (12)].list);
+                                       n->replace = (yyvsp[-10].boolean);
+                                       n->funcname = (yyvsp[-8].list);
+                                       n->parameters = mergeTableFuncParameters((yyvsp[-7].list), (yyvsp[-3].list));
+                                       n->returnType = TableFuncTypeName((yyvsp[-3].list));
+                                       n->returnType->location = (yylsp[-5]);
+                                       n->options = (yyvsp[-1].list);
+                                       n->withClause = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 32073 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1017:
-/* Line 1792 of yacc.c  */
-#line 6869 "gram.y"
+#line 6868 "gram.y" /* yacc.c:1646  */
     {
                                        CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
-                                       n->replace = (yyvsp[(2) - (7)].boolean);
-                                       n->funcname = (yyvsp[(4) - (7)].list);
-                                       n->parameters = (yyvsp[(5) - (7)].list);
+                                       n->replace = (yyvsp[-5].boolean);
+                                       n->funcname = (yyvsp[-3].list);
+                                       n->parameters = (yyvsp[-2].list);
                                        n->returnType = NULL;
-                                       n->options = (yyvsp[(6) - (7)].list);
-                                       n->withClause = (yyvsp[(7) - (7)].list);
+                                       n->options = (yyvsp[-1].list);
+                                       n->withClause = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 32088 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1018:
-/* Line 1792 of yacc.c  */
-#line 6882 "gram.y"
+#line 6881 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 32094 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1019:
-/* Line 1792 of yacc.c  */
-#line 6883 "gram.y"
+#line 6882 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 32100 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1020:
-/* Line 1792 of yacc.c  */
-#line 6886 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 6885 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 32106 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1021:
-/* Line 1792 of yacc.c  */
-#line 6887 "gram.y"
+#line 6886 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 32112 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1022:
-/* Line 1792 of yacc.c  */
-#line 6891 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); }
+#line 6890 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
+#line 32118 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1023:
-/* Line 1792 of yacc.c  */
-#line 6892 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); }
+#line 6891 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
+#line 32124 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1024:
-/* Line 1792 of yacc.c  */
-#line 6900 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 6899 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 32130 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1025:
-/* Line 1792 of yacc.c  */
-#line 6901 "gram.y"
+#line 6900 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 32136 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1026:
-/* Line 1792 of yacc.c  */
-#line 6905 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); }
+#line 6904 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
+#line 32142 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1027:
-/* Line 1792 of yacc.c  */
-#line 6907 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); }
+#line 6906 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
+#line 32148 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1028:
-/* Line 1792 of yacc.c  */
-#line 6922 "gram.y"
+#line 6921 "gram.y" /* yacc.c:1646  */
     {
                                        FunctionParameter *n = makeNode(FunctionParameter);
-                                       n->name = (yyvsp[(2) - (3)].str);
-                                       n->argType = (yyvsp[(3) - (3)].typnam);
-                                       n->mode = (yyvsp[(1) - (3)].fun_param_mode);
+                                       n->name = (yyvsp[-1].str);
+                                       n->argType = (yyvsp[0].typnam);
+                                       n->mode = (yyvsp[-2].fun_param_mode);
                                        n->defexpr = NULL;
                                        (yyval.fun_param) = n;
                                }
+#line 32161 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1029:
-/* Line 1792 of yacc.c  */
-#line 6931 "gram.y"
+#line 6930 "gram.y" /* yacc.c:1646  */
     {
                                        FunctionParameter *n = makeNode(FunctionParameter);
-                                       n->name = (yyvsp[(1) - (3)].str);
-                                       n->argType = (yyvsp[(3) - (3)].typnam);
-                                       n->mode = (yyvsp[(2) - (3)].fun_param_mode);
+                                       n->name = (yyvsp[-2].str);
+                                       n->argType = (yyvsp[0].typnam);
+                                       n->mode = (yyvsp[-1].fun_param_mode);
                                        n->defexpr = NULL;
                                        (yyval.fun_param) = n;
                                }
+#line 32174 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1030:
-/* Line 1792 of yacc.c  */
-#line 6940 "gram.y"
+#line 6939 "gram.y" /* yacc.c:1646  */
     {
                                        FunctionParameter *n = makeNode(FunctionParameter);
-                                       n->name = (yyvsp[(1) - (2)].str);
-                                       n->argType = (yyvsp[(2) - (2)].typnam);
+                                       n->name = (yyvsp[-1].str);
+                                       n->argType = (yyvsp[0].typnam);
                                        n->mode = FUNC_PARAM_IN;
                                        n->defexpr = NULL;
                                        (yyval.fun_param) = n;
                                }
+#line 32187 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1031:
-/* Line 1792 of yacc.c  */
-#line 6949 "gram.y"
+#line 6948 "gram.y" /* yacc.c:1646  */
     {
                                        FunctionParameter *n = makeNode(FunctionParameter);
                                        n->name = NULL;
-                                       n->argType = (yyvsp[(2) - (2)].typnam);
-                                       n->mode = (yyvsp[(1) - (2)].fun_param_mode);
+                                       n->argType = (yyvsp[0].typnam);
+                                       n->mode = (yyvsp[-1].fun_param_mode);
                                        n->defexpr = NULL;
                                        (yyval.fun_param) = n;
                                }
+#line 32200 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1032:
-/* Line 1792 of yacc.c  */
-#line 6958 "gram.y"
+#line 6957 "gram.y" /* yacc.c:1646  */
     {
                                        FunctionParameter *n = makeNode(FunctionParameter);
                                        n->name = NULL;
-                                       n->argType = (yyvsp[(1) - (1)].typnam);
+                                       n->argType = (yyvsp[0].typnam);
                                        n->mode = FUNC_PARAM_IN;
                                        n->defexpr = NULL;
                                        (yyval.fun_param) = n;
                                }
+#line 32213 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1033:
-/* Line 1792 of yacc.c  */
-#line 6969 "gram.y"
+#line 6968 "gram.y" /* yacc.c:1646  */
     { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
+#line 32219 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1034:
-/* Line 1792 of yacc.c  */
-#line 6970 "gram.y"
+#line 6969 "gram.y" /* yacc.c:1646  */
     { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
+#line 32225 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1035:
-/* Line 1792 of yacc.c  */
-#line 6971 "gram.y"
+#line 6970 "gram.y" /* yacc.c:1646  */
     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
+#line 32231 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1036:
-/* Line 1792 of yacc.c  */
-#line 6972 "gram.y"
+#line 6971 "gram.y" /* yacc.c:1646  */
     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
+#line 32237 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1037:
-/* Line 1792 of yacc.c  */
-#line 6973 "gram.y"
+#line 6972 "gram.y" /* yacc.c:1646  */
     { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
+#line 32243 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1039:
-/* Line 1792 of yacc.c  */
-#line 6984 "gram.y"
+#line 6983 "gram.y" /* yacc.c:1646  */
     {
                                        /* We can catch over-specified results here if we want to,
                                         * but for now better to silently swallow typmod, etc.
                                         * - thomas 2000-03-22
                                         */
-                                       (yyval.typnam) = (yyvsp[(1) - (1)].typnam);
+                                       (yyval.typnam) = (yyvsp[0].typnam);
                                }
+#line 32255 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1040:
-/* Line 1792 of yacc.c  */
-#line 6998 "gram.y"
-    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
+#line 6997 "gram.y" /* yacc.c:1646  */
+    { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 32261 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1041:
-/* Line 1792 of yacc.c  */
-#line 7000 "gram.y"
+#line 6999 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (4)].str)), (yyvsp[(2) - (4)].list)));
+                                       (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
                                        (yyval.typnam)->pct_type = true;
-                                       (yyval.typnam)->location = (yylsp[(1) - (4)]);
+                                       (yyval.typnam)->location = (yylsp[-3]);
                                }
+#line 32271 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1042:
-/* Line 1792 of yacc.c  */
-#line 7006 "gram.y"
+#line 7005 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(2) - (5)].str)), (yyvsp[(3) - (5)].list)));
+                                       (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
                                        (yyval.typnam)->pct_type = true;
                                        (yyval.typnam)->setof = TRUE;
-                                       (yyval.typnam)->location = (yylsp[(2) - (5)]);
+                                       (yyval.typnam)->location = (yylsp[-3]);
                                }
+#line 32282 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1043:
-/* Line 1792 of yacc.c  */
-#line 7016 "gram.y"
+#line 7015 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
+                                       (yyval.fun_param) = (yyvsp[0].fun_param);
                                }
+#line 32290 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1044:
-/* Line 1792 of yacc.c  */
-#line 7020 "gram.y"
+#line 7019 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
-                                       (yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
+                                       (yyval.fun_param) = (yyvsp[-2].fun_param);
+                                       (yyval.fun_param)->defexpr = (yyvsp[0].node);
                                }
+#line 32299 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1045:
-/* Line 1792 of yacc.c  */
-#line 7025 "gram.y"
+#line 7024 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
-                                       (yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
+                                       (yyval.fun_param) = (yyvsp[-2].fun_param);
+                                       (yyval.fun_param)->defexpr = (yyvsp[0].node);
                                }
+#line 32308 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1046:
-/* Line 1792 of yacc.c  */
-#line 7033 "gram.y"
+#line 7032 "gram.y" /* yacc.c:1646  */
     {
-                                       if (!((yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_IN ||
-                                                 (yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_VARIADIC))
+                                       if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
+                                                 (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                                 errmsg("aggregates cannot have output arguments"),
-                                                                parser_errposition((yylsp[(1) - (1)]))));
-                                       (yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
+                                                                parser_errposition((yylsp[0]))));
+                                       (yyval.fun_param) = (yyvsp[0].fun_param);
                                }
+#line 32322 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1047:
-/* Line 1792 of yacc.c  */
-#line 7074 "gram.y"
+#line 7073 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.list) = list_make2(NIL, makeInteger(-1));
                                }
+#line 32330 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1048:
-/* Line 1792 of yacc.c  */
-#line 7078 "gram.y"
+#line 7077 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2((yyvsp[(2) - (3)].list), makeInteger(-1));
+                                       (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
                                }
+#line 32338 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1049:
-/* Line 1792 of yacc.c  */
-#line 7082 "gram.y"
+#line 7081 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2((yyvsp[(4) - (5)].list), makeInteger(0));
+                                       (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
                                }
+#line 32346 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1050:
-/* Line 1792 of yacc.c  */
-#line 7086 "gram.y"
+#line 7085 "gram.y" /* yacc.c:1646  */
     {
                                        /* this is the only case requiring consistency checking */
-                                       (yyval.list) = makeOrderedSetArgs((yyvsp[(2) - (6)].list), (yyvsp[(5) - (6)].list), yyscanner);
+                                       (yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
                                }
+#line 32355 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1051:
-/* Line 1792 of yacc.c  */
-#line 7093 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); }
+#line 7092 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
+#line 32361 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1052:
-/* Line 1792 of yacc.c  */
-#line 7094 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); }
+#line 7093 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
+#line 32367 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1053:
-/* Line 1792 of yacc.c  */
-#line 7099 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 7098 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 32373 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1054:
-/* Line 1792 of yacc.c  */
-#line 7100 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 7099 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 32379 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1055:
-/* Line 1792 of yacc.c  */
-#line 7108 "gram.y"
+#line 7107 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(FALSE));
                                }
+#line 32387 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1056:
-/* Line 1792 of yacc.c  */
-#line 7112 "gram.y"
+#line 7111 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
                                }
+#line 32395 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1057:
-/* Line 1792 of yacc.c  */
-#line 7116 "gram.y"
+#line 7115 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
                                }
+#line 32403 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1058:
-/* Line 1792 of yacc.c  */
-#line 7120 "gram.y"
+#line 7119 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"));
                                }
+#line 32411 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1059:
-/* Line 1792 of yacc.c  */
-#line 7124 "gram.y"
+#line 7123 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"));
                                }
+#line 32419 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1060:
-/* Line 1792 of yacc.c  */
-#line 7128 "gram.y"
+#line 7127 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"));
                                }
+#line 32427 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1061:
-/* Line 1792 of yacc.c  */
-#line 7132 "gram.y"
+#line 7131 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
                                }
+#line 32435 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1062:
-/* Line 1792 of yacc.c  */
-#line 7136 "gram.y"
+#line 7135 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
                                }
+#line 32443 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1063:
-/* Line 1792 of yacc.c  */
-#line 7140 "gram.y"
+#line 7139 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
                                }
+#line 32451 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1064:
-/* Line 1792 of yacc.c  */
-#line 7144 "gram.y"
+#line 7143 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
                                }
+#line 32459 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1065:
-/* Line 1792 of yacc.c  */
-#line 7148 "gram.y"
+#line 7147 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(TRUE));
                                }
+#line 32467 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1066:
-/* Line 1792 of yacc.c  */
-#line 7152 "gram.y"
+#line 7151 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(FALSE));
                                }
+#line 32475 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1067:
-/* Line 1792 of yacc.c  */
-#line 7156 "gram.y"
+#line 7155 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[(2) - (2)].value));
+                                       (yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value));
                                }
+#line 32483 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1068:
-/* Line 1792 of yacc.c  */
-#line 7160 "gram.y"
+#line 7159 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[(2) - (2)].value));
+                                       (yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value));
                                }
+#line 32491 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1069:
-/* Line 1792 of yacc.c  */
-#line 7164 "gram.y"
+#line 7163 "gram.y" /* yacc.c:1646  */
     {
                                        /* we abuse the normal content of a DefElem here */
-                                       (yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[(1) - (1)].vsetstmt));
+                                       (yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt));
                                }
+#line 32500 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1070:
-/* Line 1792 of yacc.c  */
-#line 7169 "gram.y"
+#line 7168 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[(2) - (2)].str)));
+                                       (yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 32508 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1071:
-/* Line 1792 of yacc.c  */
-#line 7176 "gram.y"
+#line 7175 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[(2) - (2)].list));
+                                       (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list));
                                }
+#line 32516 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1072:
-/* Line 1792 of yacc.c  */
-#line 7180 "gram.y"
+#line 7179 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str)));
+                                       (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 32524 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1073:
-/* Line 1792 of yacc.c  */
-#line 7184 "gram.y"
+#line 7183 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[(2) - (2)].list));
+                                       (yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list));
                                }
+#line 32532 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1074:
-/* Line 1792 of yacc.c  */
-#line 7188 "gram.y"
+#line 7187 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.defelt) = makeDefElem("window", (Node *)makeInteger(TRUE));
                                }
+#line 32540 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1075:
-/* Line 1792 of yacc.c  */
-#line 7192 "gram.y"
+#line 7191 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = (yyvsp[(1) - (1)].defelt);
+                                       (yyval.defelt) = (yyvsp[0].defelt);
                                }
+#line 32548 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1076:
-/* Line 1792 of yacc.c  */
-#line 7197 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 7196 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 32554 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1077:
-/* Line 1792 of yacc.c  */
-#line 7199 "gram.y"
+#line 7198 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2(makeString((yyvsp[(1) - (3)].str)), makeString((yyvsp[(3) - (3)].str)));
+                                       (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
                                }
+#line 32562 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1078:
-/* Line 1792 of yacc.c  */
-#line 7205 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(3) - (3)].typnam)); }
+#line 7204 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].typnam)); }
+#line 32568 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1079:
-/* Line 1792 of yacc.c  */
-#line 7206 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (5)].list), (yyvsp[(5) - (5)].typnam)); }
+#line 7205 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
+#line 32574 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1080:
-/* Line 1792 of yacc.c  */
-#line 7210 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 7209 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 32580 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1081:
-/* Line 1792 of yacc.c  */
-#line 7211 "gram.y"
+#line 7210 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 32586 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1082:
-/* Line 1792 of yacc.c  */
-#line 7215 "gram.y"
+#line 7214 "gram.y" /* yacc.c:1646  */
     {
                                        FunctionParameter *n = makeNode(FunctionParameter);
-                                       n->name = (yyvsp[(1) - (2)].str);
-                                       n->argType = (yyvsp[(2) - (2)].typnam);
+                                       n->name = (yyvsp[-1].str);
+                                       n->argType = (yyvsp[0].typnam);
                                        n->mode = FUNC_PARAM_TABLE;
                                        n->defexpr = NULL;
                                        (yyval.fun_param) = n;
                                }
+#line 32599 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1083:
-/* Line 1792 of yacc.c  */
-#line 7227 "gram.y"
+#line 7226 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param));
+                                       (yyval.list) = list_make1((yyvsp[0].fun_param));
                                }
+#line 32607 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1084:
-/* Line 1792 of yacc.c  */
-#line 7231 "gram.y"
+#line 7230 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
                                }
+#line 32615 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1085:
-/* Line 1792 of yacc.c  */
-#line 7246 "gram.y"
+#line 7245 "gram.y" /* yacc.c:1646  */
     {
                                        AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
-                                       n->func = (yyvsp[(3) - (5)].funwithargs);
-                                       n->actions = (yyvsp[(4) - (5)].list);
+                                       n->func = (yyvsp[-2].funwithargs);
+                                       n->actions = (yyvsp[-1].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 32626 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1086:
-/* Line 1792 of yacc.c  */
-#line 7256 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 7255 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 32632 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1087:
-/* Line 1792 of yacc.c  */
-#line 7257 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 7256 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 32638 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1090:
-/* Line 1792 of yacc.c  */
-#line 7279 "gram.y"
+#line 7278 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_FUNCTION;
-                                       n->objects = list_make1((yyvsp[(3) - (5)].list));
-                                       n->arguments = list_make1(extractArgTypes((yyvsp[(4) - (5)].list)));
-                                       n->behavior = (yyvsp[(5) - (5)].dbehavior);
+                                       n->objects = list_make1((yyvsp[-2].list));
+                                       n->arguments = list_make1(extractArgTypes((yyvsp[-1].list)));
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32653 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1091:
-/* Line 1792 of yacc.c  */
-#line 7290 "gram.y"
+#line 7289 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_FUNCTION;
-                                       n->objects = list_make1((yyvsp[(5) - (7)].list));
-                                       n->arguments = list_make1(extractArgTypes((yyvsp[(6) - (7)].list)));
-                                       n->behavior = (yyvsp[(7) - (7)].dbehavior);
+                                       n->objects = list_make1((yyvsp[-2].list));
+                                       n->arguments = list_make1(extractArgTypes((yyvsp[-1].list)));
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = true;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32668 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1092:
-/* Line 1792 of yacc.c  */
-#line 7304 "gram.y"
+#line 7303 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_AGGREGATE;
-                                       n->objects = list_make1((yyvsp[(3) - (5)].list));
-                                       n->arguments = list_make1(extractAggrArgTypes((yyvsp[(4) - (5)].list)));
-                                       n->behavior = (yyvsp[(5) - (5)].dbehavior);
+                                       n->objects = list_make1((yyvsp[-2].list));
+                                       n->arguments = list_make1(extractAggrArgTypes((yyvsp[-1].list)));
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32683 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1093:
-/* Line 1792 of yacc.c  */
-#line 7315 "gram.y"
+#line 7314 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_AGGREGATE;
-                                       n->objects = list_make1((yyvsp[(5) - (7)].list));
-                                       n->arguments = list_make1(extractAggrArgTypes((yyvsp[(6) - (7)].list)));
-                                       n->behavior = (yyvsp[(7) - (7)].dbehavior);
+                                       n->objects = list_make1((yyvsp[-2].list));
+                                       n->arguments = list_make1(extractAggrArgTypes((yyvsp[-1].list)));
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = true;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32698 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1094:
-/* Line 1792 of yacc.c  */
-#line 7329 "gram.y"
+#line 7328 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_OPERATOR;
-                                       n->objects = list_make1((yyvsp[(3) - (5)].list));
-                                       n->arguments = list_make1((yyvsp[(4) - (5)].list));
-                                       n->behavior = (yyvsp[(5) - (5)].dbehavior);
+                                       n->objects = list_make1((yyvsp[-2].list));
+                                       n->arguments = list_make1((yyvsp[-1].list));
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32713 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1095:
-/* Line 1792 of yacc.c  */
-#line 7340 "gram.y"
+#line 7339 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_OPERATOR;
-                                       n->objects = list_make1((yyvsp[(5) - (7)].list));
-                                       n->arguments = list_make1((yyvsp[(6) - (7)].list));
-                                       n->behavior = (yyvsp[(7) - (7)].dbehavior);
+                                       n->objects = list_make1((yyvsp[-2].list));
+                                       n->arguments = list_make1((yyvsp[-1].list));
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = true;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32728 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1096:
-/* Line 1792 of yacc.c  */
-#line 7354 "gram.y"
+#line 7353 "gram.y" /* yacc.c:1646  */
     {
                                   ereport(ERROR,
                                                   (errcode(ERRCODE_SYNTAX_ERROR),
                                                        errmsg("missing argument"),
                                                        errhint("Use NONE to denote the missing argument of a unary operator."),
-                                                       parser_errposition((yylsp[(3) - (3)]))));
+                                                       parser_errposition((yylsp[0]))));
                                }
+#line 32740 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1097:
-/* Line 1792 of yacc.c  */
-#line 7362 "gram.y"
-    { (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), (yyvsp[(4) - (5)].typnam)); }
+#line 7361 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
+#line 32746 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1098:
-/* Line 1792 of yacc.c  */
-#line 7364 "gram.y"
-    { (yyval.list) = list_make2(NULL, (yyvsp[(4) - (5)].typnam)); }
+#line 7363 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
+#line 32752 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1099:
-/* Line 1792 of yacc.c  */
-#line 7366 "gram.y"
-    { (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), NULL); }
+#line 7365 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
+#line 32758 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1100:
-/* Line 1792 of yacc.c  */
-#line 7371 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 7370 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 32764 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1101:
-/* Line 1792 of yacc.c  */
-#line 7373 "gram.y"
-    { (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); }
+#line 7372 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
+#line 32770 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1102:
-/* Line 1792 of yacc.c  */
-#line 7386 "gram.y"
+#line 7385 "gram.y" /* yacc.c:1646  */
     {
                                        DoStmt *n = makeNode(DoStmt);
-                                       n->args = (yyvsp[(2) - (2)].list);
+                                       n->args = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 32780 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1103:
-/* Line 1792 of yacc.c  */
-#line 7394 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 7393 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 32786 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1104:
-/* Line 1792 of yacc.c  */
-#line 7395 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 7394 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 32792 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1105:
-/* Line 1792 of yacc.c  */
-#line 7400 "gram.y"
+#line 7399 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[(1) - (1)].str)));
+                                       (yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 32800 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1106:
-/* Line 1792 of yacc.c  */
-#line 7404 "gram.y"
+#line 7403 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str)));
+                                       (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)));
                                }
+#line 32808 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1107:
-/* Line 1792 of yacc.c  */
-#line 7417 "gram.y"
+#line 7416 "gram.y" /* yacc.c:1646  */
     {
                                        CreateCastStmt *n = makeNode(CreateCastStmt);
-                                       n->sourcetype = (yyvsp[(4) - (11)].typnam);
-                                       n->targettype = (yyvsp[(6) - (11)].typnam);
-                                       n->func = (yyvsp[(10) - (11)].funwithargs);
-                                       n->context = (CoercionContext) (yyvsp[(11) - (11)].ival);
+                                       n->sourcetype = (yyvsp[-7].typnam);
+                                       n->targettype = (yyvsp[-5].typnam);
+                                       n->func = (yyvsp[-1].funwithargs);
+                                       n->context = (CoercionContext) (yyvsp[0].ival);
                                        n->inout = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32822 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1108:
-/* Line 1792 of yacc.c  */
-#line 7428 "gram.y"
+#line 7427 "gram.y" /* yacc.c:1646  */
     {
                                        CreateCastStmt *n = makeNode(CreateCastStmt);
-                                       n->sourcetype = (yyvsp[(4) - (10)].typnam);
-                                       n->targettype = (yyvsp[(6) - (10)].typnam);
+                                       n->sourcetype = (yyvsp[-6].typnam);
+                                       n->targettype = (yyvsp[-4].typnam);
                                        n->func = NULL;
-                                       n->context = (CoercionContext) (yyvsp[(10) - (10)].ival);
+                                       n->context = (CoercionContext) (yyvsp[0].ival);
                                        n->inout = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32836 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1109:
-/* Line 1792 of yacc.c  */
-#line 7439 "gram.y"
+#line 7438 "gram.y" /* yacc.c:1646  */
     {
                                        CreateCastStmt *n = makeNode(CreateCastStmt);
-                                       n->sourcetype = (yyvsp[(4) - (10)].typnam);
-                                       n->targettype = (yyvsp[(6) - (10)].typnam);
+                                       n->sourcetype = (yyvsp[-6].typnam);
+                                       n->targettype = (yyvsp[-4].typnam);
                                        n->func = NULL;
-                                       n->context = (CoercionContext) (yyvsp[(10) - (10)].ival);
+                                       n->context = (CoercionContext) (yyvsp[0].ival);
                                        n->inout = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32850 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1110:
-/* Line 1792 of yacc.c  */
-#line 7450 "gram.y"
+#line 7449 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = COERCION_IMPLICIT; }
+#line 32856 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1111:
-/* Line 1792 of yacc.c  */
-#line 7451 "gram.y"
+#line 7450 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = COERCION_ASSIGNMENT; }
+#line 32862 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1112:
-/* Line 1792 of yacc.c  */
-#line 7452 "gram.y"
+#line 7451 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = COERCION_EXPLICIT; }
+#line 32868 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1113:
-/* Line 1792 of yacc.c  */
-#line 7457 "gram.y"
+#line 7456 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_CAST;
-                                       n->objects = list_make1(list_make1((yyvsp[(5) - (9)].typnam)));
-                                       n->arguments = list_make1(list_make1((yyvsp[(7) - (9)].typnam)));
-                                       n->behavior = (yyvsp[(9) - (9)].dbehavior);
-                                       n->missing_ok = (yyvsp[(3) - (9)].boolean);
+                                       n->objects = list_make1(list_make1((yyvsp[-4].typnam)));
+                                       n->arguments = list_make1(list_make1((yyvsp[-2].typnam)));
+                                       n->behavior = (yyvsp[0].dbehavior);
+                                       n->missing_ok = (yyvsp[-6].boolean);
                                        n->concurrent = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32883 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1114:
-/* Line 1792 of yacc.c  */
-#line 7469 "gram.y"
+#line 7468 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 32889 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1115:
-/* Line 1792 of yacc.c  */
-#line 7470 "gram.y"
+#line 7469 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 32895 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1116:
-/* Line 1792 of yacc.c  */
-#line 7481 "gram.y"
+#line 7480 "gram.y" /* yacc.c:1646  */
     {
                                        CreateTransformStmt *n = makeNode(CreateTransformStmt);
-                                       n->replace = (yyvsp[(2) - (10)].boolean);
-                                       n->type_name = (yyvsp[(5) - (10)].typnam);
-                                       n->lang = (yyvsp[(7) - (10)].str);
-                                       n->fromsql = linitial((yyvsp[(9) - (10)].list));
-                                       n->tosql = lsecond((yyvsp[(9) - (10)].list));
+                                       n->replace = (yyvsp[-8].boolean);
+                                       n->type_name = (yyvsp[-5].typnam);
+                                       n->lang = (yyvsp[-3].str);
+                                       n->fromsql = linitial((yyvsp[-1].list));
+                                       n->tosql = lsecond((yyvsp[-1].list));
                                        (yyval.node) = (Node *)n;
                                }
+#line 32909 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1117:
-/* Line 1792 of yacc.c  */
-#line 7493 "gram.y"
+#line 7492 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2((yyvsp[(5) - (11)].funwithargs), (yyvsp[(11) - (11)].funwithargs));
+                                       (yyval.list) = list_make2((yyvsp[-6].funwithargs), (yyvsp[0].funwithargs));
                                }
+#line 32917 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1118:
-/* Line 1792 of yacc.c  */
-#line 7497 "gram.y"
+#line 7496 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2((yyvsp[(11) - (11)].funwithargs), (yyvsp[(5) - (11)].funwithargs));
+                                       (yyval.list) = list_make2((yyvsp[0].funwithargs), (yyvsp[-6].funwithargs));
                                }
+#line 32925 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1119:
-/* Line 1792 of yacc.c  */
-#line 7501 "gram.y"
+#line 7500 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2((yyvsp[(5) - (5)].funwithargs), NULL);
+                                       (yyval.list) = list_make2((yyvsp[0].funwithargs), NULL);
                                }
+#line 32933 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1120:
-/* Line 1792 of yacc.c  */
-#line 7505 "gram.y"
+#line 7504 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2(NULL, (yyvsp[(5) - (5)].funwithargs));
+                                       (yyval.list) = list_make2(NULL, (yyvsp[0].funwithargs));
                                }
+#line 32941 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1121:
-/* Line 1792 of yacc.c  */
-#line 7512 "gram.y"
+#line 7511 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_TRANSFORM;
-                                       n->objects = list_make1(list_make1((yyvsp[(5) - (8)].typnam)));
-                                       n->arguments = list_make1(list_make1(makeString((yyvsp[(7) - (8)].str))));
-                                       n->behavior = (yyvsp[(8) - (8)].dbehavior);
-                                       n->missing_ok = (yyvsp[(3) - (8)].boolean);
+                                       n->objects = list_make1(list_make1((yyvsp[-3].typnam)));
+                                       n->arguments = list_make1(list_make1(makeString((yyvsp[-1].str))));
+                                       n->behavior = (yyvsp[0].dbehavior);
+                                       n->missing_ok = (yyvsp[-5].boolean);
                                        (yyval.node) = (Node *)n;
                                }
+#line 32955 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1122:
-/* Line 1792 of yacc.c  */
-#line 7533 "gram.y"
+#line 7532 "gram.y" /* yacc.c:1646  */
     {
                                        ReindexStmt *n = makeNode(ReindexStmt);
-                                       n->kind = (yyvsp[(2) - (3)].ival);
-                                       n->relation = (yyvsp[(3) - (3)].range);
+                                       n->kind = (yyvsp[-1].ival);
+                                       n->relation = (yyvsp[0].range);
                                        n->name = NULL;
                                        n->options = 0;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32968 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1123:
-/* Line 1792 of yacc.c  */
-#line 7542 "gram.y"
+#line 7541 "gram.y" /* yacc.c:1646  */
     {
                                        ReindexStmt *n = makeNode(ReindexStmt);
-                                       n->kind = (yyvsp[(2) - (3)].ival);
-                                       n->name = (yyvsp[(3) - (3)].str);
+                                       n->kind = (yyvsp[-1].ival);
+                                       n->name = (yyvsp[0].str);
                                        n->relation = NULL;
                                        n->options = 0;
                                        (yyval.node) = (Node *)n;
                                }
+#line 32981 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1124:
-/* Line 1792 of yacc.c  */
-#line 7551 "gram.y"
+#line 7550 "gram.y" /* yacc.c:1646  */
     {
                                        ReindexStmt *n = makeNode(ReindexStmt);
-                                       n->kind = (yyvsp[(5) - (6)].ival);
-                                       n->relation = (yyvsp[(6) - (6)].range);
+                                       n->kind = (yyvsp[-1].ival);
+                                       n->relation = (yyvsp[0].range);
                                        n->name = NULL;
-                                       n->options = (yyvsp[(3) - (6)].ival);
+                                       n->options = (yyvsp[-3].ival);
                                        (yyval.node) = (Node *)n;
                                }
+#line 32994 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1125:
-/* Line 1792 of yacc.c  */
-#line 7560 "gram.y"
+#line 7559 "gram.y" /* yacc.c:1646  */
     {
                                        ReindexStmt *n = makeNode(ReindexStmt);
-                                       n->kind = (yyvsp[(5) - (6)].ival);
-                                       n->name = (yyvsp[(6) - (6)].str);
+                                       n->kind = (yyvsp[-1].ival);
+                                       n->name = (yyvsp[0].str);
                                        n->relation = NULL;
-                                       n->options = (yyvsp[(3) - (6)].ival);
+                                       n->options = (yyvsp[-3].ival);
                                        (yyval.node) = (Node *)n;
                                }
+#line 33007 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1126:
-/* Line 1792 of yacc.c  */
-#line 7570 "gram.y"
+#line 7569 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = REINDEX_OBJECT_INDEX; }
+#line 33013 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1127:
-/* Line 1792 of yacc.c  */
-#line 7571 "gram.y"
+#line 7570 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = REINDEX_OBJECT_TABLE; }
+#line 33019 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1128:
-/* Line 1792 of yacc.c  */
-#line 7574 "gram.y"
+#line 7573 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
+#line 33025 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1129:
-/* Line 1792 of yacc.c  */
-#line 7575 "gram.y"
+#line 7574 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
+#line 33031 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1130:
-/* Line 1792 of yacc.c  */
-#line 7576 "gram.y"
+#line 7575 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
+#line 33037 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1131:
-/* Line 1792 of yacc.c  */
-#line 7579 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (1)].ival); }
+#line 7578 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[0].ival); }
+#line 33043 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1132:
-/* Line 1792 of yacc.c  */
-#line 7580 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); }
+#line 7579 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
+#line 33049 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1133:
-/* Line 1792 of yacc.c  */
-#line 7583 "gram.y"
+#line 7582 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = REINDEXOPT_VERBOSE; }
+#line 33055 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1134:
-/* Line 1792 of yacc.c  */
-#line 7594 "gram.y"
+#line 7593 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableSpaceOptionsStmt *n =
                                                makeNode(AlterTableSpaceOptionsStmt);
-                                       n->tablespacename = (yyvsp[(3) - (5)].str);
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->tablespacename = (yyvsp[-2].str);
+                                       n->options = (yyvsp[0].list);
                                        n->isReset = FALSE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33068 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1135:
-/* Line 1792 of yacc.c  */
-#line 7603 "gram.y"
+#line 7602 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTableSpaceOptionsStmt *n =
                                                makeNode(AlterTableSpaceOptionsStmt);
-                                       n->tablespacename = (yyvsp[(3) - (5)].str);
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->tablespacename = (yyvsp[-2].str);
+                                       n->options = (yyvsp[0].list);
                                        n->isReset = TRUE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33081 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1136:
-/* Line 1792 of yacc.c  */
-#line 7620 "gram.y"
+#line 7619 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_AGGREGATE;
-                                       n->object = (yyvsp[(3) - (7)].list);
-                                       n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
-                                       n->newname = (yyvsp[(7) - (7)].str);
+                                       n->object = (yyvsp[-4].list);
+                                       n->objarg = extractAggrArgTypes((yyvsp[-3].list));
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33095 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1137:
-/* Line 1792 of yacc.c  */
-#line 7630 "gram.y"
+#line 7629 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_COLLATION;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33108 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1138:
-/* Line 1792 of yacc.c  */
-#line 7639 "gram.y"
+#line 7638 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_CONVERSION;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33121 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1139:
-/* Line 1792 of yacc.c  */
-#line 7648 "gram.y"
+#line 7647 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_DATABASE;
-                                       n->subname = (yyvsp[(3) - (6)].str);
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->subname = (yyvsp[-3].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33134 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1140:
-/* Line 1792 of yacc.c  */
-#line 7657 "gram.y"
+#line 7656 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_DOMAIN;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33147 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1141:
-/* Line 1792 of yacc.c  */
-#line 7666 "gram.y"
+#line 7665 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_DOMCONSTRAINT;
-                                       n->object = (yyvsp[(3) - (8)].list);
-                                       n->subname = (yyvsp[(6) - (8)].str);
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->object = (yyvsp[-5].list);
+                                       n->subname = (yyvsp[-2].str);
+                                       n->newname = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 33160 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1142:
-/* Line 1792 of yacc.c  */
-#line 7675 "gram.y"
+#line 7674 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_FDW;
-                                       n->object = list_make1(makeString((yyvsp[(5) - (8)].str)));
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33173 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1143:
-/* Line 1792 of yacc.c  */
-#line 7684 "gram.y"
+#line 7683 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_FUNCTION;
-                                       n->object = (yyvsp[(3) - (6)].funwithargs)->funcname;
-                                       n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs;
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].funwithargs)->funcname;
+                                       n->objarg = (yyvsp[-3].funwithargs)->funcargs;
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33187 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1144:
-/* Line 1792 of yacc.c  */
-#line 7694 "gram.y"
+#line 7693 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_ROLE;
-                                       n->subname = (yyvsp[(3) - (6)].str);
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->subname = (yyvsp[-3].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33200 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1145:
-/* Line 1792 of yacc.c  */
-#line 7703 "gram.y"
+#line 7702 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_LANGUAGE;
-                                       n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
-                                       n->newname = (yyvsp[(7) - (7)].str);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33213 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1146:
-/* Line 1792 of yacc.c  */
-#line 7712 "gram.y"
+#line 7711 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_OPCLASS;
-                                       n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
-                                       n->newname = (yyvsp[(9) - (9)].str);
+                                       n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33226 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1147:
-/* Line 1792 of yacc.c  */
-#line 7721 "gram.y"
+#line 7720 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_OPFAMILY;
-                                       n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
-                                       n->newname = (yyvsp[(9) - (9)].str);
+                                       n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33239 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1148:
-/* Line 1792 of yacc.c  */
-#line 7730 "gram.y"
+#line 7729 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_POLICY;
-                                       n->relation = (yyvsp[(5) - (8)].range);
-                                       n->subname = (yyvsp[(3) - (8)].str);
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->subname = (yyvsp[-5].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33253 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1149:
-/* Line 1792 of yacc.c  */
-#line 7740 "gram.y"
+#line 7739 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_POLICY;
-                                       n->relation = (yyvsp[(7) - (10)].range);
-                                       n->subname = (yyvsp[(5) - (10)].str);
-                                       n->newname = (yyvsp[(10) - (10)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->subname = (yyvsp[-5].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33267 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1150:
-/* Line 1792 of yacc.c  */
-#line 7750 "gram.y"
+#line 7749 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_SCHEMA;
-                                       n->subname = (yyvsp[(3) - (6)].str);
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->subname = (yyvsp[-3].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33280 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1151:
-/* Line 1792 of yacc.c  */
-#line 7759 "gram.y"
+#line 7758 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_FOREIGN_SERVER;
-                                       n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33293 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1152:
-/* Line 1792 of yacc.c  */
-#line 7768 "gram.y"
+#line 7767 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TABLE;
-                                       n->relation = (yyvsp[(3) - (6)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33307 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1153:
-/* Line 1792 of yacc.c  */
-#line 7778 "gram.y"
+#line 7777 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TABLE;
-                                       n->relation = (yyvsp[(5) - (8)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33321 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1154:
-/* Line 1792 of yacc.c  */
-#line 7788 "gram.y"
+#line 7787 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_SEQUENCE;
-                                       n->relation = (yyvsp[(3) - (6)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33335 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1155:
-/* Line 1792 of yacc.c  */
-#line 7798 "gram.y"
+#line 7797 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_SEQUENCE;
-                                       n->relation = (yyvsp[(5) - (8)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33349 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1156:
-/* Line 1792 of yacc.c  */
-#line 7808 "gram.y"
+#line 7807 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_VIEW;
-                                       n->relation = (yyvsp[(3) - (6)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33363 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1157:
-/* Line 1792 of yacc.c  */
-#line 7818 "gram.y"
+#line 7817 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_VIEW;
-                                       n->relation = (yyvsp[(5) - (8)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33377 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1158:
-/* Line 1792 of yacc.c  */
-#line 7828 "gram.y"
+#line 7827 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_MATVIEW;
-                                       n->relation = (yyvsp[(4) - (7)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(7) - (7)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33391 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1159:
-/* Line 1792 of yacc.c  */
-#line 7838 "gram.y"
+#line 7837 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_MATVIEW;
-                                       n->relation = (yyvsp[(6) - (9)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(9) - (9)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33405 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1160:
-/* Line 1792 of yacc.c  */
-#line 7848 "gram.y"
+#line 7847 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_INDEX;
-                                       n->relation = (yyvsp[(3) - (6)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33419 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1161:
-/* Line 1792 of yacc.c  */
-#line 7858 "gram.y"
+#line 7857 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_INDEX;
-                                       n->relation = (yyvsp[(5) - (8)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33433 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1162:
-/* Line 1792 of yacc.c  */
-#line 7868 "gram.y"
+#line 7867 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_FOREIGN_TABLE;
-                                       n->relation = (yyvsp[(4) - (7)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(7) - (7)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33447 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1163:
-/* Line 1792 of yacc.c  */
-#line 7878 "gram.y"
+#line 7877 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_FOREIGN_TABLE;
-                                       n->relation = (yyvsp[(6) - (9)].range);
+                                       n->relation = (yyvsp[-3].range);
                                        n->subname = NULL;
-                                       n->newname = (yyvsp[(9) - (9)].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33461 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1164:
-/* Line 1792 of yacc.c  */
-#line 7888 "gram.y"
+#line 7887 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_COLUMN;
                                        n->relationType = OBJECT_TABLE;
-                                       n->relation = (yyvsp[(3) - (8)].range);
-                                       n->subname = (yyvsp[(6) - (8)].str);
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->relation = (yyvsp[-5].range);
+                                       n->subname = (yyvsp[-2].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33476 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1165:
-/* Line 1792 of yacc.c  */
-#line 7899 "gram.y"
+#line 7898 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_COLUMN;
                                        n->relationType = OBJECT_TABLE;
-                                       n->relation = (yyvsp[(5) - (10)].range);
-                                       n->subname = (yyvsp[(8) - (10)].str);
-                                       n->newname = (yyvsp[(10) - (10)].str);
+                                       n->relation = (yyvsp[-5].range);
+                                       n->subname = (yyvsp[-2].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33491 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1166:
-/* Line 1792 of yacc.c  */
-#line 7910 "gram.y"
+#line 7909 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_COLUMN;
                                        n->relationType = OBJECT_MATVIEW;
-                                       n->relation = (yyvsp[(4) - (9)].range);
-                                       n->subname = (yyvsp[(7) - (9)].str);
-                                       n->newname = (yyvsp[(9) - (9)].str);
+                                       n->relation = (yyvsp[-5].range);
+                                       n->subname = (yyvsp[-2].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33506 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1167:
-/* Line 1792 of yacc.c  */
-#line 7921 "gram.y"
+#line 7920 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_COLUMN;
                                        n->relationType = OBJECT_MATVIEW;
-                                       n->relation = (yyvsp[(6) - (11)].range);
-                                       n->subname = (yyvsp[(9) - (11)].str);
-                                       n->newname = (yyvsp[(11) - (11)].str);
+                                       n->relation = (yyvsp[-5].range);
+                                       n->subname = (yyvsp[-2].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33521 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1168:
-/* Line 1792 of yacc.c  */
-#line 7932 "gram.y"
+#line 7931 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TABCONSTRAINT;
-                                       n->relation = (yyvsp[(3) - (8)].range);
-                                       n->subname = (yyvsp[(6) - (8)].str);
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->relation = (yyvsp[-5].range);
+                                       n->subname = (yyvsp[-2].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33535 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1169:
-/* Line 1792 of yacc.c  */
-#line 7942 "gram.y"
+#line 7941 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TABCONSTRAINT;
-                                       n->relation = (yyvsp[(5) - (10)].range);
-                                       n->subname = (yyvsp[(8) - (10)].str);
-                                       n->newname = (yyvsp[(10) - (10)].str);
+                                       n->relation = (yyvsp[-5].range);
+                                       n->subname = (yyvsp[-2].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33549 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1170:
-/* Line 1792 of yacc.c  */
-#line 7952 "gram.y"
+#line 7951 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_COLUMN;
                                        n->relationType = OBJECT_FOREIGN_TABLE;
-                                       n->relation = (yyvsp[(4) - (9)].range);
-                                       n->subname = (yyvsp[(7) - (9)].str);
-                                       n->newname = (yyvsp[(9) - (9)].str);
+                                       n->relation = (yyvsp[-5].range);
+                                       n->subname = (yyvsp[-2].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33564 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1171:
-/* Line 1792 of yacc.c  */
-#line 7963 "gram.y"
+#line 7962 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_COLUMN;
                                        n->relationType = OBJECT_FOREIGN_TABLE;
-                                       n->relation = (yyvsp[(6) - (11)].range);
-                                       n->subname = (yyvsp[(9) - (11)].str);
-                                       n->newname = (yyvsp[(11) - (11)].str);
+                                       n->relation = (yyvsp[-5].range);
+                                       n->subname = (yyvsp[-2].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33579 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1172:
-/* Line 1792 of yacc.c  */
-#line 7974 "gram.y"
+#line 7973 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_RULE;
-                                       n->relation = (yyvsp[(5) - (8)].range);
-                                       n->subname = (yyvsp[(3) - (8)].str);
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->subname = (yyvsp[-5].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33593 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1173:
-/* Line 1792 of yacc.c  */
-#line 7984 "gram.y"
+#line 7983 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TRIGGER;
-                                       n->relation = (yyvsp[(5) - (8)].range);
-                                       n->subname = (yyvsp[(3) - (8)].str);
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->subname = (yyvsp[-5].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33607 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1174:
-/* Line 1792 of yacc.c  */
-#line 7994 "gram.y"
+#line 7993 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_EVENT_TRIGGER;
-                                       n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
-                                       n->newname = (yyvsp[(7) - (7)].str);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newname = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 33619 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1175:
-/* Line 1792 of yacc.c  */
-#line 8002 "gram.y"
+#line 8001 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_ROLE;
-                                       n->subname = (yyvsp[(3) - (6)].str);
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->subname = (yyvsp[-3].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33632 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1176:
-/* Line 1792 of yacc.c  */
-#line 8011 "gram.y"
+#line 8010 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_ROLE;
-                                       n->subname = (yyvsp[(3) - (6)].str);
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->subname = (yyvsp[-3].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33645 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1177:
-/* Line 1792 of yacc.c  */
-#line 8020 "gram.y"
+#line 8019 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TABLESPACE;
-                                       n->subname = (yyvsp[(3) - (6)].str);
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->subname = (yyvsp[-3].str);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33658 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1178:
-/* Line 1792 of yacc.c  */
-#line 8029 "gram.y"
+#line 8028 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TSPARSER;
-                                       n->object = (yyvsp[(5) - (8)].list);
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33671 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1179:
-/* Line 1792 of yacc.c  */
-#line 8038 "gram.y"
+#line 8037 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TSDICTIONARY;
-                                       n->object = (yyvsp[(5) - (8)].list);
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33684 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1180:
-/* Line 1792 of yacc.c  */
-#line 8047 "gram.y"
+#line 8046 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TSTEMPLATE;
-                                       n->object = (yyvsp[(5) - (8)].list);
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33697 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1181:
-/* Line 1792 of yacc.c  */
-#line 8056 "gram.y"
+#line 8055 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TSCONFIGURATION;
-                                       n->object = (yyvsp[(5) - (8)].list);
-                                       n->newname = (yyvsp[(8) - (8)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33710 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1182:
-/* Line 1792 of yacc.c  */
-#line 8065 "gram.y"
+#line 8064 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_TYPE;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newname = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newname = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33723 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1183:
-/* Line 1792 of yacc.c  */
-#line 8074 "gram.y"
+#line 8073 "gram.y" /* yacc.c:1646  */
     {
                                        RenameStmt *n = makeNode(RenameStmt);
                                        n->renameType = OBJECT_ATTRIBUTE;
                                        n->relationType = OBJECT_TYPE;
-                                       n->relation = makeRangeVarFromAnyName((yyvsp[(3) - (9)].list), (yylsp[(3) - (9)]), yyscanner);
-                                       n->subname = (yyvsp[(6) - (9)].str);
-                                       n->newname = (yyvsp[(8) - (9)].str);
-                                       n->behavior = (yyvsp[(9) - (9)].dbehavior);
+                                       n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
+                                       n->subname = (yyvsp[-3].str);
+                                       n->newname = (yyvsp[-1].str);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33739 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1184:
-/* Line 1792 of yacc.c  */
-#line 8087 "gram.y"
+#line 8086 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = COLUMN; }
+#line 33745 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1185:
-/* Line 1792 of yacc.c  */
-#line 8088 "gram.y"
+#line 8087 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 33751 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1186:
-/* Line 1792 of yacc.c  */
-#line 8091 "gram.y"
+#line 8090 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 1; }
+#line 33757 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1187:
-/* Line 1792 of yacc.c  */
-#line 8092 "gram.y"
+#line 8091 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 33763 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1188:
-/* Line 1792 of yacc.c  */
-#line 8103 "gram.y"
+#line 8102 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
                                        n->objectType = OBJECT_FUNCTION;
                                        n->relation = NULL;
-                                       n->objname = (yyvsp[(3) - (7)].funwithargs)->funcname;
-                                       n->objargs = (yyvsp[(3) - (7)].funwithargs)->funcargs;
-                                       n->extname = makeString((yyvsp[(7) - (7)].str));
+                                       n->objname = (yyvsp[-4].funwithargs)->funcname;
+                                       n->objargs = (yyvsp[-4].funwithargs)->funcargs;
+                                       n->extname = makeString((yyvsp[0].str));
                                        (yyval.node) = (Node *)n;
                                }
+#line 33777 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1189:
-/* Line 1792 of yacc.c  */
-#line 8113 "gram.y"
+#line 8112 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
                                        n->objectType = OBJECT_TRIGGER;
-                                       n->relation = (yyvsp[(5) - (9)].range);
-                                       n->objname = list_make1(makeString((yyvsp[(3) - (9)].str)));
+                                       n->relation = (yyvsp[-4].range);
+                                       n->objname = list_make1(makeString((yyvsp[-6].str)));
                                        n->objargs = NIL;
-                                       n->extname = makeString((yyvsp[(9) - (9)].str));
+                                       n->extname = makeString((yyvsp[0].str));
                                        (yyval.node) = (Node *)n;
                                }
+#line 33791 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1190:
-/* Line 1792 of yacc.c  */
-#line 8123 "gram.y"
+#line 8122 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
                                        n->objectType = OBJECT_MATVIEW;
-                                       n->relation = (yyvsp[(4) - (8)].range);
+                                       n->relation = (yyvsp[-4].range);
                                        n->objname = NIL;
                                        n->objargs = NIL;
-                                       n->extname = makeString((yyvsp[(8) - (8)].str));
+                                       n->extname = makeString((yyvsp[0].str));
                                        (yyval.node) = (Node *)n;
                                }
+#line 33805 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1191:
-/* Line 1792 of yacc.c  */
-#line 8133 "gram.y"
+#line 8132 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
                                        n->objectType = OBJECT_INDEX;
-                                       n->relation = (yyvsp[(3) - (7)].range);
+                                       n->relation = (yyvsp[-4].range);
                                        n->objname = NIL;
                                        n->objargs = NIL;
-                                       n->extname = makeString((yyvsp[(7) - (7)].str));
+                                       n->extname = makeString((yyvsp[0].str));
                                        (yyval.node) = (Node *)n;
                                }
+#line 33819 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1192:
-/* Line 1792 of yacc.c  */
-#line 8152 "gram.y"
+#line 8151 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_AGGREGATE;
-                                       n->object = (yyvsp[(3) - (7)].list);
-                                       n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
-                                       n->newschema = (yyvsp[(7) - (7)].str);
+                                       n->object = (yyvsp[-4].list);
+                                       n->objarg = extractAggrArgTypes((yyvsp[-3].list));
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33833 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1193:
-/* Line 1792 of yacc.c  */
-#line 8162 "gram.y"
+#line 8161 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_COLLATION;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newschema = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33846 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1194:
-/* Line 1792 of yacc.c  */
-#line 8171 "gram.y"
+#line 8170 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_CONVERSION;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newschema = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33859 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1195:
-/* Line 1792 of yacc.c  */
-#line 8180 "gram.y"
+#line 8179 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_DOMAIN;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newschema = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33872 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1196:
-/* Line 1792 of yacc.c  */
-#line 8189 "gram.y"
+#line 8188 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_EXTENSION;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newschema = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33885 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1197:
-/* Line 1792 of yacc.c  */
-#line 8198 "gram.y"
+#line 8197 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_FUNCTION;
-                                       n->object = (yyvsp[(3) - (6)].funwithargs)->funcname;
-                                       n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs;
-                                       n->newschema = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].funwithargs)->funcname;
+                                       n->objarg = (yyvsp[-3].funwithargs)->funcargs;
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33899 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1198:
-/* Line 1792 of yacc.c  */
-#line 8208 "gram.y"
+#line 8207 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_OPERATOR;
-                                       n->object = (yyvsp[(3) - (7)].list);
-                                       n->objarg = (yyvsp[(4) - (7)].list);
-                                       n->newschema = (yyvsp[(7) - (7)].str);
+                                       n->object = (yyvsp[-4].list);
+                                       n->objarg = (yyvsp[-3].list);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33913 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1199:
-/* Line 1792 of yacc.c  */
-#line 8218 "gram.y"
+#line 8217 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_OPCLASS;
-                                       n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
-                                       n->newschema = (yyvsp[(9) - (9)].str);
+                                       n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33926 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1200:
-/* Line 1792 of yacc.c  */
-#line 8227 "gram.y"
+#line 8226 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_OPFAMILY;
-                                       n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
-                                       n->newschema = (yyvsp[(9) - (9)].str);
+                                       n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33939 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1201:
-/* Line 1792 of yacc.c  */
-#line 8236 "gram.y"
+#line 8235 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_TABLE;
-                                       n->relation = (yyvsp[(3) - (6)].range);
-                                       n->newschema = (yyvsp[(6) - (6)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33952 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1202:
-/* Line 1792 of yacc.c  */
-#line 8245 "gram.y"
+#line 8244 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_TABLE;
-                                       n->relation = (yyvsp[(5) - (8)].range);
-                                       n->newschema = (yyvsp[(8) - (8)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33965 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1203:
-/* Line 1792 of yacc.c  */
-#line 8254 "gram.y"
+#line 8253 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_TSPARSER;
-                                       n->object = (yyvsp[(5) - (8)].list);
-                                       n->newschema = (yyvsp[(8) - (8)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33978 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1204:
-/* Line 1792 of yacc.c  */
-#line 8263 "gram.y"
+#line 8262 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_TSDICTIONARY;
-                                       n->object = (yyvsp[(5) - (8)].list);
-                                       n->newschema = (yyvsp[(8) - (8)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 33991 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1205:
-/* Line 1792 of yacc.c  */
-#line 8272 "gram.y"
+#line 8271 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_TSTEMPLATE;
-                                       n->object = (yyvsp[(5) - (8)].list);
-                                       n->newschema = (yyvsp[(8) - (8)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34004 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1206:
-/* Line 1792 of yacc.c  */
-#line 8281 "gram.y"
+#line 8280 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_TSCONFIGURATION;
-                                       n->object = (yyvsp[(5) - (8)].list);
-                                       n->newschema = (yyvsp[(8) - (8)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34017 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1207:
-/* Line 1792 of yacc.c  */
-#line 8290 "gram.y"
+#line 8289 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_SEQUENCE;
-                                       n->relation = (yyvsp[(3) - (6)].range);
-                                       n->newschema = (yyvsp[(6) - (6)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34030 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1208:
-/* Line 1792 of yacc.c  */
-#line 8299 "gram.y"
+#line 8298 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_SEQUENCE;
-                                       n->relation = (yyvsp[(5) - (8)].range);
-                                       n->newschema = (yyvsp[(8) - (8)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34043 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1209:
-/* Line 1792 of yacc.c  */
-#line 8308 "gram.y"
+#line 8307 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_VIEW;
-                                       n->relation = (yyvsp[(3) - (6)].range);
-                                       n->newschema = (yyvsp[(6) - (6)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34056 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1210:
-/* Line 1792 of yacc.c  */
-#line 8317 "gram.y"
+#line 8316 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_VIEW;
-                                       n->relation = (yyvsp[(5) - (8)].range);
-                                       n->newschema = (yyvsp[(8) - (8)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34069 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1211:
-/* Line 1792 of yacc.c  */
-#line 8326 "gram.y"
+#line 8325 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_MATVIEW;
-                                       n->relation = (yyvsp[(4) - (7)].range);
-                                       n->newschema = (yyvsp[(7) - (7)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34082 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1212:
-/* Line 1792 of yacc.c  */
-#line 8335 "gram.y"
+#line 8334 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_MATVIEW;
-                                       n->relation = (yyvsp[(6) - (9)].range);
-                                       n->newschema = (yyvsp[(9) - (9)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34095 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1213:
-/* Line 1792 of yacc.c  */
-#line 8344 "gram.y"
+#line 8343 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_FOREIGN_TABLE;
-                                       n->relation = (yyvsp[(4) - (7)].range);
-                                       n->newschema = (yyvsp[(7) - (7)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34108 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1214:
-/* Line 1792 of yacc.c  */
-#line 8353 "gram.y"
+#line 8352 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_FOREIGN_TABLE;
-                                       n->relation = (yyvsp[(6) - (9)].range);
-                                       n->newschema = (yyvsp[(9) - (9)].str);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34121 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1215:
-/* Line 1792 of yacc.c  */
-#line 8362 "gram.y"
+#line 8361 "gram.y" /* yacc.c:1646  */
     {
                                        AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
                                        n->objectType = OBJECT_TYPE;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newschema = (yyvsp[(6) - (6)].str);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newschema = (yyvsp[0].str);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34134 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1216:
-/* Line 1792 of yacc.c  */
-#line 8380 "gram.y"
+#line 8379 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
-                                       n->opername = (yyvsp[(3) - (8)].list);
-                                       n->operargs = (yyvsp[(4) - (8)].list);
-                                       n->options = (yyvsp[(7) - (8)].list);
+                                       n->opername = (yyvsp[-5].list);
+                                       n->operargs = (yyvsp[-4].list);
+                                       n->options = (yyvsp[-1].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34146 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1217:
-/* Line 1792 of yacc.c  */
-#line 8389 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 8388 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 34152 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1218:
-/* Line 1792 of yacc.c  */
-#line 8390 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
+#line 8389 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 34158 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1219:
-/* Line 1792 of yacc.c  */
-#line 8394 "gram.y"
-    { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL); }
+#line 8393 "gram.y" /* yacc.c:1646  */
+    { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL); }
+#line 34164 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1220:
-/* Line 1792 of yacc.c  */
-#line 8396 "gram.y"
-    { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node)); }
+#line 8395 "gram.y" /* yacc.c:1646  */
+    { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node)); }
+#line 34170 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1221:
-/* Line 1792 of yacc.c  */
-#line 8406 "gram.y"
+#line 8405 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_AGGREGATE;
-                                       n->object = (yyvsp[(3) - (7)].list);
-                                       n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
-                                       n->newowner = (yyvsp[(7) - (7)].node);
+                                       n->object = (yyvsp[-4].list);
+                                       n->objarg = extractAggrArgTypes((yyvsp[-3].list));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34183 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1222:
-/* Line 1792 of yacc.c  */
-#line 8415 "gram.y"
+#line 8414 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_COLLATION;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newowner = (yyvsp[(6) - (6)].node);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34195 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1223:
-/* Line 1792 of yacc.c  */
-#line 8423 "gram.y"
+#line 8422 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_CONVERSION;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newowner = (yyvsp[(6) - (6)].node);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34207 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1224:
-/* Line 1792 of yacc.c  */
-#line 8431 "gram.y"
+#line 8430 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_DATABASE;
-                                       n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
-                                       n->newowner = (yyvsp[(6) - (6)].node);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34219 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1225:
-/* Line 1792 of yacc.c  */
-#line 8439 "gram.y"
+#line 8438 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_DOMAIN;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newowner = (yyvsp[(6) - (6)].node);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34231 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1226:
-/* Line 1792 of yacc.c  */
-#line 8447 "gram.y"
+#line 8446 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_FUNCTION;
-                                       n->object = (yyvsp[(3) - (6)].funwithargs)->funcname;
-                                       n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs;
-                                       n->newowner = (yyvsp[(6) - (6)].node);
+                                       n->object = (yyvsp[-3].funwithargs)->funcname;
+                                       n->objarg = (yyvsp[-3].funwithargs)->funcargs;
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34244 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1227:
-/* Line 1792 of yacc.c  */
-#line 8456 "gram.y"
+#line 8455 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_LANGUAGE;
-                                       n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
-                                       n->newowner = (yyvsp[(7) - (7)].node);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34256 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1228:
-/* Line 1792 of yacc.c  */
-#line 8464 "gram.y"
+#line 8463 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_LARGEOBJECT;
-                                       n->object = list_make1((yyvsp[(4) - (7)].value));
-                                       n->newowner = (yyvsp[(7) - (7)].node);
+                                       n->object = list_make1((yyvsp[-3].value));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34268 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1229:
-/* Line 1792 of yacc.c  */
-#line 8472 "gram.y"
+#line 8471 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_OPERATOR;
-                                       n->object = (yyvsp[(3) - (7)].list);
-                                       n->objarg = (yyvsp[(4) - (7)].list);
-                                       n->newowner = (yyvsp[(7) - (7)].node);
+                                       n->object = (yyvsp[-4].list);
+                                       n->objarg = (yyvsp[-3].list);
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34281 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1230:
-/* Line 1792 of yacc.c  */
-#line 8481 "gram.y"
+#line 8480 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_OPCLASS;
-                                       n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
-                                       n->newowner = (yyvsp[(9) - (9)].node);
+                                       n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34293 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1231:
-/* Line 1792 of yacc.c  */
-#line 8489 "gram.y"
+#line 8488 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_OPFAMILY;
-                                       n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
-                                       n->newowner = (yyvsp[(9) - (9)].node);
+                                       n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34305 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1232:
-/* Line 1792 of yacc.c  */
-#line 8497 "gram.y"
+#line 8496 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_SCHEMA;
-                                       n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
-                                       n->newowner = (yyvsp[(6) - (6)].node);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34317 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1233:
-/* Line 1792 of yacc.c  */
-#line 8505 "gram.y"
+#line 8504 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_TYPE;
-                                       n->object = (yyvsp[(3) - (6)].list);
-                                       n->newowner = (yyvsp[(6) - (6)].node);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34329 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1234:
-/* Line 1792 of yacc.c  */
-#line 8513 "gram.y"
+#line 8512 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_TABLESPACE;
-                                       n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
-                                       n->newowner = (yyvsp[(6) - (6)].node);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34341 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1235:
-/* Line 1792 of yacc.c  */
-#line 8521 "gram.y"
+#line 8520 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_TSDICTIONARY;
-                                       n->object = (yyvsp[(5) - (8)].list);
-                                       n->newowner = (yyvsp[(8) - (8)].node);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34353 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1236:
-/* Line 1792 of yacc.c  */
-#line 8529 "gram.y"
+#line 8528 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_TSCONFIGURATION;
-                                       n->object = (yyvsp[(5) - (8)].list);
-                                       n->newowner = (yyvsp[(8) - (8)].node);
+                                       n->object = (yyvsp[-3].list);
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34365 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1237:
-/* Line 1792 of yacc.c  */
-#line 8537 "gram.y"
+#line 8536 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_FDW;
-                                       n->object = list_make1(makeString((yyvsp[(5) - (8)].str)));
-                                       n->newowner = (yyvsp[(8) - (8)].node);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34377 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1238:
-/* Line 1792 of yacc.c  */
-#line 8545 "gram.y"
+#line 8544 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_FOREIGN_SERVER;
-                                       n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
-                                       n->newowner = (yyvsp[(6) - (6)].node);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34389 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1239:
-/* Line 1792 of yacc.c  */
-#line 8553 "gram.y"
+#line 8552 "gram.y" /* yacc.c:1646  */
     {
                                        AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
                                        n->objectType = OBJECT_EVENT_TRIGGER;
-                                       n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
-                                       n->newowner = (yyvsp[(7) - (7)].node);
+                                       n->object = list_make1(makeString((yyvsp[-3].str)));
+                                       n->newowner = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34401 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1240:
-/* Line 1792 of yacc.c  */
-#line 8572 "gram.y"
+#line 8571 "gram.y" /* yacc.c:1646  */
     {
                                        RuleStmt *n = makeNode(RuleStmt);
-                                       n->replace = (yyvsp[(2) - (13)].boolean);
-                                       n->relation = (yyvsp[(9) - (13)].range);
-                                       n->rulename = (yyvsp[(4) - (13)].str);
-                                       n->whereClause = (yyvsp[(10) - (13)].node);
-                                       n->event = (yyvsp[(7) - (13)].ival);
-                                       n->instead = (yyvsp[(12) - (13)].boolean);
-                                       n->actions = (yyvsp[(13) - (13)].list);
+                                       n->replace = (yyvsp[-11].boolean);
+                                       n->relation = (yyvsp[-4].range);
+                                       n->rulename = (yyvsp[-9].str);
+                                       n->whereClause = (yyvsp[-3].node);
+                                       n->event = (yyvsp[-6].ival);
+                                       n->instead = (yyvsp[-1].boolean);
+                                       n->actions = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34417 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1241:
-/* Line 1792 of yacc.c  */
-#line 8586 "gram.y"
+#line 8585 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 34423 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1242:
-/* Line 1792 of yacc.c  */
-#line 8587 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 8586 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 34429 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1243:
-/* Line 1792 of yacc.c  */
-#line 8588 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 8587 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 34435 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1244:
-/* Line 1792 of yacc.c  */
-#line 8594 "gram.y"
-    { if ((yyvsp[(3) - (3)].node) != NULL)
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
+#line 8593 "gram.y" /* yacc.c:1646  */
+    { if ((yyvsp[0].node) != NULL)
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
                                  else
-                                       (yyval.list) = (yyvsp[(1) - (3)].list);
+                                       (yyval.list) = (yyvsp[-2].list);
                                }
+#line 34445 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1245:
-/* Line 1792 of yacc.c  */
-#line 8600 "gram.y"
-    { if ((yyvsp[(1) - (1)].node) != NULL)
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
+#line 8599 "gram.y" /* yacc.c:1646  */
+    { if ((yyvsp[0].node) != NULL)
+                                       (yyval.list) = list_make1((yyvsp[0].node));
                                  else
                                        (yyval.list) = NIL;
                                }
+#line 34455 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1251:
-/* Line 1792 of yacc.c  */
-#line 8616 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 8615 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 34461 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1252:
-/* Line 1792 of yacc.c  */
-#line 8617 "gram.y"
+#line 8616 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 34467 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1253:
-/* Line 1792 of yacc.c  */
-#line 8620 "gram.y"
+#line 8619 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CMD_SELECT; }
+#line 34473 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1254:
-/* Line 1792 of yacc.c  */
-#line 8621 "gram.y"
+#line 8620 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CMD_UPDATE; }
+#line 34479 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1255:
-/* Line 1792 of yacc.c  */
-#line 8622 "gram.y"
+#line 8621 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CMD_DELETE; }
+#line 34485 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1256:
-/* Line 1792 of yacc.c  */
-#line 8623 "gram.y"
+#line 8622 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CMD_INSERT; }
+#line 34491 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1257:
-/* Line 1792 of yacc.c  */
-#line 8627 "gram.y"
+#line 8626 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 34497 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1258:
-/* Line 1792 of yacc.c  */
-#line 8628 "gram.y"
+#line 8627 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 34503 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1259:
-/* Line 1792 of yacc.c  */
-#line 8629 "gram.y"
+#line 8628 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 34509 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1260:
-/* Line 1792 of yacc.c  */
-#line 8635 "gram.y"
+#line 8634 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_RULE;
-                                       n->objects = list_make1(lappend((yyvsp[(5) - (6)].list), makeString((yyvsp[(3) - (6)].str))));
+                                       n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(6) - (6)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 34524 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1261:
-/* Line 1792 of yacc.c  */
-#line 8646 "gram.y"
+#line 8645 "gram.y" /* yacc.c:1646  */
     {
                                        DropStmt *n = makeNode(DropStmt);
                                        n->removeType = OBJECT_RULE;
-                                       n->objects = list_make1(lappend((yyvsp[(7) - (8)].list), makeString((yyvsp[(5) - (8)].str))));
+                                       n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
                                        n->arguments = NIL;
-                                       n->behavior = (yyvsp[(8) - (8)].dbehavior);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = true;
                                        n->concurrent = false;
                                        (yyval.node) = (Node *) n;
                                }
+#line 34539 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1262:
-/* Line 1792 of yacc.c  */
-#line 8668 "gram.y"
+#line 8667 "gram.y" /* yacc.c:1646  */
     {
                                        NotifyStmt *n = makeNode(NotifyStmt);
-                                       n->conditionname = (yyvsp[(2) - (3)].str);
-                                       n->payload = (yyvsp[(3) - (3)].str);
+                                       n->conditionname = (yyvsp[-1].str);
+                                       n->payload = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34550 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1263:
-/* Line 1792 of yacc.c  */
-#line 8677 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].str); }
+#line 8676 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 34556 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1264:
-/* Line 1792 of yacc.c  */
-#line 8678 "gram.y"
+#line 8677 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 34562 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1265:
-/* Line 1792 of yacc.c  */
-#line 8682 "gram.y"
+#line 8681 "gram.y" /* yacc.c:1646  */
     {
                                        ListenStmt *n = makeNode(ListenStmt);
-                                       n->conditionname = (yyvsp[(2) - (2)].str);
+                                       n->conditionname = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34572 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1266:
-/* Line 1792 of yacc.c  */
-#line 8691 "gram.y"
+#line 8690 "gram.y" /* yacc.c:1646  */
     {
                                        UnlistenStmt *n = makeNode(UnlistenStmt);
-                                       n->conditionname = (yyvsp[(2) - (2)].str);
+                                       n->conditionname = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34582 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1267:
-/* Line 1792 of yacc.c  */
-#line 8697 "gram.y"
+#line 8696 "gram.y" /* yacc.c:1646  */
     {
                                        UnlistenStmt *n = makeNode(UnlistenStmt);
                                        n->conditionname = NULL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34592 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1268:
-/* Line 1792 of yacc.c  */
-#line 8716 "gram.y"
+#line 8715 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_ROLLBACK;
                                        n->options = NIL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34603 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1269:
-/* Line 1792 of yacc.c  */
-#line 8723 "gram.y"
+#line 8722 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_BEGIN;
-                                       n->options = (yyvsp[(3) - (3)].list);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34614 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1270:
-/* Line 1792 of yacc.c  */
-#line 8730 "gram.y"
+#line 8729 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_START;
-                                       n->options = (yyvsp[(3) - (3)].list);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34625 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1271:
-/* Line 1792 of yacc.c  */
-#line 8737 "gram.y"
+#line 8736 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_COMMIT;
                                        n->options = NIL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34636 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1272:
-/* Line 1792 of yacc.c  */
-#line 8744 "gram.y"
+#line 8743 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_COMMIT;
                                        n->options = NIL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34647 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1273:
-/* Line 1792 of yacc.c  */
-#line 8751 "gram.y"
+#line 8750 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_ROLLBACK;
                                        n->options = NIL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 34658 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1274:
-/* Line 1792 of yacc.c  */
-#line 8758 "gram.y"
+#line 8757 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_SAVEPOINT;
                                        n->options = list_make1(makeDefElem("savepoint_name",
-                                                                                                               (Node *)makeString((yyvsp[(2) - (2)].str))));
+                                                                                                               (Node *)makeString((yyvsp[0].str))));
                                        (yyval.node) = (Node *)n;
                                }
+#line 34670 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1275:
-/* Line 1792 of yacc.c  */
-#line 8766 "gram.y"
+#line 8765 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_RELEASE;
                                        n->options = list_make1(makeDefElem("savepoint_name",
-                                                                                                               (Node *)makeString((yyvsp[(3) - (3)].str))));
+                                                                                                               (Node *)makeString((yyvsp[0].str))));
                                        (yyval.node) = (Node *)n;
                                }
+#line 34682 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1276:
-/* Line 1792 of yacc.c  */
-#line 8774 "gram.y"
+#line 8773 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_RELEASE;
                                        n->options = list_make1(makeDefElem("savepoint_name",
-                                                                                                               (Node *)makeString((yyvsp[(2) - (2)].str))));
+                                                                                                               (Node *)makeString((yyvsp[0].str))));
                                        (yyval.node) = (Node *)n;
                                }
+#line 34694 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1277:
-/* Line 1792 of yacc.c  */
-#line 8782 "gram.y"
+#line 8781 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_ROLLBACK_TO;
                                        n->options = list_make1(makeDefElem("savepoint_name",
-                                                                                                               (Node *)makeString((yyvsp[(5) - (5)].str))));
+                                                                                                               (Node *)makeString((yyvsp[0].str))));
                                        (yyval.node) = (Node *)n;
                                }
+#line 34706 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1278:
-/* Line 1792 of yacc.c  */
-#line 8790 "gram.y"
+#line 8789 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_ROLLBACK_TO;
                                        n->options = list_make1(makeDefElem("savepoint_name",
-                                                                                                               (Node *)makeString((yyvsp[(4) - (4)].str))));
+                                                                                                               (Node *)makeString((yyvsp[0].str))));
                                        (yyval.node) = (Node *)n;
                                }
+#line 34718 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1279:
-/* Line 1792 of yacc.c  */
-#line 8798 "gram.y"
+#line 8797 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_PREPARE;
-                                       n->gid = (yyvsp[(3) - (3)].str);
+                                       n->gid = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34729 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1280:
-/* Line 1792 of yacc.c  */
-#line 8805 "gram.y"
+#line 8804 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_COMMIT_PREPARED;
-                                       n->gid = (yyvsp[(3) - (3)].str);
+                                       n->gid = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34740 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1281:
-/* Line 1792 of yacc.c  */
-#line 8812 "gram.y"
+#line 8811 "gram.y" /* yacc.c:1646  */
     {
                                        TransactionStmt *n = makeNode(TransactionStmt);
                                        n->kind = TRANS_STMT_ROLLBACK_PREPARED;
-                                       n->gid = (yyvsp[(3) - (3)].str);
+                                       n->gid = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34751 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1282:
-/* Line 1792 of yacc.c  */
-#line 8820 "gram.y"
+#line 8819 "gram.y" /* yacc.c:1646  */
     {}
+#line 34757 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1283:
-/* Line 1792 of yacc.c  */
-#line 8821 "gram.y"
+#line 8820 "gram.y" /* yacc.c:1646  */
     {}
+#line 34763 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1284:
-/* Line 1792 of yacc.c  */
-#line 8822 "gram.y"
+#line 8821 "gram.y" /* yacc.c:1646  */
     {}
+#line 34769 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1285:
-/* Line 1792 of yacc.c  */
-#line 8827 "gram.y"
+#line 8826 "gram.y" /* yacc.c:1646  */
     { (yyval.defelt) = makeDefElem("transaction_isolation",
-                                                                          makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)]))); }
+                                                                          makeStringConst((yyvsp[0].str), (yylsp[0]))); }
+#line 34776 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1286:
-/* Line 1792 of yacc.c  */
-#line 8830 "gram.y"
+#line 8829 "gram.y" /* yacc.c:1646  */
     { (yyval.defelt) = makeDefElem("transaction_read_only",
-                                                                          makeIntConst(TRUE, (yylsp[(1) - (2)]))); }
+                                                                          makeIntConst(TRUE, (yylsp[-1]))); }
+#line 34783 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1287:
-/* Line 1792 of yacc.c  */
-#line 8833 "gram.y"
+#line 8832 "gram.y" /* yacc.c:1646  */
     { (yyval.defelt) = makeDefElem("transaction_read_only",
-                                                                          makeIntConst(FALSE, (yylsp[(1) - (2)]))); }
+                                                                          makeIntConst(FALSE, (yylsp[-1]))); }
+#line 34790 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1288:
-/* Line 1792 of yacc.c  */
-#line 8836 "gram.y"
+#line 8835 "gram.y" /* yacc.c:1646  */
     { (yyval.defelt) = makeDefElem("transaction_deferrable",
-                                                                          makeIntConst(TRUE, (yylsp[(1) - (1)]))); }
+                                                                          makeIntConst(TRUE, (yylsp[0]))); }
+#line 34797 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1289:
-/* Line 1792 of yacc.c  */
-#line 8839 "gram.y"
+#line 8838 "gram.y" /* yacc.c:1646  */
     { (yyval.defelt) = makeDefElem("transaction_deferrable",
-                                                                          makeIntConst(FALSE, (yylsp[(1) - (2)]))); }
+                                                                          makeIntConst(FALSE, (yylsp[-1]))); }
+#line 34804 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1290:
-/* Line 1792 of yacc.c  */
-#line 8846 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 8845 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 34810 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1291:
-/* Line 1792 of yacc.c  */
-#line 8848 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
+#line 8847 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 34816 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1292:
-/* Line 1792 of yacc.c  */
-#line 8850 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 8849 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 34822 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1294:
-/* Line 1792 of yacc.c  */
-#line 8856 "gram.y"
+#line 8855 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 34828 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1295:
-/* Line 1792 of yacc.c  */
-#line 8870 "gram.y"
+#line 8869 "gram.y" /* yacc.c:1646  */
     {
                                        ViewStmt *n = makeNode(ViewStmt);
-                                       n->view = (yyvsp[(4) - (9)].range);
-                                       n->view->relpersistence = (yyvsp[(2) - (9)].ival);
-                                       n->aliases = (yyvsp[(5) - (9)].list);
-                                       n->query = (yyvsp[(8) - (9)].node);
+                                       n->view = (yyvsp[-5].range);
+                                       n->view->relpersistence = (yyvsp[-7].ival);
+                                       n->aliases = (yyvsp[-4].list);
+                                       n->query = (yyvsp[-1].node);
                                        n->replace = false;
-                                       n->options = (yyvsp[(6) - (9)].list);
-                                       n->withCheckOption = (yyvsp[(9) - (9)].ival);
+                                       n->options = (yyvsp[-3].list);
+                                       n->withCheckOption = (yyvsp[0].ival);
                                        (yyval.node) = (Node *) n;
                                }
+#line 34844 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1296:
-/* Line 1792 of yacc.c  */
-#line 8883 "gram.y"
+#line 8882 "gram.y" /* yacc.c:1646  */
     {
                                        ViewStmt *n = makeNode(ViewStmt);
-                                       n->view = (yyvsp[(6) - (11)].range);
-                                       n->view->relpersistence = (yyvsp[(4) - (11)].ival);
-                                       n->aliases = (yyvsp[(7) - (11)].list);
-                                       n->query = (yyvsp[(10) - (11)].node);
+                                       n->view = (yyvsp[-5].range);
+                                       n->view->relpersistence = (yyvsp[-7].ival);
+                                       n->aliases = (yyvsp[-4].list);
+                                       n->query = (yyvsp[-1].node);
                                        n->replace = true;
-                                       n->options = (yyvsp[(8) - (11)].list);
-                                       n->withCheckOption = (yyvsp[(11) - (11)].ival);
+                                       n->options = (yyvsp[-3].list);
+                                       n->withCheckOption = (yyvsp[0].ival);
                                        (yyval.node) = (Node *) n;
                                }
+#line 34860 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1297:
-/* Line 1792 of yacc.c  */
-#line 8896 "gram.y"
+#line 8895 "gram.y" /* yacc.c:1646  */
     {
                                        ViewStmt *n = makeNode(ViewStmt);
-                                       n->view = (yyvsp[(5) - (12)].range);
-                                       n->view->relpersistence = (yyvsp[(2) - (12)].ival);
-                                       n->aliases = (yyvsp[(7) - (12)].list);
-                                       n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[(11) - (12)].node));
+                                       n->view = (yyvsp[-7].range);
+                                       n->view->relpersistence = (yyvsp[-10].ival);
+                                       n->aliases = (yyvsp[-5].list);
+                                       n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
                                        n->replace = false;
-                                       n->options = (yyvsp[(9) - (12)].list);
-                                       n->withCheckOption = (yyvsp[(12) - (12)].ival);
+                                       n->options = (yyvsp[-3].list);
+                                       n->withCheckOption = (yyvsp[0].ival);
                                        if (n->withCheckOption != NO_CHECK_OPTION)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                                 errmsg("WITH CHECK OPTION not supported on recursive views"),
-                                                                parser_errposition((yylsp[(12) - (12)]))));
+                                                                parser_errposition((yylsp[0]))));
                                        (yyval.node) = (Node *) n;
                                }
+#line 34881 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1298:
-/* Line 1792 of yacc.c  */
-#line 8914 "gram.y"
+#line 8913 "gram.y" /* yacc.c:1646  */
     {
                                        ViewStmt *n = makeNode(ViewStmt);
-                                       n->view = (yyvsp[(7) - (14)].range);
-                                       n->view->relpersistence = (yyvsp[(4) - (14)].ival);
-                                       n->aliases = (yyvsp[(9) - (14)].list);
-                                       n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[(13) - (14)].node));
+                                       n->view = (yyvsp[-7].range);
+                                       n->view->relpersistence = (yyvsp[-10].ival);
+                                       n->aliases = (yyvsp[-5].list);
+                                       n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
                                        n->replace = true;
-                                       n->options = (yyvsp[(11) - (14)].list);
-                                       n->withCheckOption = (yyvsp[(14) - (14)].ival);
+                                       n->options = (yyvsp[-3].list);
+                                       n->withCheckOption = (yyvsp[0].ival);
                                        if (n->withCheckOption != NO_CHECK_OPTION)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                                 errmsg("WITH CHECK OPTION not supported on recursive views"),
-                                                                parser_errposition((yylsp[(14) - (14)]))));
+                                                                parser_errposition((yylsp[0]))));
                                        (yyval.node) = (Node *) n;
                                }
+#line 34902 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1299:
-/* Line 1792 of yacc.c  */
-#line 8933 "gram.y"
+#line 8932 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CASCADED_CHECK_OPTION; }
+#line 34908 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1300:
-/* Line 1792 of yacc.c  */
-#line 8934 "gram.y"
+#line 8933 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CASCADED_CHECK_OPTION; }
+#line 34914 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1301:
-/* Line 1792 of yacc.c  */
-#line 8935 "gram.y"
+#line 8934 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = LOCAL_CHECK_OPTION; }
+#line 34920 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1302:
-/* Line 1792 of yacc.c  */
-#line 8936 "gram.y"
+#line 8935 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = NO_CHECK_OPTION; }
+#line 34926 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1303:
-/* Line 1792 of yacc.c  */
-#line 8947 "gram.y"
+#line 8946 "gram.y" /* yacc.c:1646  */
     {
                                        LoadStmt *n = makeNode(LoadStmt);
-                                       n->filename = (yyvsp[(2) - (2)].str);
+                                       n->filename = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34936 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1304:
-/* Line 1792 of yacc.c  */
-#line 8963 "gram.y"
+#line 8962 "gram.y" /* yacc.c:1646  */
     {
                                        CreatedbStmt *n = makeNode(CreatedbStmt);
-                                       n->dbname = (yyvsp[(3) - (5)].str);
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->dbname = (yyvsp[-2].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 34947 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1305:
-/* Line 1792 of yacc.c  */
-#line 8972 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 8971 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 34953 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1306:
-/* Line 1792 of yacc.c  */
-#line 8973 "gram.y"
+#line 8972 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 34959 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1307:
-/* Line 1792 of yacc.c  */
-#line 8977 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+#line 8976 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 34965 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1308:
-/* Line 1792 of yacc.c  */
-#line 8978 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
+#line 8977 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 34971 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1309:
-/* Line 1792 of yacc.c  */
-#line 8983 "gram.y"
+#line 8982 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)makeInteger((yyvsp[(3) - (3)].ival)));
+                                       (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)));
                                }
+#line 34979 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1310:
-/* Line 1792 of yacc.c  */
-#line 8987 "gram.y"
+#line 8986 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)makeString((yyvsp[(3) - (3)].str)));
+                                       (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)));
                                }
+#line 34987 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1311:
-/* Line 1792 of yacc.c  */
-#line 8991 "gram.y"
+#line 8990 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL);
+                                       (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL);
                                }
+#line 34995 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1312:
-/* Line 1792 of yacc.c  */
-#line 9008 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 9007 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 35001 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1313:
-/* Line 1792 of yacc.c  */
-#line 9009 "gram.y"
+#line 9008 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = pstrdup("connection_limit"); }
+#line 35007 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1314:
-/* Line 1792 of yacc.c  */
-#line 9010 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 9009 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 35013 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1315:
-/* Line 1792 of yacc.c  */
-#line 9011 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 9010 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 35019 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1316:
-/* Line 1792 of yacc.c  */
-#line 9012 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 9011 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 35025 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1317:
-/* Line 1792 of yacc.c  */
-#line 9013 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 9012 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 35031 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1318:
-/* Line 1792 of yacc.c  */
-#line 9014 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 9013 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 35037 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1319:
-/* Line 1792 of yacc.c  */
-#line 9021 "gram.y"
+#line 9020 "gram.y" /* yacc.c:1646  */
     {}
+#line 35043 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1320:
-/* Line 1792 of yacc.c  */
-#line 9022 "gram.y"
+#line 9021 "gram.y" /* yacc.c:1646  */
     {}
+#line 35049 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1321:
-/* Line 1792 of yacc.c  */
-#line 9034 "gram.y"
+#line 9033 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
-                                       n->dbname = (yyvsp[(3) - (5)].str);
-                                       n->options = (yyvsp[(5) - (5)].list);
+                                       n->dbname = (yyvsp[-2].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                 }
+#line 35060 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1322:
-/* Line 1792 of yacc.c  */
-#line 9041 "gram.y"
+#line 9040 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
-                                       n->dbname = (yyvsp[(3) - (4)].str);
-                                       n->options = (yyvsp[(4) - (4)].list);
+                                       n->dbname = (yyvsp[-1].str);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                 }
+#line 35071 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1323:
-/* Line 1792 of yacc.c  */
-#line 9048 "gram.y"
+#line 9047 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
-                                       n->dbname = (yyvsp[(3) - (6)].str);
+                                       n->dbname = (yyvsp[-3].str);
                                        n->options = list_make1(makeDefElem("tablespace",
-                                                                                                       (Node *)makeString((yyvsp[(6) - (6)].str))));
+                                                                                                       (Node *)makeString((yyvsp[0].str))));
                                        (yyval.node) = (Node *)n;
                                 }
+#line 35083 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1324:
-/* Line 1792 of yacc.c  */
-#line 9059 "gram.y"
+#line 9058 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
-                                       n->dbname = (yyvsp[(3) - (4)].str);
-                                       n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
+                                       n->dbname = (yyvsp[-1].str);
+                                       n->setstmt = (yyvsp[0].vsetstmt);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35094 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1325:
-/* Line 1792 of yacc.c  */
-#line 9076 "gram.y"
+#line 9075 "gram.y" /* yacc.c:1646  */
     {
                                        DropdbStmt *n = makeNode(DropdbStmt);
-                                       n->dbname = (yyvsp[(3) - (3)].str);
+                                       n->dbname = (yyvsp[0].str);
                                        n->missing_ok = FALSE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 35105 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1326:
-/* Line 1792 of yacc.c  */
-#line 9083 "gram.y"
+#line 9082 "gram.y" /* yacc.c:1646  */
     {
                                        DropdbStmt *n = makeNode(DropdbStmt);
-                                       n->dbname = (yyvsp[(5) - (5)].str);
+                                       n->dbname = (yyvsp[0].str);
                                        n->missing_ok = TRUE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 35116 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1327:
-/* Line 1792 of yacc.c  */
-#line 9101 "gram.y"
+#line 9100 "gram.y" /* yacc.c:1646  */
     {
                                        AlterSystemStmt *n = makeNode(AlterSystemStmt);
-                                       n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
+                                       n->setstmt = (yyvsp[0].vsetstmt);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35126 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1328:
-/* Line 1792 of yacc.c  */
-#line 9107 "gram.y"
+#line 9106 "gram.y" /* yacc.c:1646  */
     {
                                        AlterSystemStmt *n = makeNode(AlterSystemStmt);
-                                       n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
+                                       n->setstmt = (yyvsp[0].vsetstmt);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35136 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1329:
-/* Line 1792 of yacc.c  */
-#line 9123 "gram.y"
+#line 9122 "gram.y" /* yacc.c:1646  */
     {
                                        CreateDomainStmt *n = makeNode(CreateDomainStmt);
-                                       n->domainname = (yyvsp[(3) - (6)].list);
-                                       n->typeName = (yyvsp[(5) - (6)].typnam);
-                                       SplitColQualList((yyvsp[(6) - (6)].list), &n->constraints, &n->collClause,
+                                       n->domainname = (yyvsp[-3].list);
+                                       n->typeName = (yyvsp[-1].typnam);
+                                       SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
                                                                         yyscanner);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35149 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1330:
-/* Line 1792 of yacc.c  */
-#line 9136 "gram.y"
+#line 9135 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDomainStmt *n = makeNode(AlterDomainStmt);
                                        n->subtype = 'T';
-                                       n->typeName = (yyvsp[(3) - (4)].list);
-                                       n->def = (yyvsp[(4) - (4)].node);
+                                       n->typeName = (yyvsp[-1].list);
+                                       n->def = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35161 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1331:
-/* Line 1792 of yacc.c  */
-#line 9145 "gram.y"
+#line 9144 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDomainStmt *n = makeNode(AlterDomainStmt);
                                        n->subtype = 'N';
-                                       n->typeName = (yyvsp[(3) - (6)].list);
+                                       n->typeName = (yyvsp[-3].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35172 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1332:
-/* Line 1792 of yacc.c  */
-#line 9153 "gram.y"
+#line 9152 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDomainStmt *n = makeNode(AlterDomainStmt);
                                        n->subtype = 'O';
-                                       n->typeName = (yyvsp[(3) - (6)].list);
+                                       n->typeName = (yyvsp[-3].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35183 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1333:
-/* Line 1792 of yacc.c  */
-#line 9161 "gram.y"
+#line 9160 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDomainStmt *n = makeNode(AlterDomainStmt);
                                        n->subtype = 'C';
-                                       n->typeName = (yyvsp[(3) - (5)].list);
-                                       n->def = (yyvsp[(5) - (5)].node);
+                                       n->typeName = (yyvsp[-2].list);
+                                       n->def = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35195 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1334:
-/* Line 1792 of yacc.c  */
-#line 9170 "gram.y"
+#line 9169 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDomainStmt *n = makeNode(AlterDomainStmt);
                                        n->subtype = 'X';
-                                       n->typeName = (yyvsp[(3) - (7)].list);
-                                       n->name = (yyvsp[(6) - (7)].str);
-                                       n->behavior = (yyvsp[(7) - (7)].dbehavior);
+                                       n->typeName = (yyvsp[-4].list);
+                                       n->name = (yyvsp[-1].str);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node *)n;
                                }
+#line 35209 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1335:
-/* Line 1792 of yacc.c  */
-#line 9181 "gram.y"
+#line 9180 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDomainStmt *n = makeNode(AlterDomainStmt);
                                        n->subtype = 'X';
-                                       n->typeName = (yyvsp[(3) - (9)].list);
-                                       n->name = (yyvsp[(8) - (9)].str);
-                                       n->behavior = (yyvsp[(9) - (9)].dbehavior);
+                                       n->typeName = (yyvsp[-6].list);
+                                       n->name = (yyvsp[-1].str);
+                                       n->behavior = (yyvsp[0].dbehavior);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node *)n;
                                }
+#line 35223 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1336:
-/* Line 1792 of yacc.c  */
-#line 9192 "gram.y"
+#line 9191 "gram.y" /* yacc.c:1646  */
     {
                                        AlterDomainStmt *n = makeNode(AlterDomainStmt);
                                        n->subtype = 'V';
-                                       n->typeName = (yyvsp[(3) - (6)].list);
-                                       n->name = (yyvsp[(6) - (6)].str);
+                                       n->typeName = (yyvsp[-3].list);
+                                       n->name = (yyvsp[0].str);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35235 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1337:
-/* Line 1792 of yacc.c  */
-#line 9201 "gram.y"
+#line 9200 "gram.y" /* yacc.c:1646  */
     {}
+#line 35241 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1338:
-/* Line 1792 of yacc.c  */
-#line 9202 "gram.y"
+#line 9201 "gram.y" /* yacc.c:1646  */
     {}
+#line 35247 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1339:
-/* Line 1792 of yacc.c  */
-#line 9214 "gram.y"
+#line 9213 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
-                                       n->dictname = (yyvsp[(5) - (6)].list);
-                                       n->options = (yyvsp[(6) - (6)].list);
+                                       n->dictname = (yyvsp[-1].list);
+                                       n->options = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35258 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1340:
-/* Line 1792 of yacc.c  */
-#line 9224 "gram.y"
+#line 9223 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
                                        n->kind = ALTER_TSCONFIG_ADD_MAPPING;
-                                       n->cfgname = (yyvsp[(5) - (11)].list);
-                                       n->tokentype = (yyvsp[(9) - (11)].list);
-                                       n->dicts = (yyvsp[(11) - (11)].list);
+                                       n->cfgname = (yyvsp[-6].list);
+                                       n->tokentype = (yyvsp[-2].list);
+                                       n->dicts = (yyvsp[0].list);
                                        n->override = false;
                                        n->replace = false;
                                        (yyval.node) = (Node*)n;
                                }
+#line 35273 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1341:
-/* Line 1792 of yacc.c  */
-#line 9235 "gram.y"
+#line 9234 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
                                        n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
-                                       n->cfgname = (yyvsp[(5) - (11)].list);
-                                       n->tokentype = (yyvsp[(9) - (11)].list);
-                                       n->dicts = (yyvsp[(11) - (11)].list);
+                                       n->cfgname = (yyvsp[-6].list);
+                                       n->tokentype = (yyvsp[-2].list);
+                                       n->dicts = (yyvsp[0].list);
                                        n->override = true;
                                        n->replace = false;
                                        (yyval.node) = (Node*)n;
                                }
+#line 35288 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1342:
-/* Line 1792 of yacc.c  */
-#line 9246 "gram.y"
+#line 9245 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
                                        n->kind = ALTER_TSCONFIG_REPLACE_DICT;
-                                       n->cfgname = (yyvsp[(5) - (11)].list);
+                                       n->cfgname = (yyvsp[-6].list);
                                        n->tokentype = NIL;
-                                       n->dicts = list_make2((yyvsp[(9) - (11)].list),(yyvsp[(11) - (11)].list));
+                                       n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
                                        n->override = false;
                                        n->replace = true;
                                        (yyval.node) = (Node*)n;
                                }
+#line 35303 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1343:
-/* Line 1792 of yacc.c  */
-#line 9257 "gram.y"
+#line 9256 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
                                        n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
-                                       n->cfgname = (yyvsp[(5) - (13)].list);
-                                       n->tokentype = (yyvsp[(9) - (13)].list);
-                                       n->dicts = list_make2((yyvsp[(11) - (13)].list),(yyvsp[(13) - (13)].list));
+                                       n->cfgname = (yyvsp[-8].list);
+                                       n->tokentype = (yyvsp[-4].list);
+                                       n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
                                        n->override = false;
                                        n->replace = true;
                                        (yyval.node) = (Node*)n;
                                }
+#line 35318 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1344:
-/* Line 1792 of yacc.c  */
-#line 9268 "gram.y"
+#line 9267 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
                                        n->kind = ALTER_TSCONFIG_DROP_MAPPING;
-                                       n->cfgname = (yyvsp[(5) - (9)].list);
-                                       n->tokentype = (yyvsp[(9) - (9)].list);
+                                       n->cfgname = (yyvsp[-4].list);
+                                       n->tokentype = (yyvsp[0].list);
                                        n->missing_ok = false;
                                        (yyval.node) = (Node*)n;
                                }
+#line 35331 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1345:
-/* Line 1792 of yacc.c  */
-#line 9277 "gram.y"
+#line 9276 "gram.y" /* yacc.c:1646  */
     {
                                        AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
                                        n->kind = ALTER_TSCONFIG_DROP_MAPPING;
-                                       n->cfgname = (yyvsp[(5) - (11)].list);
-                                       n->tokentype = (yyvsp[(11) - (11)].list);
+                                       n->cfgname = (yyvsp[-6].list);
+                                       n->tokentype = (yyvsp[0].list);
                                        n->missing_ok = true;
                                        (yyval.node) = (Node*)n;
                                }
+#line 35344 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1346:
-/* Line 1792 of yacc.c  */
-#line 9288 "gram.y"
+#line 9287 "gram.y" /* yacc.c:1646  */
     {}
+#line 35350 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1347:
-/* Line 1792 of yacc.c  */
-#line 9289 "gram.y"
+#line 9288 "gram.y" /* yacc.c:1646  */
     {}
+#line 35356 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1348:
-/* Line 1792 of yacc.c  */
-#line 9305 "gram.y"
+#line 9304 "gram.y" /* yacc.c:1646  */
     {
                                CreateConversionStmt *n = makeNode(CreateConversionStmt);
-                               n->conversion_name = (yyvsp[(4) - (10)].list);
-                               n->for_encoding_name = (yyvsp[(6) - (10)].str);
-                               n->to_encoding_name = (yyvsp[(8) - (10)].str);
-                               n->func_name = (yyvsp[(10) - (10)].list);
-                               n->def = (yyvsp[(2) - (10)].boolean);
+                               n->conversion_name = (yyvsp[-6].list);
+                               n->for_encoding_name = (yyvsp[-4].str);
+                               n->to_encoding_name = (yyvsp[-2].str);
+                               n->func_name = (yyvsp[0].list);
+                               n->def = (yyvsp[-8].boolean);
                                (yyval.node) = (Node *)n;
                        }
+#line 35370 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1349:
-/* Line 1792 of yacc.c  */
-#line 9327 "gram.y"
+#line 9326 "gram.y" /* yacc.c:1646  */
     {
                                        ClusterStmt *n = makeNode(ClusterStmt);
-                                       n->relation = (yyvsp[(3) - (4)].range);
-                                       n->indexname = (yyvsp[(4) - (4)].str);
-                                       n->verbose = (yyvsp[(2) - (4)].boolean);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->indexname = (yyvsp[0].str);
+                                       n->verbose = (yyvsp[-2].boolean);
                                        (yyval.node) = (Node*)n;
                                }
+#line 35382 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1350:
-/* Line 1792 of yacc.c  */
-#line 9335 "gram.y"
+#line 9334 "gram.y" /* yacc.c:1646  */
     {
                                        ClusterStmt *n = makeNode(ClusterStmt);
                                        n->relation = NULL;
                                        n->indexname = NULL;
-                                       n->verbose = (yyvsp[(2) - (2)].boolean);
+                                       n->verbose = (yyvsp[0].boolean);
                                        (yyval.node) = (Node*)n;
                                }
+#line 35394 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1351:
-/* Line 1792 of yacc.c  */
-#line 9344 "gram.y"
+#line 9343 "gram.y" /* yacc.c:1646  */
     {
                                        ClusterStmt *n = makeNode(ClusterStmt);
-                                       n->relation = (yyvsp[(5) - (5)].range);
-                                       n->indexname = (yyvsp[(3) - (5)].str);
-                                       n->verbose = (yyvsp[(2) - (5)].boolean);
+                                       n->relation = (yyvsp[0].range);
+                                       n->indexname = (yyvsp[-2].str);
+                                       n->verbose = (yyvsp[-3].boolean);
                                        (yyval.node) = (Node*)n;
                                }
+#line 35406 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1352:
-/* Line 1792 of yacc.c  */
-#line 9354 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].str); }
+#line 9353 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 35412 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1353:
-/* Line 1792 of yacc.c  */
-#line 9355 "gram.y"
+#line 9354 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 35418 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1354:
-/* Line 1792 of yacc.c  */
-#line 9368 "gram.y"
+#line 9367 "gram.y" /* yacc.c:1646  */
     {
                                        VacuumStmt *n = makeNode(VacuumStmt);
                                        n->options = VACOPT_VACUUM;
-                                       if ((yyvsp[(2) - (4)].boolean))
+                                       if ((yyvsp[-2].boolean))
                                                n->options |= VACOPT_FULL;
-                                       if ((yyvsp[(3) - (4)].boolean))
+                                       if ((yyvsp[-1].boolean))
                                                n->options |= VACOPT_FREEZE;
-                                       if ((yyvsp[(4) - (4)].boolean))
+                                       if ((yyvsp[0].boolean))
                                                n->options |= VACOPT_VERBOSE;
                                        n->relation = NULL;
                                        n->va_cols = NIL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 35436 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1355:
-/* Line 1792 of yacc.c  */
-#line 9382 "gram.y"
+#line 9381 "gram.y" /* yacc.c:1646  */
     {
                                        VacuumStmt *n = makeNode(VacuumStmt);
                                        n->options = VACOPT_VACUUM;
-                                       if ((yyvsp[(2) - (5)].boolean))
+                                       if ((yyvsp[-3].boolean))
                                                n->options |= VACOPT_FULL;
-                                       if ((yyvsp[(3) - (5)].boolean))
+                                       if ((yyvsp[-2].boolean))
                                                n->options |= VACOPT_FREEZE;
-                                       if ((yyvsp[(4) - (5)].boolean))
+                                       if ((yyvsp[-1].boolean))
                                                n->options |= VACOPT_VERBOSE;
-                                       n->relation = (yyvsp[(5) - (5)].range);
+                                       n->relation = (yyvsp[0].range);
                                        n->va_cols = NIL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 35454 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1356:
-/* Line 1792 of yacc.c  */
-#line 9396 "gram.y"
+#line 9395 "gram.y" /* yacc.c:1646  */
     {
-                                       VacuumStmt *n = (VacuumStmt *) (yyvsp[(5) - (5)].node);
+                                       VacuumStmt *n = (VacuumStmt *) (yyvsp[0].node);
                                        n->options |= VACOPT_VACUUM;
-                                       if ((yyvsp[(2) - (5)].boolean))
+                                       if ((yyvsp[-3].boolean))
                                                n->options |= VACOPT_FULL;
-                                       if ((yyvsp[(3) - (5)].boolean))
+                                       if ((yyvsp[-2].boolean))
                                                n->options |= VACOPT_FREEZE;
-                                       if ((yyvsp[(4) - (5)].boolean))
+                                       if ((yyvsp[-1].boolean))
                                                n->options |= VACOPT_VERBOSE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 35470 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1357:
-/* Line 1792 of yacc.c  */
-#line 9408 "gram.y"
+#line 9407 "gram.y" /* yacc.c:1646  */
     {
                                        VacuumStmt *n = makeNode(VacuumStmt);
-                                       n->options = VACOPT_VACUUM | (yyvsp[(3) - (4)].ival);
+                                       n->options = VACOPT_VACUUM | (yyvsp[-1].ival);
                                        n->relation = NULL;
                                        n->va_cols = NIL;
                                        (yyval.node) = (Node *) n;
                                }
+#line 35482 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1358:
-/* Line 1792 of yacc.c  */
-#line 9416 "gram.y"
+#line 9415 "gram.y" /* yacc.c:1646  */
     {
                                        VacuumStmt *n = makeNode(VacuumStmt);
-                                       n->options = VACOPT_VACUUM | (yyvsp[(3) - (6)].ival);
-                                       n->relation = (yyvsp[(5) - (6)].range);
-                                       n->va_cols = (yyvsp[(6) - (6)].list);
+                                       n->options = VACOPT_VACUUM | (yyvsp[-3].ival);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->va_cols = (yyvsp[0].list);
                                        if (n->va_cols != NIL)  /* implies analyze */
                                                n->options |= VACOPT_ANALYZE;
                                        (yyval.node) = (Node *) n;
                                }
+#line 35496 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1359:
-/* Line 1792 of yacc.c  */
-#line 9428 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (1)].ival); }
+#line 9427 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[0].ival); }
+#line 35502 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1360:
-/* Line 1792 of yacc.c  */
-#line 9429 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); }
+#line 9428 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
+#line 35508 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1361:
-/* Line 1792 of yacc.c  */
-#line 9433 "gram.y"
+#line 9432 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = VACOPT_ANALYZE; }
+#line 35514 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1362:
-/* Line 1792 of yacc.c  */
-#line 9434 "gram.y"
+#line 9433 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = VACOPT_VERBOSE; }
+#line 35520 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1363:
-/* Line 1792 of yacc.c  */
-#line 9435 "gram.y"
+#line 9434 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = VACOPT_FREEZE; }
+#line 35526 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1364:
-/* Line 1792 of yacc.c  */
-#line 9436 "gram.y"
+#line 9435 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = VACOPT_FULL; }
+#line 35532 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1365:
-/* Line 1792 of yacc.c  */
-#line 9438 "gram.y"
+#line 9437 "gram.y" /* yacc.c:1646  */
     {
-                                       if (strcmp((yyvsp[(1) - (1)].str), "disable_page_skipping") == 0)
+                                       if (strcmp((yyvsp[0].str), "disable_page_skipping") == 0)
                                                (yyval.ival) = VACOPT_DISABLE_PAGE_SKIPPING;
                                        else
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_SYNTAX_ERROR),
-                                                        errmsg("unrecognized VACUUM option \"%s\"", (yyvsp[(1) - (1)].str)),
-                                                                        parser_errposition((yylsp[(1) - (1)]))));
+                                                        errmsg("unrecognized VACUUM option \"%s\"", (yyvsp[0].str)),
+                                                                        parser_errposition((yylsp[0]))));
                                }
+#line 35546 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1366:
-/* Line 1792 of yacc.c  */
-#line 9451 "gram.y"
+#line 9450 "gram.y" /* yacc.c:1646  */
     {
                                        VacuumStmt *n = makeNode(VacuumStmt);
                                        n->options = VACOPT_ANALYZE;
-                                       if ((yyvsp[(2) - (2)].boolean))
+                                       if ((yyvsp[0].boolean))
                                                n->options |= VACOPT_VERBOSE;
                                        n->relation = NULL;
                                        n->va_cols = NIL;
                                        (yyval.node) = (Node *)n;
                                }
+#line 35560 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1367:
-/* Line 1792 of yacc.c  */
-#line 9461 "gram.y"
+#line 9460 "gram.y" /* yacc.c:1646  */
     {
                                        VacuumStmt *n = makeNode(VacuumStmt);
                                        n->options = VACOPT_ANALYZE;
-                                       if ((yyvsp[(2) - (4)].boolean))
+                                       if ((yyvsp[-2].boolean))
                                                n->options |= VACOPT_VERBOSE;
-                                       n->relation = (yyvsp[(3) - (4)].range);
-                                       n->va_cols = (yyvsp[(4) - (4)].list);
+                                       n->relation = (yyvsp[-1].range);
+                                       n->va_cols = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 35574 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1368:
-/* Line 1792 of yacc.c  */
-#line 9473 "gram.y"
+#line 9472 "gram.y" /* yacc.c:1646  */
     {}
+#line 35580 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1369:
-/* Line 1792 of yacc.c  */
-#line 9474 "gram.y"
+#line 9473 "gram.y" /* yacc.c:1646  */
     {}
+#line 35586 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1370:
-/* Line 1792 of yacc.c  */
-#line 9478 "gram.y"
+#line 9477 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 35592 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1371:
-/* Line 1792 of yacc.c  */
-#line 9479 "gram.y"
+#line 9478 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 35598 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1372:
-/* Line 1792 of yacc.c  */
-#line 9482 "gram.y"
+#line 9481 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 35604 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1373:
-/* Line 1792 of yacc.c  */
-#line 9483 "gram.y"
+#line 9482 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 35610 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1374:
-/* Line 1792 of yacc.c  */
-#line 9486 "gram.y"
+#line 9485 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 35616 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1375:
-/* Line 1792 of yacc.c  */
-#line 9487 "gram.y"
+#line 9486 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 35622 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1376:
-/* Line 1792 of yacc.c  */
-#line 9491 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 9490 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 35628 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1377:
-/* Line 1792 of yacc.c  */
-#line 9492 "gram.y"
+#line 9491 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 35634 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1378:
-/* Line 1792 of yacc.c  */
-#line 9506 "gram.y"
+#line 9505 "gram.y" /* yacc.c:1646  */
     {
                                        ExplainStmt *n = makeNode(ExplainStmt);
-                                       n->query = (yyvsp[(2) - (2)].node);
+                                       n->query = (yyvsp[0].node);
                                        n->options = NIL;
                                        (yyval.node) = (Node *) n;
                                }
+#line 35645 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1379:
-/* Line 1792 of yacc.c  */
-#line 9513 "gram.y"
+#line 9512 "gram.y" /* yacc.c:1646  */
     {
                                        ExplainStmt *n = makeNode(ExplainStmt);
-                                       n->query = (yyvsp[(4) - (4)].node);
+                                       n->query = (yyvsp[0].node);
                                        n->options = list_make1(makeDefElem("analyze", NULL));
-                                       if ((yyvsp[(3) - (4)].boolean))
+                                       if ((yyvsp[-1].boolean))
                                                n->options = lappend(n->options,
                                                                                         makeDefElem("verbose", NULL));
                                        (yyval.node) = (Node *) n;
                                }
+#line 35659 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1380:
-/* Line 1792 of yacc.c  */
-#line 9523 "gram.y"
+#line 9522 "gram.y" /* yacc.c:1646  */
     {
                                        ExplainStmt *n = makeNode(ExplainStmt);
-                                       n->query = (yyvsp[(3) - (3)].node);
+                                       n->query = (yyvsp[0].node);
                                        n->options = list_make1(makeDefElem("verbose", NULL));
                                        (yyval.node) = (Node *) n;
                                }
+#line 35670 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1381:
-/* Line 1792 of yacc.c  */
-#line 9530 "gram.y"
+#line 9529 "gram.y" /* yacc.c:1646  */
     {
                                        ExplainStmt *n = makeNode(ExplainStmt);
-                                       n->query = (yyvsp[(5) - (5)].node);
-                                       n->options = (yyvsp[(3) - (5)].list);
+                                       n->query = (yyvsp[0].node);
+                                       n->options = (yyvsp[-2].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 35681 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1391:
-/* Line 1792 of yacc.c  */
-#line 9552 "gram.y"
+#line 9551 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
+                                       (yyval.list) = list_make1((yyvsp[0].defelt));
                                }
+#line 35689 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1392:
-/* Line 1792 of yacc.c  */
-#line 9556 "gram.y"
+#line 9555 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
                                }
+#line 35697 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1393:
-/* Line 1792 of yacc.c  */
-#line 9563 "gram.y"
+#line 9562 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
+                                       (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node));
                                }
+#line 35705 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1394:
-/* Line 1792 of yacc.c  */
-#line 9569 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 9568 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 35711 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1395:
-/* Line 1792 of yacc.c  */
-#line 9570 "gram.y"
+#line 9569 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "analyze"; }
+#line 35717 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1396:
-/* Line 1792 of yacc.c  */
-#line 9574 "gram.y"
-    { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); }
+#line 9573 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 35723 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1397:
-/* Line 1792 of yacc.c  */
-#line 9575 "gram.y"
-    { (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); }
+#line 9574 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) (yyvsp[0].value); }
+#line 35729 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1398:
-/* Line 1792 of yacc.c  */
-#line 9576 "gram.y"
+#line 9575 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 35735 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1399:
-/* Line 1792 of yacc.c  */
-#line 9587 "gram.y"
+#line 9586 "gram.y" /* yacc.c:1646  */
     {
                                        PrepareStmt *n = makeNode(PrepareStmt);
-                                       n->name = (yyvsp[(2) - (5)].str);
-                                       n->argtypes = (yyvsp[(3) - (5)].list);
-                                       n->query = (yyvsp[(5) - (5)].node);
+                                       n->name = (yyvsp[-3].str);
+                                       n->argtypes = (yyvsp[-2].list);
+                                       n->query = (yyvsp[0].node);
                                        (yyval.node) = (Node *) n;
                                }
+#line 35747 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1400:
-/* Line 1792 of yacc.c  */
-#line 9596 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 9595 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 35753 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1401:
-/* Line 1792 of yacc.c  */
-#line 9597 "gram.y"
+#line 9596 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 35759 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1406:
-/* Line 1792 of yacc.c  */
-#line 9615 "gram.y"
+#line 9614 "gram.y" /* yacc.c:1646  */
     {
                                        ExecuteStmt *n = makeNode(ExecuteStmt);
-                                       n->name = (yyvsp[(2) - (3)].str);
-                                       n->params = (yyvsp[(3) - (3)].list);
+                                       n->name = (yyvsp[-1].str);
+                                       n->params = (yyvsp[0].list);
                                        (yyval.node) = (Node *) n;
                                }
+#line 35770 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1407:
-/* Line 1792 of yacc.c  */
-#line 9623 "gram.y"
+#line 9622 "gram.y" /* yacc.c:1646  */
     {
                                        CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
                                        ExecuteStmt *n = makeNode(ExecuteStmt);
-                                       n->name = (yyvsp[(7) - (9)].str);
-                                       n->params = (yyvsp[(8) - (9)].list);
+                                       n->name = (yyvsp[-2].str);
+                                       n->params = (yyvsp[-1].list);
                                        ctas->query = (Node *) n;
-                                       ctas->into = (yyvsp[(4) - (9)].into);
+                                       ctas->into = (yyvsp[-5].into);
                                        ctas->relkind = OBJECT_TABLE;
                                        ctas->is_select_into = false;
                                        /* cram additional flags into the IntoClause */
-                                       (yyvsp[(4) - (9)].into)->rel->relpersistence = (yyvsp[(2) - (9)].ival);
-                                       (yyvsp[(4) - (9)].into)->skipData = !((yyvsp[(9) - (9)].boolean));
+                                       (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
+                                       (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
                                        (yyval.node) = (Node *) ctas;
                                }
+#line 35789 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1408:
-/* Line 1792 of yacc.c  */
-#line 9639 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 9638 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 35795 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1409:
-/* Line 1792 of yacc.c  */
-#line 9640 "gram.y"
+#line 9639 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 35801 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1410:
-/* Line 1792 of yacc.c  */
-#line 9651 "gram.y"
+#line 9650 "gram.y" /* yacc.c:1646  */
     {
                                                DeallocateStmt *n = makeNode(DeallocateStmt);
-                                               n->name = (yyvsp[(2) - (2)].str);
+                                               n->name = (yyvsp[0].str);
                                                (yyval.node) = (Node *) n;
                                        }
+#line 35811 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1411:
-/* Line 1792 of yacc.c  */
-#line 9657 "gram.y"
+#line 9656 "gram.y" /* yacc.c:1646  */
     {
                                                DeallocateStmt *n = makeNode(DeallocateStmt);
-                                               n->name = (yyvsp[(3) - (3)].str);
+                                               n->name = (yyvsp[0].str);
                                                (yyval.node) = (Node *) n;
                                        }
+#line 35821 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1412:
-/* Line 1792 of yacc.c  */
-#line 9663 "gram.y"
+#line 9662 "gram.y" /* yacc.c:1646  */
     {
                                                DeallocateStmt *n = makeNode(DeallocateStmt);
                                                n->name = NULL;
                                                (yyval.node) = (Node *) n;
                                        }
+#line 35831 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1413:
-/* Line 1792 of yacc.c  */
-#line 9669 "gram.y"
+#line 9668 "gram.y" /* yacc.c:1646  */
     {
                                                DeallocateStmt *n = makeNode(DeallocateStmt);
                                                n->name = NULL;
                                                (yyval.node) = (Node *) n;
                                        }
+#line 35841 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1414:
-/* Line 1792 of yacc.c  */
-#line 9686 "gram.y"
+#line 9685 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyvsp[(5) - (7)].istmt)->relation = (yyvsp[(4) - (7)].range);
-                                       (yyvsp[(5) - (7)].istmt)->onConflictClause = (yyvsp[(6) - (7)].onconflict);
-                                       (yyvsp[(5) - (7)].istmt)->returningList = (yyvsp[(7) - (7)].list);
-                                       (yyvsp[(5) - (7)].istmt)->withClause = (yyvsp[(1) - (7)].with);
-                                       (yyval.node) = (Node *) (yyvsp[(5) - (7)].istmt);
+                                       (yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
+                                       (yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
+                                       (yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
+                                       (yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
+                                       (yyval.node) = (Node *) (yyvsp[-2].istmt);
                                }
+#line 35853 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1415:
-/* Line 1792 of yacc.c  */
-#line 9703 "gram.y"
+#line 9702 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.range) = (yyvsp[(1) - (1)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                }
+#line 35861 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1416:
-/* Line 1792 of yacc.c  */
-#line 9707 "gram.y"
+#line 9706 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyvsp[(1) - (3)].range)->alias = makeAlias((yyvsp[(3) - (3)].str), NIL);
-                                       (yyval.range) = (yyvsp[(1) - (3)].range);
+                                       (yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
+                                       (yyval.range) = (yyvsp[-2].range);
                                }
+#line 35870 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1417:
-/* Line 1792 of yacc.c  */
-#line 9715 "gram.y"
+#line 9714 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.istmt) = makeNode(InsertStmt);
                                        (yyval.istmt)->cols = NIL;
-                                       (yyval.istmt)->selectStmt = (yyvsp[(1) - (1)].node);
+                                       (yyval.istmt)->selectStmt = (yyvsp[0].node);
                                }
+#line 35880 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1418:
-/* Line 1792 of yacc.c  */
-#line 9721 "gram.y"
+#line 9720 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.istmt) = makeNode(InsertStmt);
-                                       (yyval.istmt)->cols = (yyvsp[(2) - (4)].list);
-                                       (yyval.istmt)->selectStmt = (yyvsp[(4) - (4)].node);
+                                       (yyval.istmt)->cols = (yyvsp[-2].list);
+                                       (yyval.istmt)->selectStmt = (yyvsp[0].node);
                                }
+#line 35890 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1419:
-/* Line 1792 of yacc.c  */
-#line 9727 "gram.y"
+#line 9726 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.istmt) = makeNode(InsertStmt);
                                        (yyval.istmt)->cols = NIL;
                                        (yyval.istmt)->selectStmt = NULL;
                                }
+#line 35900 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1420:
-/* Line 1792 of yacc.c  */
-#line 9736 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); }
+#line 9735 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].target)); }
+#line 35906 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1421:
-/* Line 1792 of yacc.c  */
-#line 9738 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); }
+#line 9737 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
+#line 35912 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1422:
-/* Line 1792 of yacc.c  */
-#line 9743 "gram.y"
+#line 9742 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.target) = makeNode(ResTarget);
-                                       (yyval.target)->name = (yyvsp[(1) - (2)].str);
-                                       (yyval.target)->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
+                                       (yyval.target)->name = (yyvsp[-1].str);
+                                       (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
                                        (yyval.target)->val = NULL;
-                                       (yyval.target)->location = (yylsp[(1) - (2)]);
+                                       (yyval.target)->location = (yylsp[-1]);
                                }
+#line 35924 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1423:
-/* Line 1792 of yacc.c  */
-#line 9754 "gram.y"
+#line 9753 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.onconflict) = makeNode(OnConflictClause);
                                        (yyval.onconflict)->action = ONCONFLICT_UPDATE;
-                                       (yyval.onconflict)->infer = (yyvsp[(3) - (8)].infer);
-                                       (yyval.onconflict)->targetList = (yyvsp[(7) - (8)].list);
-                                       (yyval.onconflict)->whereClause = (yyvsp[(8) - (8)].node);
-                                       (yyval.onconflict)->location = (yylsp[(1) - (8)]);
+                                       (yyval.onconflict)->infer = (yyvsp[-5].infer);
+                                       (yyval.onconflict)->targetList = (yyvsp[-1].list);
+                                       (yyval.onconflict)->whereClause = (yyvsp[0].node);
+                                       (yyval.onconflict)->location = (yylsp[-7]);
                                }
+#line 35937 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1424:
-/* Line 1792 of yacc.c  */
-#line 9764 "gram.y"
+#line 9763 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.onconflict) = makeNode(OnConflictClause);
                                        (yyval.onconflict)->action = ONCONFLICT_NOTHING;
-                                       (yyval.onconflict)->infer = (yyvsp[(3) - (5)].infer);
+                                       (yyval.onconflict)->infer = (yyvsp[-2].infer);
                                        (yyval.onconflict)->targetList = NIL;
                                        (yyval.onconflict)->whereClause = NULL;
-                                       (yyval.onconflict)->location = (yylsp[(1) - (5)]);
+                                       (yyval.onconflict)->location = (yylsp[-4]);
                                }
+#line 35950 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1425:
-/* Line 1792 of yacc.c  */
-#line 9773 "gram.y"
+#line 9772 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.onconflict) = NULL;
                                }
+#line 35958 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1426:
-/* Line 1792 of yacc.c  */
-#line 9780 "gram.y"
+#line 9779 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.infer) = makeNode(InferClause);
-                                       (yyval.infer)->indexElems = (yyvsp[(2) - (4)].list);
-                                       (yyval.infer)->whereClause = (yyvsp[(4) - (4)].node);
+                                       (yyval.infer)->indexElems = (yyvsp[-2].list);
+                                       (yyval.infer)->whereClause = (yyvsp[0].node);
                                        (yyval.infer)->conname = NULL;
-                                       (yyval.infer)->location = (yylsp[(1) - (4)]);
+                                       (yyval.infer)->location = (yylsp[-3]);
                                }
+#line 35970 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1427:
-/* Line 1792 of yacc.c  */
-#line 9789 "gram.y"
+#line 9788 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.infer) = makeNode(InferClause);
                                        (yyval.infer)->indexElems = NIL;
                                        (yyval.infer)->whereClause = NULL;
-                                       (yyval.infer)->conname = (yyvsp[(3) - (3)].str);
-                                       (yyval.infer)->location = (yylsp[(1) - (3)]);
+                                       (yyval.infer)->conname = (yyvsp[0].str);
+                                       (yyval.infer)->location = (yylsp[-2]);
                                }
+#line 35982 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1428:
-/* Line 1792 of yacc.c  */
-#line 9797 "gram.y"
+#line 9796 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.infer) = NULL;
                                }
+#line 35990 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1429:
-/* Line 1792 of yacc.c  */
-#line 9803 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 9802 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 35996 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1430:
-/* Line 1792 of yacc.c  */
-#line 9804 "gram.y"
+#line 9803 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 36002 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1431:
-/* Line 1792 of yacc.c  */
-#line 9817 "gram.y"
+#line 9816 "gram.y" /* yacc.c:1646  */
     {
                                        DeleteStmt *n = makeNode(DeleteStmt);
-                                       n->relation = (yyvsp[(4) - (7)].range);
-                                       n->usingClause = (yyvsp[(5) - (7)].list);
-                                       n->whereClause = (yyvsp[(6) - (7)].node);
-                                       n->returningList = (yyvsp[(7) - (7)].list);
-                                       n->withClause = (yyvsp[(1) - (7)].with);
+                                       n->relation = (yyvsp[-3].range);
+                                       n->usingClause = (yyvsp[-2].list);
+                                       n->whereClause = (yyvsp[-1].node);
+                                       n->returningList = (yyvsp[0].list);
+                                       n->withClause = (yyvsp[-6].with);
                                        (yyval.node) = (Node *)n;
                                }
+#line 36016 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1432:
-/* Line 1792 of yacc.c  */
-#line 9829 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 9828 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 36022 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1433:
-/* Line 1792 of yacc.c  */
-#line 9830 "gram.y"
+#line 9829 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 36028 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1434:
-/* Line 1792 of yacc.c  */
-#line 9842 "gram.y"
+#line 9841 "gram.y" /* yacc.c:1646  */
     {
                                        LockStmt *n = makeNode(LockStmt);
 
-                                       n->relations = (yyvsp[(3) - (5)].list);
-                                       n->mode = (yyvsp[(4) - (5)].ival);
-                                       n->nowait = (yyvsp[(5) - (5)].boolean);
+                                       n->relations = (yyvsp[-2].list);
+                                       n->mode = (yyvsp[-1].ival);
+                                       n->nowait = (yyvsp[0].boolean);
                                        (yyval.node) = (Node *)n;
                                }
+#line 36041 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1435:
-/* Line 1792 of yacc.c  */
-#line 9852 "gram.y"
-    { (yyval.ival) = (yyvsp[(2) - (3)].ival); }
+#line 9851 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[-1].ival); }
+#line 36047 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1436:
-/* Line 1792 of yacc.c  */
-#line 9853 "gram.y"
+#line 9852 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = AccessExclusiveLock; }
+#line 36053 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1437:
-/* Line 1792 of yacc.c  */
-#line 9856 "gram.y"
+#line 9855 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = AccessShareLock; }
+#line 36059 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1438:
-/* Line 1792 of yacc.c  */
-#line 9857 "gram.y"
+#line 9856 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = RowShareLock; }
+#line 36065 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1439:
-/* Line 1792 of yacc.c  */
-#line 9858 "gram.y"
+#line 9857 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = RowExclusiveLock; }
+#line 36071 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1440:
-/* Line 1792 of yacc.c  */
-#line 9859 "gram.y"
+#line 9858 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ShareUpdateExclusiveLock; }
+#line 36077 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1441:
-/* Line 1792 of yacc.c  */
-#line 9860 "gram.y"
+#line 9859 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ShareLock; }
+#line 36083 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1442:
-/* Line 1792 of yacc.c  */
-#line 9861 "gram.y"
+#line 9860 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ShareRowExclusiveLock; }
+#line 36089 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1443:
-/* Line 1792 of yacc.c  */
-#line 9862 "gram.y"
+#line 9861 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ExclusiveLock; }
+#line 36095 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1444:
-/* Line 1792 of yacc.c  */
-#line 9863 "gram.y"
+#line 9862 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = AccessExclusiveLock; }
+#line 36101 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1445:
-/* Line 1792 of yacc.c  */
-#line 9866 "gram.y"
+#line 9865 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 36107 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1446:
-/* Line 1792 of yacc.c  */
-#line 9867 "gram.y"
+#line 9866 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 36113 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1447:
-/* Line 1792 of yacc.c  */
-#line 9871 "gram.y"
+#line 9870 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = LockWaitError; }
+#line 36119 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1448:
-/* Line 1792 of yacc.c  */
-#line 9872 "gram.y"
+#line 9871 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = LockWaitSkip; }
+#line 36125 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1449:
-/* Line 1792 of yacc.c  */
-#line 9873 "gram.y"
+#line 9872 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = LockWaitBlock; }
+#line 36131 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1450:
-/* Line 1792 of yacc.c  */
-#line 9889 "gram.y"
+#line 9888 "gram.y" /* yacc.c:1646  */
     {
                                        UpdateStmt *n = makeNode(UpdateStmt);
-                                       n->relation = (yyvsp[(3) - (8)].range);
-                                       n->targetList = (yyvsp[(5) - (8)].list);
-                                       n->fromClause = (yyvsp[(6) - (8)].list);
-                                       n->whereClause = (yyvsp[(7) - (8)].node);
-                                       n->returningList = (yyvsp[(8) - (8)].list);
-                                       n->withClause = (yyvsp[(1) - (8)].with);
+                                       n->relation = (yyvsp[-5].range);
+                                       n->targetList = (yyvsp[-3].list);
+                                       n->fromClause = (yyvsp[-2].list);
+                                       n->whereClause = (yyvsp[-1].node);
+                                       n->returningList = (yyvsp[0].list);
+                                       n->withClause = (yyvsp[-7].with);
                                        (yyval.node) = (Node *)n;
                                }
+#line 36146 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1451:
-/* Line 1792 of yacc.c  */
-#line 9902 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 9901 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 36152 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1452:
-/* Line 1792 of yacc.c  */
-#line 9903 "gram.y"
-    { (yyval.list) = list_concat((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].list)); }
+#line 9902 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
+#line 36158 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1453:
-/* Line 1792 of yacc.c  */
-#line 9907 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); }
+#line 9906 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].target)); }
+#line 36164 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1454:
-/* Line 1792 of yacc.c  */
-#line 9908 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 9907 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 36170 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1455:
-/* Line 1792 of yacc.c  */
-#line 9913 "gram.y"
+#line 9912 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.target) = (yyvsp[(1) - (3)].target);
-                                       (yyval.target)->val = (Node *) (yyvsp[(3) - (3)].node);
+                                       (yyval.target) = (yyvsp[-2].target);
+                                       (yyval.target)->val = (Node *) (yyvsp[0].node);
                                }
+#line 36179 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1456:
-/* Line 1792 of yacc.c  */
-#line 9929 "gram.y"
+#line 9928 "gram.y" /* yacc.c:1646  */
     {
                                        ListCell *col_cell;
                                        ListCell *val_cell;
@@ -37504,12 +36190,12 @@ yyreduce:
                                         * equivalent to, and much cheaper to process than, the
                                         * general case.
                                         */
-                                       if (list_length((yyvsp[(2) - (5)].list)) != list_length((yyvsp[(5) - (5)].list)))
+                                       if (list_length((yyvsp[-3].list)) != list_length((yyvsp[0].list)))
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_SYNTAX_ERROR),
                                                                 errmsg("number of columns does not match number of values"),
-                                                                parser_errposition((yylsp[(5) - (5)]))));
-                                       forboth(col_cell, (yyvsp[(2) - (5)].list), val_cell, (yyvsp[(5) - (5)].list))
+                                                                parser_errposition((yylsp[0]))));
+                                       forboth(col_cell, (yyvsp[-3].list), val_cell, (yyvsp[0].list))
                                        {
                                                ResTarget *res_col = (ResTarget *) lfirst(col_cell);
                                                Node *res_val = (Node *) lfirst(val_cell);
@@ -37517,16 +36203,16 @@ yyreduce:
                                                res_col->val = res_val;
                                        }
 
-                                       (yyval.list) = (yyvsp[(2) - (5)].list);
+                                       (yyval.list) = (yyvsp[-3].list);
                                }
+#line 36209 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1457:
-/* Line 1792 of yacc.c  */
-#line 9955 "gram.y"
+#line 9954 "gram.y" /* yacc.c:1646  */
     {
                                        SubLink *sl = makeNode(SubLink);
-                                       int ncolumns = list_length((yyvsp[(2) - (5)].list));
+                                       int ncolumns = list_length((yyvsp[-3].list));
                                        int i = 1;
                                        ListCell *col_cell;
 
@@ -37535,11 +36221,11 @@ yyreduce:
                                        sl->subLinkId = 0;              /* will be assigned later */
                                        sl->testexpr = NULL;
                                        sl->operName = NIL;
-                                       sl->subselect = (yyvsp[(5) - (5)].node);
-                                       sl->location = (yylsp[(5) - (5)]);
+                                       sl->subselect = (yyvsp[0].node);
+                                       sl->location = (yylsp[0]);
 
                                        /* Create a MultiAssignRef source for each target */
-                                       foreach(col_cell, (yyvsp[(2) - (5)].list))
+                                       foreach(col_cell, (yyvsp[-3].list))
                                        {
                                                ResTarget *res_col = (ResTarget *) lfirst(col_cell);
                                                MultiAssignRef *r = makeNode(MultiAssignRef);
@@ -37551,256 +36237,256 @@ yyreduce:
                                                i++;
                                        }
 
-                                       (yyval.list) = (yyvsp[(2) - (5)].list);
+                                       (yyval.list) = (yyvsp[-3].list);
                                }
+#line 36243 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1458:
-/* Line 1792 of yacc.c  */
-#line 9988 "gram.y"
+#line 9987 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.target) = makeNode(ResTarget);
-                                       (yyval.target)->name = (yyvsp[(1) - (2)].str);
-                                       (yyval.target)->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
+                                       (yyval.target)->name = (yyvsp[-1].str);
+                                       (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
                                        (yyval.target)->val = NULL;     /* upper production sets this */
-                                       (yyval.target)->location = (yylsp[(1) - (2)]);
+                                       (yyval.target)->location = (yylsp[-1]);
                                }
+#line 36255 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1459:
-/* Line 1792 of yacc.c  */
-#line 9998 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); }
+#line 9997 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].target)); }
+#line 36261 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1460:
-/* Line 1792 of yacc.c  */
-#line 9999 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].target)); }
+#line 9998 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
+#line 36267 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1461:
-/* Line 1792 of yacc.c  */
-#line 10010 "gram.y"
+#line 10009 "gram.y" /* yacc.c:1646  */
     {
                                        DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
-                                       n->portalname = (yyvsp[(2) - (7)].str);
+                                       n->portalname = (yyvsp[-5].str);
                                        /* currently we always set FAST_PLAN option */
-                                       n->options = (yyvsp[(3) - (7)].ival) | (yyvsp[(5) - (7)].ival) | CURSOR_OPT_FAST_PLAN;
-                                       n->query = (yyvsp[(7) - (7)].node);
+                                       n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
+                                       n->query = (yyvsp[0].node);
                                        (yyval.node) = (Node *)n;
                                }
+#line 36280 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1462:
-/* Line 1792 of yacc.c  */
-#line 10020 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 10019 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 36286 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1463:
-/* Line 1792 of yacc.c  */
-#line 10023 "gram.y"
+#line 10022 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 36292 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1464:
-/* Line 1792 of yacc.c  */
-#line 10024 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (3)].ival) | CURSOR_OPT_NO_SCROLL; }
+#line 10023 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
+#line 36298 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1465:
-/* Line 1792 of yacc.c  */
-#line 10025 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_SCROLL; }
+#line 10024 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
+#line 36304 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1466:
-/* Line 1792 of yacc.c  */
-#line 10026 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_BINARY; }
+#line 10025 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
+#line 36310 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1467:
-/* Line 1792 of yacc.c  */
-#line 10027 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_INSENSITIVE; }
+#line 10026 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
+#line 36316 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1468:
-/* Line 1792 of yacc.c  */
-#line 10030 "gram.y"
+#line 10029 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 36322 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1469:
-/* Line 1792 of yacc.c  */
-#line 10031 "gram.y"
+#line 10030 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = CURSOR_OPT_HOLD; }
+#line 36328 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1470:
-/* Line 1792 of yacc.c  */
-#line 10032 "gram.y"
+#line 10031 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 36334 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1473:
-/* Line 1792 of yacc.c  */
-#line 10085 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (3)].node); }
+#line 10084 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[-1].node); }
+#line 36340 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1474:
-/* Line 1792 of yacc.c  */
-#line 10086 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (3)].node); }
+#line 10085 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[-1].node); }
+#line 36346 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1475:
-/* Line 1792 of yacc.c  */
-#line 10101 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10100 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36352 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1476:
-/* Line 1792 of yacc.c  */
-#line 10103 "gram.y"
+#line 10102 "gram.y" /* yacc.c:1646  */
     {
-                                       insertSelectOptions((SelectStmt *) (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list), NIL,
+                                       insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
                                                                                NULL, NULL, NULL,
                                                                                yyscanner);
-                                       (yyval.node) = (yyvsp[(1) - (2)].node);
+                                       (yyval.node) = (yyvsp[-1].node);
                                }
+#line 36363 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1477:
-/* Line 1792 of yacc.c  */
-#line 10110 "gram.y"
+#line 10109 "gram.y" /* yacc.c:1646  */
     {
-                                       insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].list),
-                                                                               list_nth((yyvsp[(4) - (4)].list), 0), list_nth((yyvsp[(4) - (4)].list), 1),
+                                       insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
+                                                                               list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
                                                                                NULL,
                                                                                yyscanner);
-                                       (yyval.node) = (yyvsp[(1) - (4)].node);
+                                       (yyval.node) = (yyvsp[-3].node);
                                }
+#line 36375 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1478:
-/* Line 1792 of yacc.c  */
-#line 10118 "gram.y"
+#line 10117 "gram.y" /* yacc.c:1646  */
     {
-                                       insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(4) - (4)].list),
-                                                                               list_nth((yyvsp[(3) - (4)].list), 0), list_nth((yyvsp[(3) - (4)].list), 1),
+                                       insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
+                                                                               list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
                                                                                NULL,
                                                                                yyscanner);
-                                       (yyval.node) = (yyvsp[(1) - (4)].node);
+                                       (yyval.node) = (yyvsp[-3].node);
                                }
+#line 36387 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1479:
-/* Line 1792 of yacc.c  */
-#line 10126 "gram.y"
+#line 10125 "gram.y" /* yacc.c:1646  */
     {
-                                       insertSelectOptions((SelectStmt *) (yyvsp[(2) - (2)].node), NULL, NIL,
+                                       insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
                                                                                NULL, NULL,
-                                                                               (yyvsp[(1) - (2)].with),
+                                                                               (yyvsp[-1].with),
                                                                                yyscanner);
-                                       (yyval.node) = (yyvsp[(2) - (2)].node);
+                                       (yyval.node) = (yyvsp[0].node);
                                }
+#line 36399 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1480:
-/* Line 1792 of yacc.c  */
-#line 10134 "gram.y"
+#line 10133 "gram.y" /* yacc.c:1646  */
     {
-                                       insertSelectOptions((SelectStmt *) (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].list), NIL,
+                                       insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
                                                                                NULL, NULL,
-                                                                               (yyvsp[(1) - (3)].with),
+                                                                               (yyvsp[-2].with),
                                                                                yyscanner);
-                                       (yyval.node) = (yyvsp[(2) - (3)].node);
+                                       (yyval.node) = (yyvsp[-1].node);
                                }
+#line 36411 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1481:
-/* Line 1792 of yacc.c  */
-#line 10142 "gram.y"
+#line 10141 "gram.y" /* yacc.c:1646  */
     {
-                                       insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].list),
-                                                                               list_nth((yyvsp[(5) - (5)].list), 0), list_nth((yyvsp[(5) - (5)].list), 1),
-                                                                               (yyvsp[(1) - (5)].with),
+                                       insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
+                                                                               list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
+                                                                               (yyvsp[-4].with),
                                                                                yyscanner);
-                                       (yyval.node) = (yyvsp[(2) - (5)].node);
+                                       (yyval.node) = (yyvsp[-3].node);
                                }
+#line 36423 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1482:
-/* Line 1792 of yacc.c  */
-#line 10150 "gram.y"
+#line 10149 "gram.y" /* yacc.c:1646  */
     {
-                                       insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list),
-                                                                               list_nth((yyvsp[(4) - (5)].list), 0), list_nth((yyvsp[(4) - (5)].list), 1),
-                                                                               (yyvsp[(1) - (5)].with),
+                                       insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
+                                                                               list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
+                                                                               (yyvsp[-4].with),
                                                                                yyscanner);
-                                       (yyval.node) = (yyvsp[(2) - (5)].node);
+                                       (yyval.node) = (yyvsp[-3].node);
                                }
+#line 36435 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1483:
-/* Line 1792 of yacc.c  */
-#line 10160 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10159 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36441 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1484:
-/* Line 1792 of yacc.c  */
-#line 10161 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10160 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36447 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1485:
-/* Line 1792 of yacc.c  */
-#line 10191 "gram.y"
+#line 10190 "gram.y" /* yacc.c:1646  */
     {
                                        SelectStmt *n = makeNode(SelectStmt);
-                                       n->targetList = (yyvsp[(3) - (9)].list);
-                                       n->intoClause = (yyvsp[(4) - (9)].into);
-                                       n->fromClause = (yyvsp[(5) - (9)].list);
-                                       n->whereClause = (yyvsp[(6) - (9)].node);
-                                       n->groupClause = (yyvsp[(7) - (9)].list);
-                                       n->havingClause = (yyvsp[(8) - (9)].node);
-                                       n->windowClause = (yyvsp[(9) - (9)].list);
+                                       n->targetList = (yyvsp[-6].list);
+                                       n->intoClause = (yyvsp[-5].into);
+                                       n->fromClause = (yyvsp[-4].list);
+                                       n->whereClause = (yyvsp[-3].node);
+                                       n->groupClause = (yyvsp[-2].list);
+                                       n->havingClause = (yyvsp[-1].node);
+                                       n->windowClause = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 36463 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1486:
-/* Line 1792 of yacc.c  */
-#line 10205 "gram.y"
+#line 10204 "gram.y" /* yacc.c:1646  */
     {
                                        SelectStmt *n = makeNode(SelectStmt);
-                                       n->distinctClause = (yyvsp[(2) - (9)].list);
-                                       n->targetList = (yyvsp[(3) - (9)].list);
-                                       n->intoClause = (yyvsp[(4) - (9)].into);
-                                       n->fromClause = (yyvsp[(5) - (9)].list);
-                                       n->whereClause = (yyvsp[(6) - (9)].node);
-                                       n->groupClause = (yyvsp[(7) - (9)].list);
-                                       n->havingClause = (yyvsp[(8) - (9)].node);
-                                       n->windowClause = (yyvsp[(9) - (9)].list);
+                                       n->distinctClause = (yyvsp[-7].list);
+                                       n->targetList = (yyvsp[-6].list);
+                                       n->intoClause = (yyvsp[-5].into);
+                                       n->fromClause = (yyvsp[-4].list);
+                                       n->whereClause = (yyvsp[-3].node);
+                                       n->groupClause = (yyvsp[-2].list);
+                                       n->havingClause = (yyvsp[-1].node);
+                                       n->windowClause = (yyvsp[0].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 36480 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1487:
-/* Line 1792 of yacc.c  */
-#line 10217 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10216 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36486 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1488:
-/* Line 1792 of yacc.c  */
-#line 10219 "gram.y"
+#line 10218 "gram.y" /* yacc.c:1646  */
     {
                                        /* same as SELECT * FROM relation_expr */
                                        ColumnRef *cr = makeNode(ColumnRef);
@@ -37816,111 +36502,111 @@ yyreduce:
                                        rt->location = -1;
 
                                        n->targetList = list_make1(rt);
-                                       n->fromClause = list_make1((yyvsp[(2) - (2)].range));
+                                       n->fromClause = list_make1((yyvsp[0].range));
                                        (yyval.node) = (Node *)n;
                                }
+#line 36509 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1489:
-/* Line 1792 of yacc.c  */
-#line 10238 "gram.y"
+#line 10237 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
+                                       (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
                                }
+#line 36517 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1490:
-/* Line 1792 of yacc.c  */
-#line 10242 "gram.y"
+#line 10241 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
+                                       (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
                                }
+#line 36525 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1491:
-/* Line 1792 of yacc.c  */
-#line 10246 "gram.y"
+#line 10245 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
+                                       (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
                                }
+#line 36533 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1492:
-/* Line 1792 of yacc.c  */
-#line 10263 "gram.y"
+#line 10262 "gram.y" /* yacc.c:1646  */
     {
                                (yyval.with) = makeNode(WithClause);
-                               (yyval.with)->ctes = (yyvsp[(2) - (2)].list);
+                               (yyval.with)->ctes = (yyvsp[0].list);
                                (yyval.with)->recursive = false;
-                               (yyval.with)->location = (yylsp[(1) - (2)]);
+                               (yyval.with)->location = (yylsp[-1]);
                        }
+#line 36544 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1493:
-/* Line 1792 of yacc.c  */
-#line 10270 "gram.y"
+#line 10269 "gram.y" /* yacc.c:1646  */
     {
                                (yyval.with) = makeNode(WithClause);
-                               (yyval.with)->ctes = (yyvsp[(2) - (2)].list);
+                               (yyval.with)->ctes = (yyvsp[0].list);
                                (yyval.with)->recursive = false;
-                               (yyval.with)->location = (yylsp[(1) - (2)]);
+                               (yyval.with)->location = (yylsp[-1]);
                        }
+#line 36555 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1494:
-/* Line 1792 of yacc.c  */
-#line 10277 "gram.y"
+#line 10276 "gram.y" /* yacc.c:1646  */
     {
                                (yyval.with) = makeNode(WithClause);
-                               (yyval.with)->ctes = (yyvsp[(3) - (3)].list);
+                               (yyval.with)->ctes = (yyvsp[0].list);
                                (yyval.with)->recursive = true;
-                               (yyval.with)->location = (yylsp[(1) - (3)]);
+                               (yyval.with)->location = (yylsp[-2]);
                        }
+#line 36566 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1495:
-/* Line 1792 of yacc.c  */
-#line 10286 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 10285 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 36572 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1496:
-/* Line 1792 of yacc.c  */
-#line 10287 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 10286 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 36578 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1497:
-/* Line 1792 of yacc.c  */
-#line 10291 "gram.y"
+#line 10290 "gram.y" /* yacc.c:1646  */
     {
                                CommonTableExpr *n = makeNode(CommonTableExpr);
-                               n->ctename = (yyvsp[(1) - (6)].str);
-                               n->aliascolnames = (yyvsp[(2) - (6)].list);
-                               n->ctequery = (yyvsp[(5) - (6)].node);
-                               n->location = (yylsp[(1) - (6)]);
+                               n->ctename = (yyvsp[-5].str);
+                               n->aliascolnames = (yyvsp[-4].list);
+                               n->ctequery = (yyvsp[-1].node);
+                               n->location = (yylsp[-5]);
                                (yyval.node) = (Node *) n;
                        }
+#line 36591 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1498:
-/* Line 1792 of yacc.c  */
-#line 10302 "gram.y"
-    { (yyval.with) = (yyvsp[(1) - (1)].with); }
+#line 10301 "gram.y" /* yacc.c:1646  */
+    { (yyval.with) = (yyvsp[0].with); }
+#line 36597 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1499:
-/* Line 1792 of yacc.c  */
-#line 10303 "gram.y"
+#line 10302 "gram.y" /* yacc.c:1646  */
     { (yyval.with) = NULL; }
+#line 36603 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1500:
-/* Line 1792 of yacc.c  */
-#line 10308 "gram.y"
+#line 10307 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.into) = makeNode(IntoClause);
-                                       (yyval.into)->rel = (yyvsp[(2) - (2)].range);
+                                       (yyval.into)->rel = (yyvsp[0].range);
                                        (yyval.into)->colNames = NIL;
                                        (yyval.into)->options = NIL;
                                        (yyval.into)->onCommit = ONCOMMIT_NOOP;
@@ -37928,631 +36614,631 @@ yyreduce:
                                        (yyval.into)->viewQuery = NULL;
                                        (yyval.into)->skipData = false;
                                }
+#line 36618 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1501:
-/* Line 1792 of yacc.c  */
-#line 10319 "gram.y"
+#line 10318 "gram.y" /* yacc.c:1646  */
     { (yyval.into) = NULL; }
+#line 36624 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1502:
-/* Line 1792 of yacc.c  */
-#line 10328 "gram.y"
+#line 10327 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.range) = (yyvsp[(3) - (3)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
                                }
+#line 36633 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1503:
-/* Line 1792 of yacc.c  */
-#line 10333 "gram.y"
+#line 10332 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.range) = (yyvsp[(3) - (3)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
                                }
+#line 36642 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1504:
-/* Line 1792 of yacc.c  */
-#line 10338 "gram.y"
+#line 10337 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.range) = (yyvsp[(4) - (4)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
                                }
+#line 36651 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1505:
-/* Line 1792 of yacc.c  */
-#line 10343 "gram.y"
+#line 10342 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.range) = (yyvsp[(4) - (4)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
                                }
+#line 36660 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1506:
-/* Line 1792 of yacc.c  */
-#line 10348 "gram.y"
+#line 10347 "gram.y" /* yacc.c:1646  */
     {
                                        ereport(WARNING,
                                                        (errmsg("GLOBAL is deprecated in temporary table creation"),
-                                                        parser_errposition((yylsp[(1) - (4)]))));
-                                       (yyval.range) = (yyvsp[(4) - (4)].range);
+                                                        parser_errposition((yylsp[-3]))));
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
                                }
+#line 36672 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1507:
-/* Line 1792 of yacc.c  */
-#line 10356 "gram.y"
+#line 10355 "gram.y" /* yacc.c:1646  */
     {
                                        ereport(WARNING,
                                                        (errmsg("GLOBAL is deprecated in temporary table creation"),
-                                                        parser_errposition((yylsp[(1) - (4)]))));
-                                       (yyval.range) = (yyvsp[(4) - (4)].range);
+                                                        parser_errposition((yylsp[-3]))));
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
                                }
+#line 36684 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1508:
-/* Line 1792 of yacc.c  */
-#line 10364 "gram.y"
+#line 10363 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.range) = (yyvsp[(3) - (3)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
                                }
+#line 36693 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1509:
-/* Line 1792 of yacc.c  */
-#line 10369 "gram.y"
+#line 10368 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.range) = (yyvsp[(2) - (2)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
                                }
+#line 36702 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1510:
-/* Line 1792 of yacc.c  */
-#line 10374 "gram.y"
+#line 10373 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.range) = (yyvsp[(1) - (1)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
                                }
+#line 36711 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1511:
-/* Line 1792 of yacc.c  */
-#line 10380 "gram.y"
+#line 10379 "gram.y" /* yacc.c:1646  */
     {}
+#line 36717 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1512:
-/* Line 1792 of yacc.c  */
-#line 10381 "gram.y"
+#line 10380 "gram.y" /* yacc.c:1646  */
     {}
+#line 36723 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1513:
-/* Line 1792 of yacc.c  */
-#line 10385 "gram.y"
+#line 10384 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 36729 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1514:
-/* Line 1792 of yacc.c  */
-#line 10386 "gram.y"
+#line 10385 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 36735 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1515:
-/* Line 1792 of yacc.c  */
-#line 10387 "gram.y"
+#line 10386 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 36741 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1516:
-/* Line 1792 of yacc.c  */
-#line 10394 "gram.y"
+#line 10393 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make1(NIL); }
+#line 36747 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1517:
-/* Line 1792 of yacc.c  */
-#line 10395 "gram.y"
-    { (yyval.list) = (yyvsp[(4) - (5)].list); }
+#line 10394 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 36753 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1518:
-/* Line 1792 of yacc.c  */
-#line 10399 "gram.y"
+#line 10398 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL;}
+#line 36759 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1519:
-/* Line 1792 of yacc.c  */
-#line 10400 "gram.y"
+#line 10399 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 36765 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1520:
-/* Line 1792 of yacc.c  */
-#line 10404 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list);}
+#line 10403 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list);}
+#line 36771 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1521:
-/* Line 1792 of yacc.c  */
-#line 10405 "gram.y"
+#line 10404 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 36777 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1522:
-/* Line 1792 of yacc.c  */
-#line 10409 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (3)].list); }
+#line 10408 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 36783 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1523:
-/* Line 1792 of yacc.c  */
-#line 10413 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].sortby)); }
+#line 10412 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].sortby)); }
+#line 36789 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1524:
-/* Line 1792 of yacc.c  */
-#line 10414 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].sortby)); }
+#line 10413 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
+#line 36795 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1525:
-/* Line 1792 of yacc.c  */
-#line 10418 "gram.y"
+#line 10417 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.sortby) = makeNode(SortBy);
-                                       (yyval.sortby)->node = (yyvsp[(1) - (4)].node);
+                                       (yyval.sortby)->node = (yyvsp[-3].node);
                                        (yyval.sortby)->sortby_dir = SORTBY_USING;
-                                       (yyval.sortby)->sortby_nulls = (yyvsp[(4) - (4)].ival);
-                                       (yyval.sortby)->useOp = (yyvsp[(3) - (4)].list);
-                                       (yyval.sortby)->location = (yylsp[(3) - (4)]);
+                                       (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
+                                       (yyval.sortby)->useOp = (yyvsp[-1].list);
+                                       (yyval.sortby)->location = (yylsp[-1]);
                                }
+#line 36808 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1526:
-/* Line 1792 of yacc.c  */
-#line 10427 "gram.y"
+#line 10426 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.sortby) = makeNode(SortBy);
-                                       (yyval.sortby)->node = (yyvsp[(1) - (3)].node);
-                                       (yyval.sortby)->sortby_dir = (yyvsp[(2) - (3)].ival);
-                                       (yyval.sortby)->sortby_nulls = (yyvsp[(3) - (3)].ival);
+                                       (yyval.sortby)->node = (yyvsp[-2].node);
+                                       (yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
+                                       (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
                                        (yyval.sortby)->useOp = NIL;
                                        (yyval.sortby)->location = -1;          /* no operator */
                                }
+#line 36821 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1527:
-/* Line 1792 of yacc.c  */
-#line 10439 "gram.y"
-    { (yyval.list) = list_make2((yyvsp[(2) - (2)].node), (yyvsp[(1) - (2)].node)); }
+#line 10438 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); }
+#line 36827 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1528:
-/* Line 1792 of yacc.c  */
-#line 10440 "gram.y"
-    { (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); }
+#line 10439 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); }
+#line 36833 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1529:
-/* Line 1792 of yacc.c  */
-#line 10441 "gram.y"
-    { (yyval.list) = list_make2(NULL, (yyvsp[(1) - (1)].node)); }
+#line 10440 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
+#line 36839 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1530:
-/* Line 1792 of yacc.c  */
-#line 10442 "gram.y"
-    { (yyval.list) = list_make2((yyvsp[(1) - (1)].node), NULL); }
+#line 10441 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make2((yyvsp[0].node), NULL); }
+#line 36845 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1531:
-/* Line 1792 of yacc.c  */
-#line 10446 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 10445 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 36851 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1532:
-/* Line 1792 of yacc.c  */
-#line 10447 "gram.y"
+#line 10446 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make2(NULL,NULL); }
+#line 36857 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1533:
-/* Line 1792 of yacc.c  */
-#line 10452 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 10451 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36863 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1534:
-/* Line 1792 of yacc.c  */
-#line 10454 "gram.y"
+#line 10453 "gram.y" /* yacc.c:1646  */
     {
                                        /* Disabled because it was too confusing, bjm 2002-02-18 */
                                        ereport(ERROR,
                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                         errmsg("LIMIT #,# syntax is not supported"),
                                                         errhint("Use separate LIMIT and OFFSET clauses."),
-                                                        parser_errposition((yylsp[(1) - (4)]))));
+                                                        parser_errposition((yylsp[-3]))));
                                }
+#line 36876 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1535:
-/* Line 1792 of yacc.c  */
-#line 10464 "gram.y"
-    { (yyval.node) = (yyvsp[(3) - (5)].node); }
+#line 10463 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[-2].node); }
+#line 36882 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1536:
-/* Line 1792 of yacc.c  */
-#line 10469 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 10468 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36888 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1537:
-/* Line 1792 of yacc.c  */
-#line 10472 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (3)].node); }
+#line 10471 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[-1].node); }
+#line 36894 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1538:
-/* Line 1792 of yacc.c  */
-#line 10476 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10475 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36900 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1539:
-/* Line 1792 of yacc.c  */
-#line 10478 "gram.y"
+#line 10477 "gram.y" /* yacc.c:1646  */
     {
                                        /* LIMIT ALL is represented as a NULL constant */
-                                       (yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
+                                       (yyval.node) = makeNullAConst((yylsp[0]));
                                }
+#line 36909 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1540:
-/* Line 1792 of yacc.c  */
-#line 10485 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10484 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36915 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1541:
-/* Line 1792 of yacc.c  */
-#line 10495 "gram.y"
-    { (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); }
+#line 10494 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0])); }
+#line 36921 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1542:
-/* Line 1792 of yacc.c  */
-#line 10496 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (3)].node); }
+#line 10495 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[-1].node); }
+#line 36927 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1543:
-/* Line 1792 of yacc.c  */
-#line 10497 "gram.y"
+#line 10496 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = makeIntConst(1, -1); }
+#line 36933 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1544:
-/* Line 1792 of yacc.c  */
-#line 10505 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10504 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36939 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1545:
-/* Line 1792 of yacc.c  */
-#line 10509 "gram.y"
+#line 10508 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 36945 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1546:
-/* Line 1792 of yacc.c  */
-#line 10510 "gram.y"
+#line 10509 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 36951 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1547:
-/* Line 1792 of yacc.c  */
-#line 10513 "gram.y"
+#line 10512 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 36957 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1548:
-/* Line 1792 of yacc.c  */
-#line 10514 "gram.y"
+#line 10513 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = 0; }
+#line 36963 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1549:
-/* Line 1792 of yacc.c  */
-#line 10539 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (3)].list); }
+#line 10538 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 36969 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1550:
-/* Line 1792 of yacc.c  */
-#line 10540 "gram.y"
+#line 10539 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 36975 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1551:
-/* Line 1792 of yacc.c  */
-#line 10544 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 10543 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 36981 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1552:
-/* Line 1792 of yacc.c  */
-#line 10545 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].node)); }
+#line 10544 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
+#line 36987 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1553:
-/* Line 1792 of yacc.c  */
-#line 10549 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10548 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36993 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1554:
-/* Line 1792 of yacc.c  */
-#line 10550 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10549 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 36999 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1555:
-/* Line 1792 of yacc.c  */
-#line 10551 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10550 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 37005 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1556:
-/* Line 1792 of yacc.c  */
-#line 10552 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10551 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 37011 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1557:
-/* Line 1792 of yacc.c  */
-#line 10553 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10552 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 37017 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1558:
-/* Line 1792 of yacc.c  */
-#line 10558 "gram.y"
+#line 10557 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[(1) - (2)]));
+                                       (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
                                }
+#line 37025 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1559:
-/* Line 1792 of yacc.c  */
-#line 10571 "gram.y"
+#line 10570 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
+                                       (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
                                }
+#line 37033 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1560:
-/* Line 1792 of yacc.c  */
-#line 10578 "gram.y"
+#line 10577 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
+                                       (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
                                }
+#line 37041 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1561:
-/* Line 1792 of yacc.c  */
-#line 10585 "gram.y"
+#line 10584 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
+                                       (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
                                }
+#line 37049 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1562:
-/* Line 1792 of yacc.c  */
-#line 10591 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 10590 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 37055 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1563:
-/* Line 1792 of yacc.c  */
-#line 10592 "gram.y"
+#line 10591 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 37061 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1564:
-/* Line 1792 of yacc.c  */
-#line 10596 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 10595 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 37067 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1565:
-/* Line 1792 of yacc.c  */
-#line 10597 "gram.y"
+#line 10596 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 37073 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1566:
-/* Line 1792 of yacc.c  */
-#line 10601 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 10600 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 37079 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1567:
-/* Line 1792 of yacc.c  */
-#line 10602 "gram.y"
+#line 10601 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 37085 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1568:
-/* Line 1792 of yacc.c  */
-#line 10606 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 10605 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 37091 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1569:
-/* Line 1792 of yacc.c  */
-#line 10607 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
+#line 10606 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 37097 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1570:
-/* Line 1792 of yacc.c  */
-#line 10612 "gram.y"
+#line 10611 "gram.y" /* yacc.c:1646  */
     {
                                        LockingClause *n = makeNode(LockingClause);
-                                       n->lockedRels = (yyvsp[(2) - (3)].list);
-                                       n->strength = (yyvsp[(1) - (3)].ival);
-                                       n->waitPolicy = (yyvsp[(3) - (3)].ival);
+                                       n->lockedRels = (yyvsp[-1].list);
+                                       n->strength = (yyvsp[-2].ival);
+                                       n->waitPolicy = (yyvsp[0].ival);
                                        (yyval.node) = (Node *) n;
                                }
+#line 37109 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1571:
-/* Line 1792 of yacc.c  */
-#line 10622 "gram.y"
+#line 10621 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = LCS_FORUPDATE; }
+#line 37115 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1572:
-/* Line 1792 of yacc.c  */
-#line 10623 "gram.y"
+#line 10622 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = LCS_FORNOKEYUPDATE; }
+#line 37121 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1573:
-/* Line 1792 of yacc.c  */
-#line 10624 "gram.y"
+#line 10623 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = LCS_FORSHARE; }
+#line 37127 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1574:
-/* Line 1792 of yacc.c  */
-#line 10625 "gram.y"
+#line 10624 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = LCS_FORKEYSHARE; }
+#line 37133 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1575:
-/* Line 1792 of yacc.c  */
-#line 10629 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 10628 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 37139 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1576:
-/* Line 1792 of yacc.c  */
-#line 10630 "gram.y"
+#line 10629 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 37145 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1577:
-/* Line 1792 of yacc.c  */
-#line 10636 "gram.y"
+#line 10635 "gram.y" /* yacc.c:1646  */
     {
                                        SelectStmt *n = makeNode(SelectStmt);
-                                       n->valuesLists = list_make1((yyvsp[(2) - (2)].list));
+                                       n->valuesLists = list_make1((yyvsp[0].list));
                                        (yyval.node) = (Node *) n;
                                }
+#line 37155 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1578:
-/* Line 1792 of yacc.c  */
-#line 10642 "gram.y"
+#line 10641 "gram.y" /* yacc.c:1646  */
     {
-                                       SelectStmt *n = (SelectStmt *) (yyvsp[(1) - (3)].node);
-                                       n->valuesLists = lappend(n->valuesLists, (yyvsp[(3) - (3)].list));
+                                       SelectStmt *n = (SelectStmt *) (yyvsp[-2].node);
+                                       n->valuesLists = lappend(n->valuesLists, (yyvsp[0].list));
                                        (yyval.node) = (Node *) n;
                                }
+#line 37165 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1579:
-/* Line 1792 of yacc.c  */
-#line 10659 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 10658 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 37171 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1580:
-/* Line 1792 of yacc.c  */
-#line 10660 "gram.y"
+#line 10659 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 37177 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1581:
-/* Line 1792 of yacc.c  */
-#line 10664 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 10663 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 37183 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1582:
-/* Line 1792 of yacc.c  */
-#line 10665 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 10664 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 37189 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1583:
-/* Line 1792 of yacc.c  */
-#line 10672 "gram.y"
+#line 10671 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyvsp[(1) - (2)].range)->alias = (yyvsp[(2) - (2)].alias);
-                                       (yyval.node) = (Node *) (yyvsp[(1) - (2)].range);
+                                       (yyvsp[-1].range)->alias = (yyvsp[0].alias);
+                                       (yyval.node) = (Node *) (yyvsp[-1].range);
                                }
+#line 37198 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1584:
-/* Line 1792 of yacc.c  */
-#line 10677 "gram.y"
+#line 10676 "gram.y" /* yacc.c:1646  */
     {
-                                       RangeTableSample *n = (RangeTableSample *) (yyvsp[(3) - (3)].node);
-                                       (yyvsp[(1) - (3)].range)->alias = (yyvsp[(2) - (3)].alias);
+                                       RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
+                                       (yyvsp[-2].range)->alias = (yyvsp[-1].alias);
                                        /* relation_expr goes inside the RangeTableSample node */
-                                       n->relation = (Node *) (yyvsp[(1) - (3)].range);
+                                       n->relation = (Node *) (yyvsp[-2].range);
                                        (yyval.node) = (Node *) n;
                                }
+#line 37210 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1585:
-/* Line 1792 of yacc.c  */
-#line 10685 "gram.y"
+#line 10684 "gram.y" /* yacc.c:1646  */
     {
-                                       RangeFunction *n = (RangeFunction *) (yyvsp[(1) - (2)].node);
-                                       n->alias = linitial((yyvsp[(2) - (2)].list));
-                                       n->coldeflist = lsecond((yyvsp[(2) - (2)].list));
+                                       RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
+                                       n->alias = linitial((yyvsp[0].list));
+                                       n->coldeflist = lsecond((yyvsp[0].list));
                                        (yyval.node) = (Node *) n;
                                }
+#line 37221 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1586:
-/* Line 1792 of yacc.c  */
-#line 10692 "gram.y"
+#line 10691 "gram.y" /* yacc.c:1646  */
     {
-                                       RangeFunction *n = (RangeFunction *) (yyvsp[(2) - (3)].node);
+                                       RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
                                        n->lateral = true;
-                                       n->alias = linitial((yyvsp[(3) - (3)].list));
-                                       n->coldeflist = lsecond((yyvsp[(3) - (3)].list));
+                                       n->alias = linitial((yyvsp[0].list));
+                                       n->coldeflist = lsecond((yyvsp[0].list));
                                        (yyval.node) = (Node *) n;
                                }
+#line 37233 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1587:
-/* Line 1792 of yacc.c  */
-#line 10700 "gram.y"
+#line 10699 "gram.y" /* yacc.c:1646  */
     {
                                        RangeSubselect *n = makeNode(RangeSubselect);
                                        n->lateral = false;
-                                       n->subquery = (yyvsp[(1) - (2)].node);
-                                       n->alias = (yyvsp[(2) - (2)].alias);
+                                       n->subquery = (yyvsp[-1].node);
+                                       n->alias = (yyvsp[0].alias);
                                        /*
                                         * The SQL spec does not permit a subselect
                                         * (<derived_table>) without an alias clause,
@@ -38564,557 +37250,557 @@ yyreduce:
                                         * However, it does seem like a good idea to emit
                                         * an error message that's better than "syntax error".
                                         */
-                                       if ((yyvsp[(2) - (2)].alias) == NULL)
+                                       if ((yyvsp[0].alias) == NULL)
                                        {
-                                               if (IsA((yyvsp[(1) - (2)].node), SelectStmt) &&
-                                                       ((SelectStmt *) (yyvsp[(1) - (2)].node))->valuesLists)
+                                               if (IsA((yyvsp[-1].node), SelectStmt) &&
+                                                       ((SelectStmt *) (yyvsp[-1].node))->valuesLists)
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                                         errmsg("VALUES in FROM must have an alias"),
                                                                         errhint("For example, FROM (VALUES ...) [AS] foo."),
-                                                                        parser_errposition((yylsp[(1) - (2)]))));
+                                                                        parser_errposition((yylsp[-1]))));
                                                else
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                                         errmsg("subquery in FROM must have an alias"),
                                                                         errhint("For example, FROM (SELECT ...) [AS] foo."),
-                                                                        parser_errposition((yylsp[(1) - (2)]))));
+                                                                        parser_errposition((yylsp[-1]))));
                                        }
                                        (yyval.node) = (Node *) n;
                                }
+#line 37272 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1588:
-/* Line 1792 of yacc.c  */
-#line 10735 "gram.y"
+#line 10734 "gram.y" /* yacc.c:1646  */
     {
                                        RangeSubselect *n = makeNode(RangeSubselect);
                                        n->lateral = true;
-                                       n->subquery = (yyvsp[(2) - (3)].node);
-                                       n->alias = (yyvsp[(3) - (3)].alias);
+                                       n->subquery = (yyvsp[-1].node);
+                                       n->alias = (yyvsp[0].alias);
                                        /* same coment as above */
-                                       if ((yyvsp[(3) - (3)].alias) == NULL)
+                                       if ((yyvsp[0].alias) == NULL)
                                        {
-                                               if (IsA((yyvsp[(2) - (3)].node), SelectStmt) &&
-                                                       ((SelectStmt *) (yyvsp[(2) - (3)].node))->valuesLists)
+                                               if (IsA((yyvsp[-1].node), SelectStmt) &&
+                                                       ((SelectStmt *) (yyvsp[-1].node))->valuesLists)
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                                         errmsg("VALUES in FROM must have an alias"),
                                                                         errhint("For example, FROM (VALUES ...) [AS] foo."),
-                                                                        parser_errposition((yylsp[(2) - (3)]))));
+                                                                        parser_errposition((yylsp[-1]))));
                                                else
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                                         errmsg("subquery in FROM must have an alias"),
                                                                         errhint("For example, FROM (SELECT ...) [AS] foo."),
-                                                                        parser_errposition((yylsp[(2) - (3)]))));
+                                                                        parser_errposition((yylsp[-1]))));
                                        }
                                        (yyval.node) = (Node *) n;
                                }
+#line 37301 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1589:
-/* Line 1792 of yacc.c  */
-#line 10760 "gram.y"
+#line 10759 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) (yyvsp[(1) - (1)].jexpr);
+                                       (yyval.node) = (Node *) (yyvsp[0].jexpr);
                                }
+#line 37309 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1590:
-/* Line 1792 of yacc.c  */
-#line 10764 "gram.y"
+#line 10763 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyvsp[(2) - (4)].jexpr)->alias = (yyvsp[(4) - (4)].alias);
-                                       (yyval.node) = (Node *) (yyvsp[(2) - (4)].jexpr);
+                                       (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
+                                       (yyval.node) = (Node *) (yyvsp[-2].jexpr);
                                }
+#line 37318 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1591:
-/* Line 1792 of yacc.c  */
-#line 10790 "gram.y"
+#line 10789 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.jexpr) = (yyvsp[(2) - (3)].jexpr);
+                                       (yyval.jexpr) = (yyvsp[-1].jexpr);
                                }
+#line 37326 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1592:
-/* Line 1792 of yacc.c  */
-#line 10794 "gram.y"
+#line 10793 "gram.y" /* yacc.c:1646  */
     {
                                        /* CROSS JOIN is same as unqualified inner join */
                                        JoinExpr *n = makeNode(JoinExpr);
                                        n->jointype = JOIN_INNER;
                                        n->isNatural = FALSE;
-                                       n->larg = (yyvsp[(1) - (4)].node);
-                                       n->rarg = (yyvsp[(4) - (4)].node);
+                                       n->larg = (yyvsp[-3].node);
+                                       n->rarg = (yyvsp[0].node);
                                        n->usingClause = NIL;
                                        n->quals = NULL;
                                        (yyval.jexpr) = n;
                                }
+#line 37342 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1593:
-/* Line 1792 of yacc.c  */
-#line 10806 "gram.y"
+#line 10805 "gram.y" /* yacc.c:1646  */
     {
                                        JoinExpr *n = makeNode(JoinExpr);
-                                       n->jointype = (yyvsp[(2) - (5)].jtype);
+                                       n->jointype = (yyvsp[-3].jtype);
                                        n->isNatural = FALSE;
-                                       n->larg = (yyvsp[(1) - (5)].node);
-                                       n->rarg = (yyvsp[(4) - (5)].node);
-                                       if ((yyvsp[(5) - (5)].node) != NULL && IsA((yyvsp[(5) - (5)].node), List))
-                                               n->usingClause = (List *) (yyvsp[(5) - (5)].node); /* USING clause */
+                                       n->larg = (yyvsp[-4].node);
+                                       n->rarg = (yyvsp[-1].node);
+                                       if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
+                                               n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
                                        else
-                                               n->quals = (yyvsp[(5) - (5)].node); /* ON clause */
+                                               n->quals = (yyvsp[0].node); /* ON clause */
                                        (yyval.jexpr) = n;
                                }
+#line 37359 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1594:
-/* Line 1792 of yacc.c  */
-#line 10819 "gram.y"
+#line 10818 "gram.y" /* yacc.c:1646  */
     {
                                        /* letting join_type reduce to empty doesn't work */
                                        JoinExpr *n = makeNode(JoinExpr);
                                        n->jointype = JOIN_INNER;
                                        n->isNatural = FALSE;
-                                       n->larg = (yyvsp[(1) - (4)].node);
-                                       n->rarg = (yyvsp[(3) - (4)].node);
-                                       if ((yyvsp[(4) - (4)].node) != NULL && IsA((yyvsp[(4) - (4)].node), List))
-                                               n->usingClause = (List *) (yyvsp[(4) - (4)].node); /* USING clause */
+                                       n->larg = (yyvsp[-3].node);
+                                       n->rarg = (yyvsp[-1].node);
+                                       if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
+                                               n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
                                        else
-                                               n->quals = (yyvsp[(4) - (4)].node); /* ON clause */
+                                               n->quals = (yyvsp[0].node); /* ON clause */
                                        (yyval.jexpr) = n;
                                }
+#line 37377 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1595:
-/* Line 1792 of yacc.c  */
-#line 10833 "gram.y"
+#line 10832 "gram.y" /* yacc.c:1646  */
     {
                                        JoinExpr *n = makeNode(JoinExpr);
-                                       n->jointype = (yyvsp[(3) - (5)].jtype);
+                                       n->jointype = (yyvsp[-2].jtype);
                                        n->isNatural = TRUE;
-                                       n->larg = (yyvsp[(1) - (5)].node);
-                                       n->rarg = (yyvsp[(5) - (5)].node);
+                                       n->larg = (yyvsp[-4].node);
+                                       n->rarg = (yyvsp[0].node);
                                        n->usingClause = NIL; /* figure out which columns later... */
                                        n->quals = NULL; /* fill later */
                                        (yyval.jexpr) = n;
                                }
+#line 37392 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1596:
-/* Line 1792 of yacc.c  */
-#line 10844 "gram.y"
+#line 10843 "gram.y" /* yacc.c:1646  */
     {
                                        /* letting join_type reduce to empty doesn't work */
                                        JoinExpr *n = makeNode(JoinExpr);
                                        n->jointype = JOIN_INNER;
                                        n->isNatural = TRUE;
-                                       n->larg = (yyvsp[(1) - (4)].node);
-                                       n->rarg = (yyvsp[(4) - (4)].node);
+                                       n->larg = (yyvsp[-3].node);
+                                       n->rarg = (yyvsp[0].node);
                                        n->usingClause = NIL; /* figure out which columns later... */
                                        n->quals = NULL; /* fill later */
                                        (yyval.jexpr) = n;
                                }
+#line 37408 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1597:
-/* Line 1792 of yacc.c  */
-#line 10859 "gram.y"
+#line 10858 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.alias) = makeNode(Alias);
-                                       (yyval.alias)->aliasname = (yyvsp[(2) - (5)].str);
-                                       (yyval.alias)->colnames = (yyvsp[(4) - (5)].list);
+                                       (yyval.alias)->aliasname = (yyvsp[-3].str);
+                                       (yyval.alias)->colnames = (yyvsp[-1].list);
                                }
+#line 37418 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1598:
-/* Line 1792 of yacc.c  */
-#line 10865 "gram.y"
+#line 10864 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.alias) = makeNode(Alias);
-                                       (yyval.alias)->aliasname = (yyvsp[(2) - (2)].str);
+                                       (yyval.alias)->aliasname = (yyvsp[0].str);
                                }
+#line 37427 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1599:
-/* Line 1792 of yacc.c  */
-#line 10870 "gram.y"
+#line 10869 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.alias) = makeNode(Alias);
-                                       (yyval.alias)->aliasname = (yyvsp[(1) - (4)].str);
-                                       (yyval.alias)->colnames = (yyvsp[(3) - (4)].list);
+                                       (yyval.alias)->aliasname = (yyvsp[-3].str);
+                                       (yyval.alias)->colnames = (yyvsp[-1].list);
                                }
+#line 37437 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1600:
-/* Line 1792 of yacc.c  */
-#line 10876 "gram.y"
+#line 10875 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.alias) = makeNode(Alias);
-                                       (yyval.alias)->aliasname = (yyvsp[(1) - (1)].str);
+                                       (yyval.alias)->aliasname = (yyvsp[0].str);
                                }
+#line 37446 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1601:
-/* Line 1792 of yacc.c  */
-#line 10882 "gram.y"
-    { (yyval.alias) = (yyvsp[(1) - (1)].alias); }
+#line 10881 "gram.y" /* yacc.c:1646  */
+    { (yyval.alias) = (yyvsp[0].alias); }
+#line 37452 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1602:
-/* Line 1792 of yacc.c  */
-#line 10883 "gram.y"
+#line 10882 "gram.y" /* yacc.c:1646  */
     { (yyval.alias) = NULL; }
+#line 37458 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1603:
-/* Line 1792 of yacc.c  */
-#line 10892 "gram.y"
+#line 10891 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2((yyvsp[(1) - (1)].alias), NIL);
+                                       (yyval.list) = list_make2((yyvsp[0].alias), NIL);
                                }
+#line 37466 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1604:
-/* Line 1792 of yacc.c  */
-#line 10896 "gram.y"
+#line 10895 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2(NULL, (yyvsp[(3) - (4)].list));
+                                       (yyval.list) = list_make2(NULL, (yyvsp[-1].list));
                                }
+#line 37474 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1605:
-/* Line 1792 of yacc.c  */
-#line 10900 "gram.y"
+#line 10899 "gram.y" /* yacc.c:1646  */
     {
                                        Alias *a = makeNode(Alias);
-                                       a->aliasname = (yyvsp[(2) - (5)].str);
-                                       (yyval.list) = list_make2(a, (yyvsp[(4) - (5)].list));
+                                       a->aliasname = (yyvsp[-3].str);
+                                       (yyval.list) = list_make2(a, (yyvsp[-1].list));
                                }
+#line 37484 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1606:
-/* Line 1792 of yacc.c  */
-#line 10906 "gram.y"
+#line 10905 "gram.y" /* yacc.c:1646  */
     {
                                        Alias *a = makeNode(Alias);
-                                       a->aliasname = (yyvsp[(1) - (4)].str);
-                                       (yyval.list) = list_make2(a, (yyvsp[(3) - (4)].list));
+                                       a->aliasname = (yyvsp[-3].str);
+                                       (yyval.list) = list_make2(a, (yyvsp[-1].list));
                                }
+#line 37494 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1607:
-/* Line 1792 of yacc.c  */
-#line 10912 "gram.y"
+#line 10911 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.list) = list_make2(NULL, NIL);
                                }
+#line 37502 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1608:
-/* Line 1792 of yacc.c  */
-#line 10917 "gram.y"
+#line 10916 "gram.y" /* yacc.c:1646  */
     { (yyval.jtype) = JOIN_FULL; }
+#line 37508 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1609:
-/* Line 1792 of yacc.c  */
-#line 10918 "gram.y"
+#line 10917 "gram.y" /* yacc.c:1646  */
     { (yyval.jtype) = JOIN_LEFT; }
+#line 37514 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1610:
-/* Line 1792 of yacc.c  */
-#line 10919 "gram.y"
+#line 10918 "gram.y" /* yacc.c:1646  */
     { (yyval.jtype) = JOIN_RIGHT; }
+#line 37520 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1611:
-/* Line 1792 of yacc.c  */
-#line 10920 "gram.y"
+#line 10919 "gram.y" /* yacc.c:1646  */
     { (yyval.jtype) = JOIN_INNER; }
+#line 37526 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1612:
-/* Line 1792 of yacc.c  */
-#line 10924 "gram.y"
+#line 10923 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 37532 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1613:
-/* Line 1792 of yacc.c  */
-#line 10925 "gram.y"
+#line 10924 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 37538 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1614:
-/* Line 1792 of yacc.c  */
-#line 10937 "gram.y"
-    { (yyval.node) = (Node *) (yyvsp[(3) - (4)].list); }
+#line 10936 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) (yyvsp[-1].list); }
+#line 37544 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1615:
-/* Line 1792 of yacc.c  */
-#line 10938 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 10937 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 37550 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1616:
-/* Line 1792 of yacc.c  */
-#line 10944 "gram.y"
+#line 10943 "gram.y" /* yacc.c:1646  */
     {
                                        /* default inheritance */
-                                       (yyval.range) = (yyvsp[(1) - (1)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->inhOpt = INH_DEFAULT;
                                        (yyval.range)->alias = NULL;
                                }
+#line 37561 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1617:
-/* Line 1792 of yacc.c  */
-#line 10951 "gram.y"
+#line 10950 "gram.y" /* yacc.c:1646  */
     {
                                        /* inheritance query */
-                                       (yyval.range) = (yyvsp[(1) - (2)].range);
+                                       (yyval.range) = (yyvsp[-1].range);
                                        (yyval.range)->inhOpt = INH_YES;
                                        (yyval.range)->alias = NULL;
                                }
+#line 37572 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1618:
-/* Line 1792 of yacc.c  */
-#line 10958 "gram.y"
+#line 10957 "gram.y" /* yacc.c:1646  */
     {
                                        /* no inheritance */
-                                       (yyval.range) = (yyvsp[(2) - (2)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                        (yyval.range)->inhOpt = INH_NO;
                                        (yyval.range)->alias = NULL;
                                }
+#line 37583 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1619:
-/* Line 1792 of yacc.c  */
-#line 10965 "gram.y"
+#line 10964 "gram.y" /* yacc.c:1646  */
     {
                                        /* no inheritance, SQL99-style syntax */
-                                       (yyval.range) = (yyvsp[(3) - (4)].range);
+                                       (yyval.range) = (yyvsp[-1].range);
                                        (yyval.range)->inhOpt = INH_NO;
                                        (yyval.range)->alias = NULL;
                                }
+#line 37594 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1620:
-/* Line 1792 of yacc.c  */
-#line 10975 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); }
+#line 10974 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].range)); }
+#line 37600 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1621:
-/* Line 1792 of yacc.c  */
-#line 10976 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); }
+#line 10975 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
+#line 37606 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1622:
-/* Line 1792 of yacc.c  */
-#line 10990 "gram.y"
+#line 10989 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.range) = (yyvsp[(1) - (1)].range);
+                                       (yyval.range) = (yyvsp[0].range);
                                }
+#line 37614 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1623:
-/* Line 1792 of yacc.c  */
-#line 10994 "gram.y"
+#line 10993 "gram.y" /* yacc.c:1646  */
     {
                                        Alias *alias = makeNode(Alias);
-                                       alias->aliasname = (yyvsp[(2) - (2)].str);
-                                       (yyvsp[(1) - (2)].range)->alias = alias;
-                                       (yyval.range) = (yyvsp[(1) - (2)].range);
+                                       alias->aliasname = (yyvsp[0].str);
+                                       (yyvsp[-1].range)->alias = alias;
+                                       (yyval.range) = (yyvsp[-1].range);
                                }
+#line 37625 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1624:
-/* Line 1792 of yacc.c  */
-#line 11001 "gram.y"
+#line 11000 "gram.y" /* yacc.c:1646  */
     {
                                        Alias *alias = makeNode(Alias);
-                                       alias->aliasname = (yyvsp[(3) - (3)].str);
-                                       (yyvsp[(1) - (3)].range)->alias = alias;
-                                       (yyval.range) = (yyvsp[(1) - (3)].range);
+                                       alias->aliasname = (yyvsp[0].str);
+                                       (yyvsp[-2].range)->alias = alias;
+                                       (yyval.range) = (yyvsp[-2].range);
                                }
+#line 37636 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1625:
-/* Line 1792 of yacc.c  */
-#line 11014 "gram.y"
+#line 11013 "gram.y" /* yacc.c:1646  */
     {
                                        RangeTableSample *n = makeNode(RangeTableSample);
                                        /* n->relation will be filled in later */
-                                       n->method = (yyvsp[(2) - (6)].list);
-                                       n->args = (yyvsp[(4) - (6)].list);
-                                       n->repeatable = (yyvsp[(6) - (6)].node);
-                                       n->location = (yylsp[(2) - (6)]);
+                                       n->method = (yyvsp[-4].list);
+                                       n->args = (yyvsp[-2].list);
+                                       n->repeatable = (yyvsp[0].node);
+                                       n->location = (yylsp[-4]);
                                        (yyval.node) = (Node *) n;
                                }
+#line 37650 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1626:
-/* Line 1792 of yacc.c  */
-#line 11026 "gram.y"
-    { (yyval.node) = (Node *) (yyvsp[(3) - (4)].node); }
+#line 11025 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) (yyvsp[-1].node); }
+#line 37656 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1627:
-/* Line 1792 of yacc.c  */
-#line 11027 "gram.y"
+#line 11026 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 37662 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1628:
-/* Line 1792 of yacc.c  */
-#line 11043 "gram.y"
+#line 11042 "gram.y" /* yacc.c:1646  */
     {
                                        RangeFunction *n = makeNode(RangeFunction);
                                        n->lateral = false;
-                                       n->ordinality = (yyvsp[(2) - (2)].boolean);
+                                       n->ordinality = (yyvsp[0].boolean);
                                        n->is_rowsfrom = false;
-                                       n->functions = list_make1(list_make2((yyvsp[(1) - (2)].node), NIL));
+                                       n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
                                        /* alias and coldeflist are set by table_ref production */
                                        (yyval.node) = (Node *) n;
                                }
+#line 37676 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1629:
-/* Line 1792 of yacc.c  */
-#line 11053 "gram.y"
+#line 11052 "gram.y" /* yacc.c:1646  */
     {
                                        RangeFunction *n = makeNode(RangeFunction);
                                        n->lateral = false;
-                                       n->ordinality = (yyvsp[(6) - (6)].boolean);
+                                       n->ordinality = (yyvsp[0].boolean);
                                        n->is_rowsfrom = true;
-                                       n->functions = (yyvsp[(4) - (6)].list);
+                                       n->functions = (yyvsp[-2].list);
                                        /* alias and coldeflist are set by table_ref production */
                                        (yyval.node) = (Node *) n;
                                }
+#line 37690 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1630:
-/* Line 1792 of yacc.c  */
-#line 11065 "gram.y"
-    { (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list)); }
+#line 11064 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
+#line 37696 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1631:
-/* Line 1792 of yacc.c  */
-#line 11069 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); }
+#line 11068 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].list)); }
+#line 37702 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1632:
-/* Line 1792 of yacc.c  */
-#line 11070 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); }
+#line 11069 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
+#line 37708 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1633:
-/* Line 1792 of yacc.c  */
-#line 11073 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (4)].list); }
+#line 11072 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 37714 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1634:
-/* Line 1792 of yacc.c  */
-#line 11074 "gram.y"
+#line 11073 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 37720 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1635:
-/* Line 1792 of yacc.c  */
-#line 11077 "gram.y"
+#line 11076 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = true; }
+#line 37726 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1636:
-/* Line 1792 of yacc.c  */
-#line 11078 "gram.y"
+#line 11077 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = false; }
+#line 37732 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1637:
-/* Line 1792 of yacc.c  */
-#line 11083 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 11082 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 37738 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1638:
-/* Line 1792 of yacc.c  */
-#line 11084 "gram.y"
+#line 11083 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 37744 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1639:
-/* Line 1792 of yacc.c  */
-#line 11089 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 11088 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 37750 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1640:
-/* Line 1792 of yacc.c  */
-#line 11091 "gram.y"
+#line 11090 "gram.y" /* yacc.c:1646  */
     {
                                        CurrentOfExpr *n = makeNode(CurrentOfExpr);
                                        /* cvarno is filled in by parse analysis */
-                                       n->cursor_name = (yyvsp[(4) - (4)].str);
+                                       n->cursor_name = (yyvsp[0].str);
                                        n->cursor_param = 0;
                                        (yyval.node) = (Node *) n;
                                }
+#line 37762 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1641:
-/* Line 1792 of yacc.c  */
-#line 11098 "gram.y"
+#line 11097 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 37768 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1642:
-/* Line 1792 of yacc.c  */
-#line 11103 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 11102 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 37774 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1643:
-/* Line 1792 of yacc.c  */
-#line 11104 "gram.y"
+#line 11103 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 37780 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1644:
-/* Line 1792 of yacc.c  */
-#line 11109 "gram.y"
+#line 11108 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
+                                       (yyval.list) = list_make1((yyvsp[0].node));
                                }
+#line 37788 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1645:
-/* Line 1792 of yacc.c  */
-#line 11113 "gram.y"
+#line 11112 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
                                }
+#line 37796 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1646:
-/* Line 1792 of yacc.c  */
-#line 11119 "gram.y"
+#line 11118 "gram.y" /* yacc.c:1646  */
     {
                                        ColumnDef *n = makeNode(ColumnDef);
-                                       n->colname = (yyvsp[(1) - (3)].str);
-                                       n->typeName = (yyvsp[(2) - (3)].typnam);
+                                       n->colname = (yyvsp[-2].str);
+                                       n->typeName = (yyvsp[-1].typnam);
                                        n->inhcount = 0;
                                        n->is_local = true;
                                        n->is_not_null = false;
@@ -39122,381 +37808,381 @@ yyreduce:
                                        n->storage = 0;
                                        n->raw_default = NULL;
                                        n->cooked_default = NULL;
-                                       n->collClause = (CollateClause *) (yyvsp[(3) - (3)].node);
+                                       n->collClause = (CollateClause *) (yyvsp[0].node);
                                        n->collOid = InvalidOid;
                                        n->constraints = NIL;
-                                       n->location = (yylsp[(1) - (3)]);
+                                       n->location = (yylsp[-2]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 37818 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1647:
-/* Line 1792 of yacc.c  */
-#line 11149 "gram.y"
+#line 11148 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (2)].typnam);
-                                       (yyval.typnam)->arrayBounds = (yyvsp[(2) - (2)].list);
+                                       (yyval.typnam) = (yyvsp[-1].typnam);
+                                       (yyval.typnam)->arrayBounds = (yyvsp[0].list);
                                }
+#line 37827 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1648:
-/* Line 1792 of yacc.c  */
-#line 11154 "gram.y"
+#line 11153 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(2) - (3)].typnam);
-                                       (yyval.typnam)->arrayBounds = (yyvsp[(3) - (3)].list);
+                                       (yyval.typnam) = (yyvsp[-1].typnam);
+                                       (yyval.typnam)->arrayBounds = (yyvsp[0].list);
                                        (yyval.typnam)->setof = TRUE;
                                }
+#line 37837 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1649:
-/* Line 1792 of yacc.c  */
-#line 11161 "gram.y"
+#line 11160 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (5)].typnam);
-                                       (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(4) - (5)].ival)));
+                                       (yyval.typnam) = (yyvsp[-4].typnam);
+                                       (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
                                }
+#line 37846 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1650:
-/* Line 1792 of yacc.c  */
-#line 11166 "gram.y"
+#line 11165 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(2) - (6)].typnam);
-                                       (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(5) - (6)].ival)));
+                                       (yyval.typnam) = (yyvsp[-4].typnam);
+                                       (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
                                        (yyval.typnam)->setof = TRUE;
                                }
+#line 37856 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1651:
-/* Line 1792 of yacc.c  */
-#line 11172 "gram.y"
+#line 11171 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (2)].typnam);
+                                       (yyval.typnam) = (yyvsp[-1].typnam);
                                        (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
                                }
+#line 37865 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1652:
-/* Line 1792 of yacc.c  */
-#line 11177 "gram.y"
+#line 11176 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(2) - (3)].typnam);
+                                       (yyval.typnam) = (yyvsp[-1].typnam);
                                        (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
                                        (yyval.typnam)->setof = TRUE;
                                }
+#line 37875 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1653:
-/* Line 1792 of yacc.c  */
-#line 11186 "gram.y"
-    {  (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeInteger(-1)); }
+#line 11185 "gram.y" /* yacc.c:1646  */
+    {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
+#line 37881 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1654:
-/* Line 1792 of yacc.c  */
-#line 11188 "gram.y"
-    {  (yyval.list) = lappend((yyvsp[(1) - (4)].list), makeInteger((yyvsp[(3) - (4)].ival))); }
+#line 11187 "gram.y" /* yacc.c:1646  */
+    {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
+#line 37887 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1655:
-/* Line 1792 of yacc.c  */
-#line 11190 "gram.y"
+#line 11189 "gram.y" /* yacc.c:1646  */
     {  (yyval.list) = NIL; }
+#line 37893 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1656:
-/* Line 1792 of yacc.c  */
-#line 11194 "gram.y"
-    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
+#line 11193 "gram.y" /* yacc.c:1646  */
+    { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 37899 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1657:
-/* Line 1792 of yacc.c  */
-#line 11195 "gram.y"
-    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
+#line 11194 "gram.y" /* yacc.c:1646  */
+    { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 37905 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1658:
-/* Line 1792 of yacc.c  */
-#line 11196 "gram.y"
-    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
+#line 11195 "gram.y" /* yacc.c:1646  */
+    { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 37911 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1659:
-/* Line 1792 of yacc.c  */
-#line 11197 "gram.y"
-    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
+#line 11196 "gram.y" /* yacc.c:1646  */
+    { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 37917 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1660:
-/* Line 1792 of yacc.c  */
-#line 11198 "gram.y"
-    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
+#line 11197 "gram.y" /* yacc.c:1646  */
+    { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 37923 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1661:
-/* Line 1792 of yacc.c  */
-#line 11200 "gram.y"
+#line 11199 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (2)].typnam);
-                                       (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
+                                       (yyval.typnam) = (yyvsp[-1].typnam);
+                                       (yyval.typnam)->typmods = (yyvsp[0].list);
                                }
+#line 37932 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1662:
-/* Line 1792 of yacc.c  */
-#line 11205 "gram.y"
+#line 11204 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (4)].typnam);
+                                       (yyval.typnam) = (yyvsp[-3].typnam);
                                        (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
-                                                                                        makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
+                                                                                        makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
                                }
+#line 37942 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1663:
-/* Line 1792 of yacc.c  */
-#line 11224 "gram.y"
-    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
+#line 11223 "gram.y" /* yacc.c:1646  */
+    { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 37948 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1664:
-/* Line 1792 of yacc.c  */
-#line 11225 "gram.y"
-    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
+#line 11224 "gram.y" /* yacc.c:1646  */
+    { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 37954 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1665:
-/* Line 1792 of yacc.c  */
-#line 11226 "gram.y"
-    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
+#line 11225 "gram.y" /* yacc.c:1646  */
+    { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 37960 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1666:
-/* Line 1792 of yacc.c  */
-#line 11227 "gram.y"
-    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
+#line 11226 "gram.y" /* yacc.c:1646  */
+    { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 37966 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1667:
-/* Line 1792 of yacc.c  */
-#line 11239 "gram.y"
+#line 11238 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = makeTypeName((yyvsp[(1) - (2)].str));
-                                       (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
-                                       (yyval.typnam)->location = (yylsp[(1) - (2)]);
+                                       (yyval.typnam) = makeTypeName((yyvsp[-1].str));
+                                       (yyval.typnam)->typmods = (yyvsp[0].list);
+                                       (yyval.typnam)->location = (yylsp[-1]);
                                }
+#line 37976 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1668:
-/* Line 1792 of yacc.c  */
-#line 11245 "gram.y"
+#line 11244 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(2) - (3)].list)));
-                                       (yyval.typnam)->typmods = (yyvsp[(3) - (3)].list);
-                                       (yyval.typnam)->location = (yylsp[(1) - (3)]);
+                                       (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
+                                       (yyval.typnam)->typmods = (yyvsp[0].list);
+                                       (yyval.typnam)->location = (yylsp[-2]);
                                }
+#line 37986 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1669:
-/* Line 1792 of yacc.c  */
-#line 11252 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 11251 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 37992 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1670:
-/* Line 1792 of yacc.c  */
-#line 11253 "gram.y"
+#line 11252 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 37998 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1671:
-/* Line 1792 of yacc.c  */
-#line 11260 "gram.y"
+#line 11259 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("int4");
-                                       (yyval.typnam)->location = (yylsp[(1) - (1)]);
+                                       (yyval.typnam)->location = (yylsp[0]);
                                }
+#line 38007 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1672:
-/* Line 1792 of yacc.c  */
-#line 11265 "gram.y"
+#line 11264 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("int4");
-                                       (yyval.typnam)->location = (yylsp[(1) - (1)]);
+                                       (yyval.typnam)->location = (yylsp[0]);
                                }
+#line 38016 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1673:
-/* Line 1792 of yacc.c  */
-#line 11270 "gram.y"
+#line 11269 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("int2");
-                                       (yyval.typnam)->location = (yylsp[(1) - (1)]);
+                                       (yyval.typnam)->location = (yylsp[0]);
                                }
+#line 38025 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1674:
-/* Line 1792 of yacc.c  */
-#line 11275 "gram.y"
+#line 11274 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("int8");
-                                       (yyval.typnam)->location = (yylsp[(1) - (1)]);
+                                       (yyval.typnam)->location = (yylsp[0]);
                                }
+#line 38034 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1675:
-/* Line 1792 of yacc.c  */
-#line 11280 "gram.y"
+#line 11279 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("float4");
-                                       (yyval.typnam)->location = (yylsp[(1) - (1)]);
+                                       (yyval.typnam)->location = (yylsp[0]);
                                }
+#line 38043 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1676:
-/* Line 1792 of yacc.c  */
-#line 11285 "gram.y"
+#line 11284 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(2) - (2)].typnam);
-                                       (yyval.typnam)->location = (yylsp[(1) - (2)]);
+                                       (yyval.typnam) = (yyvsp[0].typnam);
+                                       (yyval.typnam)->location = (yylsp[-1]);
                                }
+#line 38052 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1677:
-/* Line 1792 of yacc.c  */
-#line 11290 "gram.y"
+#line 11289 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("float8");
-                                       (yyval.typnam)->location = (yylsp[(1) - (2)]);
+                                       (yyval.typnam)->location = (yylsp[-1]);
                                }
+#line 38061 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1678:
-/* Line 1792 of yacc.c  */
-#line 11295 "gram.y"
+#line 11294 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("numeric");
-                                       (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
-                                       (yyval.typnam)->location = (yylsp[(1) - (2)]);
+                                       (yyval.typnam)->typmods = (yyvsp[0].list);
+                                       (yyval.typnam)->location = (yylsp[-1]);
                                }
+#line 38071 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1679:
-/* Line 1792 of yacc.c  */
-#line 11301 "gram.y"
+#line 11300 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("numeric");
-                                       (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
-                                       (yyval.typnam)->location = (yylsp[(1) - (2)]);
+                                       (yyval.typnam)->typmods = (yyvsp[0].list);
+                                       (yyval.typnam)->location = (yylsp[-1]);
                                }
+#line 38081 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1680:
-/* Line 1792 of yacc.c  */
-#line 11307 "gram.y"
+#line 11306 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("numeric");
-                                       (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
-                                       (yyval.typnam)->location = (yylsp[(1) - (2)]);
+                                       (yyval.typnam)->typmods = (yyvsp[0].list);
+                                       (yyval.typnam)->location = (yylsp[-1]);
                                }
+#line 38091 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1681:
-/* Line 1792 of yacc.c  */
-#line 11313 "gram.y"
+#line 11312 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("bool");
-                                       (yyval.typnam)->location = (yylsp[(1) - (1)]);
+                                       (yyval.typnam)->location = (yylsp[0]);
                                }
+#line 38100 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1682:
-/* Line 1792 of yacc.c  */
-#line 11320 "gram.y"
+#line 11319 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Check FLOAT() precision limits assuming IEEE floating
                                         * types - thomas 1997-09-18
                                         */
-                                       if ((yyvsp[(2) - (3)].ival) < 1)
+                                       if ((yyvsp[-1].ival) < 1)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
                                                                 errmsg("precision for type float must be at least 1 bit"),
-                                                                parser_errposition((yylsp[(2) - (3)]))));
-                                       else if ((yyvsp[(2) - (3)].ival) <= 24)
+                                                                parser_errposition((yylsp[-1]))));
+                                       else if ((yyvsp[-1].ival) <= 24)
                                                (yyval.typnam) = SystemTypeName("float4");
-                                       else if ((yyvsp[(2) - (3)].ival) <= 53)
+                                       else if ((yyvsp[-1].ival) <= 53)
                                                (yyval.typnam) = SystemTypeName("float8");
                                        else
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
                                                                 errmsg("precision for type float must be less than 54 bits"),
-                                                                parser_errposition((yylsp[(2) - (3)]))));
+                                                                parser_errposition((yylsp[-1]))));
                                }
+#line 38125 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1683:
-/* Line 1792 of yacc.c  */
-#line 11341 "gram.y"
+#line 11340 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("float8");
                                }
+#line 38133 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1684:
-/* Line 1792 of yacc.c  */
-#line 11351 "gram.y"
+#line 11350 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (1)].typnam);
+                                       (yyval.typnam) = (yyvsp[0].typnam);
                                }
+#line 38141 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1685:
-/* Line 1792 of yacc.c  */
-#line 11355 "gram.y"
+#line 11354 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (1)].typnam);
+                                       (yyval.typnam) = (yyvsp[0].typnam);
                                }
+#line 38149 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1686:
-/* Line 1792 of yacc.c  */
-#line 11363 "gram.y"
+#line 11362 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (1)].typnam);
+                                       (yyval.typnam) = (yyvsp[0].typnam);
                                }
+#line 38157 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1687:
-/* Line 1792 of yacc.c  */
-#line 11367 "gram.y"
+#line 11366 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (1)].typnam);
+                                       (yyval.typnam) = (yyvsp[0].typnam);
                                        (yyval.typnam)->typmods = NIL;
                                }
+#line 38166 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1688:
-/* Line 1792 of yacc.c  */
-#line 11375 "gram.y"
+#line 11374 "gram.y" /* yacc.c:1646  */
     {
                                        char *typname;
 
-                                       typname = (yyvsp[(2) - (5)].boolean) ? "varbit" : "bit";
+                                       typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
                                        (yyval.typnam) = SystemTypeName(typname);
-                                       (yyval.typnam)->typmods = (yyvsp[(4) - (5)].list);
-                                       (yyval.typnam)->location = (yylsp[(1) - (5)]);
+                                       (yyval.typnam)->typmods = (yyvsp[-1].list);
+                                       (yyval.typnam)->location = (yylsp[-4]);
                                }
+#line 38179 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1689:
-/* Line 1792 of yacc.c  */
-#line 11387 "gram.y"
+#line 11386 "gram.y" /* yacc.c:1646  */
     {
                                        /* bit defaults to bit(1), varbit to no limit */
-                                       if ((yyvsp[(2) - (2)].boolean))
+                                       if ((yyvsp[0].boolean))
                                        {
                                                (yyval.typnam) = SystemTypeName("varbit");
                                        }
@@ -39505,37 +38191,37 @@ yyreduce:
                                                (yyval.typnam) = SystemTypeName("bit");
                                                (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
                                        }
-                                       (yyval.typnam)->location = (yylsp[(1) - (2)]);
+                                       (yyval.typnam)->location = (yylsp[-1]);
                                }
+#line 38197 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1690:
-/* Line 1792 of yacc.c  */
-#line 11408 "gram.y"
+#line 11407 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (1)].typnam);
+                                       (yyval.typnam) = (yyvsp[0].typnam);
                                }
+#line 38205 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1691:
-/* Line 1792 of yacc.c  */
-#line 11412 "gram.y"
+#line 11411 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (1)].typnam);
+                                       (yyval.typnam) = (yyvsp[0].typnam);
                                }
+#line 38213 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1692:
-/* Line 1792 of yacc.c  */
-#line 11418 "gram.y"
+#line 11417 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.typnam) = (yyvsp[(1) - (1)].typnam);
+                                       (yyval.typnam) = (yyvsp[0].typnam);
                                }
+#line 38221 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1693:
-/* Line 1792 of yacc.c  */
-#line 11422 "gram.y"
+#line 11421 "gram.y" /* yacc.c:1646  */
     {
                                        /* Length was not specified so allow to be unrestricted.
                                         * This handles problems with fixed-length (bpchar) strings
@@ -39543,900 +38229,898 @@ yyreduce:
                                         * of one, but should not be constrained if the length
                                         * was not specified.
                                         */
-                                       (yyval.typnam) = (yyvsp[(1) - (1)].typnam);
+                                       (yyval.typnam) = (yyvsp[0].typnam);
                                        (yyval.typnam)->typmods = NIL;
                                }
+#line 38236 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1694:
-/* Line 1792 of yacc.c  */
-#line 11435 "gram.y"
+#line 11434 "gram.y" /* yacc.c:1646  */
     {
-                                       if (((yyvsp[(5) - (5)].str) != NULL) && (strcmp((yyvsp[(5) - (5)].str), "sql_text") != 0))
-                                               (yyvsp[(1) - (5)].str) = psprintf("%s_%s", (yyvsp[(1) - (5)].str), (yyvsp[(5) - (5)].str));
+                                       if (((yyvsp[0].str) != NULL) && (strcmp((yyvsp[0].str), "sql_text") != 0))
+                                               (yyvsp[-4].str) = psprintf("%s_%s", (yyvsp[-4].str), (yyvsp[0].str));
 
-                                       (yyval.typnam) = SystemTypeName((yyvsp[(1) - (5)].str));
-                                       (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
-                                       (yyval.typnam)->location = (yylsp[(1) - (5)]);
+                                       (yyval.typnam) = SystemTypeName((yyvsp[-4].str));
+                                       (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
+                                       (yyval.typnam)->location = (yylsp[-4]);
                                }
+#line 38249 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1695:
-/* Line 1792 of yacc.c  */
-#line 11446 "gram.y"
+#line 11445 "gram.y" /* yacc.c:1646  */
     {
-                                       if (((yyvsp[(2) - (2)].str) != NULL) && (strcmp((yyvsp[(2) - (2)].str), "sql_text") != 0))
-                                               (yyvsp[(1) - (2)].str) = psprintf("%s_%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
+                                       if (((yyvsp[0].str) != NULL) && (strcmp((yyvsp[0].str), "sql_text") != 0))
+                                               (yyvsp[-1].str) = psprintf("%s_%s", (yyvsp[-1].str), (yyvsp[0].str));
 
-                                       (yyval.typnam) = SystemTypeName((yyvsp[(1) - (2)].str));
+                                       (yyval.typnam) = SystemTypeName((yyvsp[-1].str));
 
                                        /* char defaults to char(1), varchar to no limit */
-                                       if (strcmp((yyvsp[(1) - (2)].str), "bpchar") == 0)
+                                       if (strcmp((yyvsp[-1].str), "bpchar") == 0)
                                                (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
 
-                                       (yyval.typnam)->location = (yylsp[(1) - (2)]);
+                                       (yyval.typnam)->location = (yylsp[-1]);
                                }
+#line 38266 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1696:
-/* Line 1792 of yacc.c  */
-#line 11461 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; }
+#line 11460 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
+#line 38272 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1697:
-/* Line 1792 of yacc.c  */
-#line 11463 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; }
+#line 11462 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
+#line 38278 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1698:
-/* Line 1792 of yacc.c  */
-#line 11465 "gram.y"
+#line 11464 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "varchar"; }
+#line 38284 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1699:
-/* Line 1792 of yacc.c  */
-#line 11467 "gram.y"
-    { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; }
+#line 11466 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
+#line 38290 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1700:
-/* Line 1792 of yacc.c  */
-#line 11469 "gram.y"
-    { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; }
+#line 11468 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
+#line 38296 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1701:
-/* Line 1792 of yacc.c  */
-#line 11471 "gram.y"
-    { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; }
+#line 11470 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
+#line 38302 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1702:
-/* Line 1792 of yacc.c  */
-#line 11475 "gram.y"
+#line 11474 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 38308 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1703:
-/* Line 1792 of yacc.c  */
-#line 11476 "gram.y"
+#line 11475 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 38314 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1704:
-/* Line 1792 of yacc.c  */
-#line 11480 "gram.y"
-    { (yyval.str) = (yyvsp[(3) - (3)].str); }
+#line 11479 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 38320 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1705:
-/* Line 1792 of yacc.c  */
-#line 11481 "gram.y"
+#line 11480 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 38326 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1706:
-/* Line 1792 of yacc.c  */
-#line 11489 "gram.y"
+#line 11488 "gram.y" /* yacc.c:1646  */
     {
-                                       if ((yyvsp[(5) - (5)].boolean))
+                                       if ((yyvsp[0].boolean))
                                                (yyval.typnam) = SystemTypeName("timestamptz");
                                        else
                                                (yyval.typnam) = SystemTypeName("timestamp");
-                                       (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
-                                       (yyval.typnam)->location = (yylsp[(1) - (5)]);
+                                       (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
+                                       (yyval.typnam)->location = (yylsp[-4]);
                                }
+#line 38339 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1707:
-/* Line 1792 of yacc.c  */
-#line 11498 "gram.y"
+#line 11497 "gram.y" /* yacc.c:1646  */
     {
-                                       if ((yyvsp[(2) - (2)].boolean))
+                                       if ((yyvsp[0].boolean))
                                                (yyval.typnam) = SystemTypeName("timestamptz");
                                        else
                                                (yyval.typnam) = SystemTypeName("timestamp");
-                                       (yyval.typnam)->location = (yylsp[(1) - (2)]);
+                                       (yyval.typnam)->location = (yylsp[-1]);
                                }
+#line 38351 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1708:
-/* Line 1792 of yacc.c  */
-#line 11506 "gram.y"
+#line 11505 "gram.y" /* yacc.c:1646  */
     {
-                                       if ((yyvsp[(5) - (5)].boolean))
+                                       if ((yyvsp[0].boolean))
                                                (yyval.typnam) = SystemTypeName("timetz");
                                        else
                                                (yyval.typnam) = SystemTypeName("time");
-                                       (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
-                                       (yyval.typnam)->location = (yylsp[(1) - (5)]);
+                                       (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
+                                       (yyval.typnam)->location = (yylsp[-4]);
                                }
+#line 38364 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1709:
-/* Line 1792 of yacc.c  */
-#line 11515 "gram.y"
+#line 11514 "gram.y" /* yacc.c:1646  */
     {
-                                       if ((yyvsp[(2) - (2)].boolean))
+                                       if ((yyvsp[0].boolean))
                                                (yyval.typnam) = SystemTypeName("timetz");
                                        else
                                                (yyval.typnam) = SystemTypeName("time");
-                                       (yyval.typnam)->location = (yylsp[(1) - (2)]);
+                                       (yyval.typnam)->location = (yylsp[-1]);
                                }
+#line 38376 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1710:
-/* Line 1792 of yacc.c  */
-#line 11526 "gram.y"
+#line 11525 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.typnam) = SystemTypeName("interval");
-                                       (yyval.typnam)->location = (yylsp[(1) - (1)]);
+                                       (yyval.typnam)->location = (yylsp[0]);
                                }
+#line 38385 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1711:
-/* Line 1792 of yacc.c  */
-#line 11533 "gram.y"
+#line 11532 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 38391 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1712:
-/* Line 1792 of yacc.c  */
-#line 11534 "gram.y"
+#line 11533 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 38397 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1713:
-/* Line 1792 of yacc.c  */
-#line 11535 "gram.y"
+#line 11534 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 38403 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1714:
-/* Line 1792 of yacc.c  */
-#line 11540 "gram.y"
-    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); }
+#line 11539 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
+#line 38409 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1715:
-/* Line 1792 of yacc.c  */
-#line 11542 "gram.y"
-    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); }
+#line 11541 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
+#line 38415 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1716:
-/* Line 1792 of yacc.c  */
-#line 11544 "gram.y"
-    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); }
+#line 11543 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
+#line 38421 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1717:
-/* Line 1792 of yacc.c  */
-#line 11546 "gram.y"
-    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); }
+#line 11545 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
+#line 38427 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1718:
-/* Line 1792 of yacc.c  */
-#line 11548 "gram.y"
-    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); }
+#line 11547 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
+#line 38433 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1719:
-/* Line 1792 of yacc.c  */
-#line 11550 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 11549 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 38439 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1720:
-/* Line 1792 of yacc.c  */
-#line 11552 "gram.y"
+#line 11551 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
-                                                                                                INTERVAL_MASK(MONTH), (yylsp[(1) - (3)])));
+                                                                                                INTERVAL_MASK(MONTH), (yylsp[-2])));
                                }
+#line 38448 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1721:
-/* Line 1792 of yacc.c  */
-#line 11557 "gram.y"
+#line 11556 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
-                                                                                                INTERVAL_MASK(HOUR), (yylsp[(1) - (3)])));
+                                                                                                INTERVAL_MASK(HOUR), (yylsp[-2])));
                                }
+#line 38457 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1722:
-/* Line 1792 of yacc.c  */
-#line 11562 "gram.y"
+#line 11561 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
                                                                                                 INTERVAL_MASK(HOUR) |
-                                                                                                INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
+                                                                                                INTERVAL_MASK(MINUTE), (yylsp[-2])));
                                }
+#line 38467 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1723:
-/* Line 1792 of yacc.c  */
-#line 11568 "gram.y"
+#line 11567 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = (yyvsp[(3) - (3)].list);
+                                       (yyval.list) = (yyvsp[0].list);
                                        linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
                                                                                                INTERVAL_MASK(HOUR) |
                                                                                                INTERVAL_MASK(MINUTE) |
-                                                                                               INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
+                                                                                               INTERVAL_MASK(SECOND), (yylsp[-2]));
                                }
+#line 38479 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1724:
-/* Line 1792 of yacc.c  */
-#line 11576 "gram.y"
+#line 11575 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
-                                                                                                INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
+                                                                                                INTERVAL_MASK(MINUTE), (yylsp[-2])));
                                }
+#line 38488 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1725:
-/* Line 1792 of yacc.c  */
-#line 11581 "gram.y"
+#line 11580 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = (yyvsp[(3) - (3)].list);
+                                       (yyval.list) = (yyvsp[0].list);
                                        linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
                                                                                                INTERVAL_MASK(MINUTE) |
-                                                                                               INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
+                                                                                               INTERVAL_MASK(SECOND), (yylsp[-2]));
                                }
+#line 38499 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1726:
-/* Line 1792 of yacc.c  */
-#line 11588 "gram.y"
+#line 11587 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = (yyvsp[(3) - (3)].list);
+                                       (yyval.list) = (yyvsp[0].list);
                                        linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
-                                                                                               INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
+                                                                                               INTERVAL_MASK(SECOND), (yylsp[-2]));
                                }
+#line 38509 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1727:
-/* Line 1792 of yacc.c  */
-#line 11594 "gram.y"
+#line 11593 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 38515 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1728:
-/* Line 1792 of yacc.c  */
-#line 11599 "gram.y"
+#line 11598 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)])));
+                                       (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
                                }
+#line 38523 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1729:
-/* Line 1792 of yacc.c  */
-#line 11603 "gram.y"
+#line 11602 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])),
-                                                                       makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
+                                       (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
+                                                                       makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
                                }
+#line 38532 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1730:
-/* Line 1792 of yacc.c  */
-#line 11638 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 11637 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 38538 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1731:
-/* Line 1792 of yacc.c  */
-#line 11640 "gram.y"
-    { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); }
+#line 11639 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
+#line 38544 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1732:
-/* Line 1792 of yacc.c  */
-#line 11642 "gram.y"
+#line 11641 "gram.y" /* yacc.c:1646  */
     {
                                        CollateClause *n = makeNode(CollateClause);
-                                       n->arg = (yyvsp[(1) - (3)].node);
-                                       n->collname = (yyvsp[(3) - (3)].list);
-                                       n->location = (yylsp[(2) - (3)]);
+                                       n->arg = (yyvsp[-2].node);
+                                       n->collname = (yyvsp[0].list);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *) n;
                                }
+#line 38556 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1733:
-/* Line 1792 of yacc.c  */
-#line 11650 "gram.y"
+#line 11649 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
-                                                                                          list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node)),
-                                                                                          (yylsp[(2) - (5)]));
+                                                                                          list_make2((yyvsp[0].node), (yyvsp[-4].node)),
+                                                                                          (yylsp[-3]));
                                }
+#line 38566 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1734:
-/* Line 1792 of yacc.c  */
-#line 11665 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
+#line 11664 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
+#line 38572 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1735:
-/* Line 1792 of yacc.c  */
-#line 11667 "gram.y"
-    { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
+#line 11666 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
+#line 38578 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1736:
-/* Line 1792 of yacc.c  */
-#line 11669 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11668 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38584 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1737:
-/* Line 1792 of yacc.c  */
-#line 11671 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11670 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38590 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1738:
-/* Line 1792 of yacc.c  */
-#line 11673 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11672 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38596 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1739:
-/* Line 1792 of yacc.c  */
-#line 11675 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11674 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38602 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1740:
-/* Line 1792 of yacc.c  */
-#line 11677 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11676 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38608 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1741:
-/* Line 1792 of yacc.c  */
-#line 11679 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11678 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38614 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1742:
-/* Line 1792 of yacc.c  */
-#line 11681 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11680 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38620 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1743:
-/* Line 1792 of yacc.c  */
-#line 11683 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11682 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38626 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1744:
-/* Line 1792 of yacc.c  */
-#line 11685 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11684 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38632 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1745:
-/* Line 1792 of yacc.c  */
-#line 11687 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11686 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38638 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1746:
-/* Line 1792 of yacc.c  */
-#line 11689 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11688 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38644 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1747:
-/* Line 1792 of yacc.c  */
-#line 11691 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11690 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38650 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1748:
-/* Line 1792 of yacc.c  */
-#line 11694 "gram.y"
-    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11693 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38656 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1749:
-/* Line 1792 of yacc.c  */
-#line 11696 "gram.y"
-    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
+#line 11695 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
+#line 38662 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1750:
-/* Line 1792 of yacc.c  */
-#line 11698 "gram.y"
-    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); }
+#line 11697 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
+#line 38668 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1751:
-/* Line 1792 of yacc.c  */
-#line 11701 "gram.y"
-    { (yyval.node) = makeAndExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11700 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38674 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1752:
-/* Line 1792 of yacc.c  */
-#line 11703 "gram.y"
-    { (yyval.node) = makeOrExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 11702 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 38680 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1753:
-/* Line 1792 of yacc.c  */
-#line 11705 "gram.y"
-    { (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
+#line 11704 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
+#line 38686 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1754:
-/* Line 1792 of yacc.c  */
-#line 11707 "gram.y"
-    { (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
+#line 11706 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
+#line 38692 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1755:
-/* Line 1792 of yacc.c  */
-#line 11710 "gram.y"
+#line 11709 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
-                                                                                                  (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
+                                                                                                  (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
                                }
+#line 38701 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1756:
-/* Line 1792 of yacc.c  */
-#line 11715 "gram.y"
+#line 11714 "gram.y" /* yacc.c:1646  */
     {
                                        FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
-                                                                                          list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
-                                                                                          (yylsp[(2) - (5)]));
+                                                                                          list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+                                                                                          (yylsp[-3]));
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
-                                                                                                  (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
+                                                                                                  (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
                                }
+#line 38713 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1757:
-/* Line 1792 of yacc.c  */
-#line 11723 "gram.y"
+#line 11722 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
-                                                                                                  (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
+                                                                                                  (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
                                }
+#line 38722 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1758:
-/* Line 1792 of yacc.c  */
-#line 11728 "gram.y"
+#line 11727 "gram.y" /* yacc.c:1646  */
     {
                                        FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
-                                                                                          list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
-                                                                                          (yylsp[(2) - (6)]));
+                                                                                          list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+                                                                                          (yylsp[-4]));
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
-                                                                                                  (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
+                                                                                                  (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
                                }
+#line 38734 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1759:
-/* Line 1792 of yacc.c  */
-#line 11736 "gram.y"
+#line 11735 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
-                                                                                                  (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
+                                                                                                  (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
                                }
+#line 38743 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1760:
-/* Line 1792 of yacc.c  */
-#line 11741 "gram.y"
+#line 11740 "gram.y" /* yacc.c:1646  */
     {
                                        FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
-                                                                                          list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
-                                                                                          (yylsp[(2) - (5)]));
+                                                                                          list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+                                                                                          (yylsp[-3]));
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
-                                                                                                  (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
+                                                                                                  (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
                                }
+#line 38755 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1761:
-/* Line 1792 of yacc.c  */
-#line 11749 "gram.y"
+#line 11748 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
-                                                                                                  (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
+                                                                                                  (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
                                }
+#line 38764 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1762:
-/* Line 1792 of yacc.c  */
-#line 11754 "gram.y"
+#line 11753 "gram.y" /* yacc.c:1646  */
     {
                                        FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
-                                                                                          list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
-                                                                                          (yylsp[(2) - (6)]));
+                                                                                          list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+                                                                                          (yylsp[-4]));
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
-                                                                                                  (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
+                                                                                                  (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
                                }
+#line 38776 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1763:
-/* Line 1792 of yacc.c  */
-#line 11763 "gram.y"
+#line 11762 "gram.y" /* yacc.c:1646  */
     {
                                        FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
-                                                                                          list_make2((yyvsp[(4) - (4)].node), makeNullAConst(-1)),
-                                                                                          (yylsp[(2) - (4)]));
+                                                                                          list_make2((yyvsp[0].node), makeNullAConst(-1)),
+                                                                                          (yylsp[-2]));
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
-                                                                                                  (yyvsp[(1) - (4)].node), (Node *) n, (yylsp[(2) - (4)]));
+                                                                                                  (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
                                }
+#line 38788 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1764:
-/* Line 1792 of yacc.c  */
-#line 11771 "gram.y"
+#line 11770 "gram.y" /* yacc.c:1646  */
     {
                                        FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
-                                                                                          list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
-                                                                                          (yylsp[(2) - (6)]));
+                                                                                          list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+                                                                                          (yylsp[-4]));
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
-                                                                                                  (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
+                                                                                                  (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
                                }
+#line 38800 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1765:
-/* Line 1792 of yacc.c  */
-#line 11779 "gram.y"
+#line 11778 "gram.y" /* yacc.c:1646  */
     {
                                        FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
-                                                                                          list_make2((yyvsp[(5) - (5)].node), makeNullAConst(-1)),
-                                                                                          (yylsp[(2) - (5)]));
+                                                                                          list_make2((yyvsp[0].node), makeNullAConst(-1)),
+                                                                                          (yylsp[-3]));
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
-                                                                                                  (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
+                                                                                                  (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
                                }
+#line 38812 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1766:
-/* Line 1792 of yacc.c  */
-#line 11787 "gram.y"
+#line 11786 "gram.y" /* yacc.c:1646  */
     {
                                        FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
-                                                                                          list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
-                                                                                          (yylsp[(2) - (7)]));
+                                                                                          list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+                                                                                          (yylsp[-5]));
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
-                                                                                                  (yyvsp[(1) - (7)].node), (Node *) n, (yylsp[(2) - (7)]));
+                                                                                                  (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
                                }
+#line 38824 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1767:
-/* Line 1792 of yacc.c  */
-#line 11805 "gram.y"
+#line 11804 "gram.y" /* yacc.c:1646  */
     {
                                        NullTest *n = makeNode(NullTest);
-                                       n->arg = (Expr *) (yyvsp[(1) - (3)].node);
+                                       n->arg = (Expr *) (yyvsp[-2].node);
                                        n->nulltesttype = IS_NULL;
-                                       n->location = (yylsp[(2) - (3)]);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 38836 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1768:
-/* Line 1792 of yacc.c  */
-#line 11813 "gram.y"
+#line 11812 "gram.y" /* yacc.c:1646  */
     {
                                        NullTest *n = makeNode(NullTest);
-                                       n->arg = (Expr *) (yyvsp[(1) - (2)].node);
+                                       n->arg = (Expr *) (yyvsp[-1].node);
                                        n->nulltesttype = IS_NULL;
-                                       n->location = (yylsp[(2) - (2)]);
+                                       n->location = (yylsp[0]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 38848 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1769:
-/* Line 1792 of yacc.c  */
-#line 11821 "gram.y"
+#line 11820 "gram.y" /* yacc.c:1646  */
     {
                                        NullTest *n = makeNode(NullTest);
-                                       n->arg = (Expr *) (yyvsp[(1) - (4)].node);
+                                       n->arg = (Expr *) (yyvsp[-3].node);
                                        n->nulltesttype = IS_NOT_NULL;
-                                       n->location = (yylsp[(2) - (4)]);
+                                       n->location = (yylsp[-2]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 38860 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1770:
-/* Line 1792 of yacc.c  */
-#line 11829 "gram.y"
+#line 11828 "gram.y" /* yacc.c:1646  */
     {
                                        NullTest *n = makeNode(NullTest);
-                                       n->arg = (Expr *) (yyvsp[(1) - (2)].node);
+                                       n->arg = (Expr *) (yyvsp[-1].node);
                                        n->nulltesttype = IS_NOT_NULL;
-                                       n->location = (yylsp[(2) - (2)]);
+                                       n->location = (yylsp[0]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 38872 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1771:
-/* Line 1792 of yacc.c  */
-#line 11837 "gram.y"
+#line 11836 "gram.y" /* yacc.c:1646  */
     {
-                                       if (list_length((yyvsp[(1) - (3)].list)) != 2)
+                                       if (list_length((yyvsp[-2].list)) != 2)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_SYNTAX_ERROR),
                                                                 errmsg("wrong number of parameters on left side of OVERLAPS expression"),
-                                                                parser_errposition((yylsp[(1) - (3)]))));
-                                       if (list_length((yyvsp[(3) - (3)].list)) != 2)
+                                                                parser_errposition((yylsp[-2]))));
+                                       if (list_length((yyvsp[0].list)) != 2)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_SYNTAX_ERROR),
                                                                 errmsg("wrong number of parameters on right side of OVERLAPS expression"),
-                                                                parser_errposition((yylsp[(3) - (3)]))));
+                                                                parser_errposition((yylsp[0]))));
                                        (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
-                                                                                          list_concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)),
-                                                                                          (yylsp[(2) - (3)]));
+                                                                                          list_concat((yyvsp[-2].list), (yyvsp[0].list)),
+                                                                                          (yylsp[-1]));
                                }
+#line 38892 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1772:
-/* Line 1792 of yacc.c  */
-#line 11853 "gram.y"
+#line 11852 "gram.y" /* yacc.c:1646  */
     {
                                        BooleanTest *b = makeNode(BooleanTest);
-                                       b->arg = (Expr *) (yyvsp[(1) - (3)].node);
+                                       b->arg = (Expr *) (yyvsp[-2].node);
                                        b->booltesttype = IS_TRUE;
-                                       b->location = (yylsp[(2) - (3)]);
+                                       b->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)b;
                                }
+#line 38904 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1773:
-/* Line 1792 of yacc.c  */
-#line 11861 "gram.y"
+#line 11860 "gram.y" /* yacc.c:1646  */
     {
                                        BooleanTest *b = makeNode(BooleanTest);
-                                       b->arg = (Expr *) (yyvsp[(1) - (4)].node);
+                                       b->arg = (Expr *) (yyvsp[-3].node);
                                        b->booltesttype = IS_NOT_TRUE;
-                                       b->location = (yylsp[(2) - (4)]);
+                                       b->location = (yylsp[-2]);
                                        (yyval.node) = (Node *)b;
                                }
+#line 38916 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1774:
-/* Line 1792 of yacc.c  */
-#line 11869 "gram.y"
+#line 11868 "gram.y" /* yacc.c:1646  */
     {
                                        BooleanTest *b = makeNode(BooleanTest);
-                                       b->arg = (Expr *) (yyvsp[(1) - (3)].node);
+                                       b->arg = (Expr *) (yyvsp[-2].node);
                                        b->booltesttype = IS_FALSE;
-                                       b->location = (yylsp[(2) - (3)]);
+                                       b->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)b;
                                }
+#line 38928 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1775:
-/* Line 1792 of yacc.c  */
-#line 11877 "gram.y"
+#line 11876 "gram.y" /* yacc.c:1646  */
     {
                                        BooleanTest *b = makeNode(BooleanTest);
-                                       b->arg = (Expr *) (yyvsp[(1) - (4)].node);
+                                       b->arg = (Expr *) (yyvsp[-3].node);
                                        b->booltesttype = IS_NOT_FALSE;
-                                       b->location = (yylsp[(2) - (4)]);
+                                       b->location = (yylsp[-2]);
                                        (yyval.node) = (Node *)b;
                                }
+#line 38940 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1776:
-/* Line 1792 of yacc.c  */
-#line 11885 "gram.y"
+#line 11884 "gram.y" /* yacc.c:1646  */
     {
                                        BooleanTest *b = makeNode(BooleanTest);
-                                       b->arg = (Expr *) (yyvsp[(1) - (3)].node);
+                                       b->arg = (Expr *) (yyvsp[-2].node);
                                        b->booltesttype = IS_UNKNOWN;
-                                       b->location = (yylsp[(2) - (3)]);
+                                       b->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)b;
                                }
+#line 38952 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1777:
-/* Line 1792 of yacc.c  */
-#line 11893 "gram.y"
+#line 11892 "gram.y" /* yacc.c:1646  */
     {
                                        BooleanTest *b = makeNode(BooleanTest);
-                                       b->arg = (Expr *) (yyvsp[(1) - (4)].node);
+                                       b->arg = (Expr *) (yyvsp[-3].node);
                                        b->booltesttype = IS_NOT_UNKNOWN;
-                                       b->location = (yylsp[(2) - (4)]);
+                                       b->location = (yylsp[-2]);
                                        (yyval.node) = (Node *)b;
                                }
+#line 38964 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1778:
-/* Line 1792 of yacc.c  */
-#line 11901 "gram.y"
+#line 11900 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
+                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
                                }
+#line 38972 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1779:
-/* Line 1792 of yacc.c  */
-#line 11905 "gram.y"
+#line 11904 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeNotExpr((Node *) makeSimpleA_Expr(AEXPR_DISTINCT,
-                                                                                                                          "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])),
-                                                                        (yylsp[(2) - (6)]));
+                    (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
                                }
+#line 38980 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1780:
-/* Line 1792 of yacc.c  */
-#line 11911 "gram.y"
+#line 11908 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
+                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
                                }
+#line 38988 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1781:
-/* Line 1792 of yacc.c  */
-#line 11915 "gram.y"
+#line 11912 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
+                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
                                }
+#line 38996 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1782:
-/* Line 1792 of yacc.c  */
-#line 11919 "gram.y"
+#line 11916 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
                                                                                                   "BETWEEN",
-                                                                                                  (yyvsp[(1) - (6)].node),
-                                                                                                  (Node *) list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
-                                                                                                  (yylsp[(2) - (6)]));
+                                                                                                  (yyvsp[-5].node),
+                                                                                                  (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+                                                                                                  (yylsp[-4]));
                                }
+#line 39008 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1783:
-/* Line 1792 of yacc.c  */
-#line 11927 "gram.y"
+#line 11924 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
                                                                                                   "NOT BETWEEN",
-                                                                                                  (yyvsp[(1) - (7)].node),
-                                                                                                  (Node *) list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
-                                                                                                  (yylsp[(2) - (7)]));
+                                                                                                  (yyvsp[-6].node),
+                                                                                                  (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+                                                                                                  (yylsp[-5]));
                                }
+#line 39020 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1784:
-/* Line 1792 of yacc.c  */
-#line 11935 "gram.y"
+#line 11932 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
                                                                                                   "BETWEEN SYMMETRIC",
-                                                                                                  (yyvsp[(1) - (6)].node),
-                                                                                                  (Node *) list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
-                                                                                                  (yylsp[(2) - (6)]));
+                                                                                                  (yyvsp[-5].node),
+                                                                                                  (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+                                                                                                  (yylsp[-4]));
                                }
+#line 39032 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1785:
-/* Line 1792 of yacc.c  */
-#line 11943 "gram.y"
+#line 11940 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
                                                                                                   "NOT BETWEEN SYMMETRIC",
-                                                                                                  (yyvsp[(1) - (7)].node),
-                                                                                                  (Node *) list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
-                                                                                                  (yylsp[(2) - (7)]));
+                                                                                                  (yyvsp[-6].node),
+                                                                                                  (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+                                                                                                  (yylsp[-5]));
                                }
+#line 39044 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1786:
-/* Line 1792 of yacc.c  */
-#line 11951 "gram.y"
+#line 11948 "gram.y" /* yacc.c:1646  */
     {
                                        /* in_expr returns a SubLink or a list of a_exprs */
-                                       if (IsA((yyvsp[(3) - (3)].node), SubLink))
+                                       if (IsA((yyvsp[0].node), SubLink))
                                        {
                                                /* generate foo = ANY (subquery) */
-                                               SubLink *n = (SubLink *) (yyvsp[(3) - (3)].node);
+                                               SubLink *n = (SubLink *) (yyvsp[0].node);
                                                n->subLinkType = ANY_SUBLINK;
                                                n->subLinkId = 0;
-                                               n->testexpr = (yyvsp[(1) - (3)].node);
+                                               n->testexpr = (yyvsp[-2].node);
                                                n->operName = NIL;              /* show it's IN not = ANY */
-                                               n->location = (yylsp[(2) - (3)]);
+                                               n->location = (yylsp[-1]);
                                                (yyval.node) = (Node *)n;
                                        }
                                        else
                                        {
                                                /* generate scalar IN expression */
-                                               (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
+                                               (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
                                        }
                                }
+#line 39068 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1787:
-/* Line 1792 of yacc.c  */
-#line 11971 "gram.y"
+#line 11968 "gram.y" /* yacc.c:1646  */
     {
                                        /* in_expr returns a SubLink or a list of a_exprs */
-                                       if (IsA((yyvsp[(4) - (4)].node), SubLink))
+                                       if (IsA((yyvsp[0].node), SubLink))
                                        {
                                                /* generate NOT (foo = ANY (subquery)) */
                                                /* Make an = ANY node */
-                                               SubLink *n = (SubLink *) (yyvsp[(4) - (4)].node);
+                                               SubLink *n = (SubLink *) (yyvsp[0].node);
                                                n->subLinkType = ANY_SUBLINK;
                                                n->subLinkId = 0;
-                                               n->testexpr = (yyvsp[(1) - (4)].node);
+                                               n->testexpr = (yyvsp[-3].node);
                                                n->operName = NIL;              /* show it's IN not = ANY */
-                                               n->location = (yylsp[(2) - (4)]);
+                                               n->location = (yylsp[-2]);
                                                /* Stick a NOT on top; must have same parse location */
-                                               (yyval.node) = makeNotExpr((Node *) n, (yylsp[(2) - (4)]));
+                                               (yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
                                        }
                                        else
                                        {
                                                /* generate scalar NOT IN expression */
-                                               (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
+                                               (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
                                        }
                                }
+#line 39094 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1788:
-/* Line 1792 of yacc.c  */
-#line 11993 "gram.y"
+#line 11990 "gram.y" /* yacc.c:1646  */
     {
                                        SubLink *n = makeNode(SubLink);
-                                       n->subLinkType = (yyvsp[(3) - (4)].ival);
+                                       n->subLinkType = (yyvsp[-1].ival);
                                        n->subLinkId = 0;
-                                       n->testexpr = (yyvsp[(1) - (4)].node);
-                                       n->operName = (yyvsp[(2) - (4)].list);
-                                       n->subselect = (yyvsp[(4) - (4)].node);
-                                       n->location = (yylsp[(2) - (4)]);
+                                       n->testexpr = (yyvsp[-3].node);
+                                       n->operName = (yyvsp[-2].list);
+                                       n->subselect = (yyvsp[0].node);
+                                       n->location = (yylsp[-2]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 39109 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1789:
-/* Line 1792 of yacc.c  */
-#line 12004 "gram.y"
+#line 12001 "gram.y" /* yacc.c:1646  */
     {
-                                       if ((yyvsp[(3) - (6)].ival) == ANY_SUBLINK)
-                                               (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)]));
+                                       if ((yyvsp[-3].ival) == ANY_SUBLINK)
+                                               (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
                                        else
-                                               (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)]));
+                                               (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
                                }
+#line 39120 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1790:
-/* Line 1792 of yacc.c  */
-#line 12011 "gram.y"
+#line 12008 "gram.y" /* yacc.c:1646  */
     {
                                        /* Not sure how to get rid of the parentheses
                                         * but there are lots of shift/reduce errors without them.
@@ -40450,236 +39134,234 @@ yyreduce:
                                        ereport(ERROR,
                                                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                         errmsg("UNIQUE predicate is not yet implemented"),
-                                                        parser_errposition((yylsp[(1) - (2)]))));
+                                                        parser_errposition((yylsp[-1]))));
                                }
+#line 39140 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1791:
-/* Line 1792 of yacc.c  */
-#line 12027 "gram.y"
+#line 12024 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
-                                                                        list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
+                                                                        list_make1((yyvsp[-2].node)), (yylsp[-1]));
                                }
+#line 39149 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1792:
-/* Line 1792 of yacc.c  */
-#line 12032 "gram.y"
+#line 12029 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
-                                                                                                list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
-                                                                        (yylsp[(2) - (4)]));
+                                                                                                list_make1((yyvsp[-3].node)), (yylsp[-2])),
+                                                                        (yylsp[-2]));
                                }
+#line 39159 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1793:
-/* Line 1792 of yacc.c  */
-#line 12049 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 12046 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 39165 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1794:
-/* Line 1792 of yacc.c  */
-#line 12051 "gram.y"
-    { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); }
+#line 12048 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
+#line 39171 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1795:
-/* Line 1792 of yacc.c  */
-#line 12053 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
+#line 12050 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
+#line 39177 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1796:
-/* Line 1792 of yacc.c  */
-#line 12055 "gram.y"
-    { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
+#line 12052 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
+#line 39183 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1797:
-/* Line 1792 of yacc.c  */
-#line 12057 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12054 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39189 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1798:
-/* Line 1792 of yacc.c  */
-#line 12059 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12056 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39195 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1799:
-/* Line 1792 of yacc.c  */
-#line 12061 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12058 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39201 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1800:
-/* Line 1792 of yacc.c  */
-#line 12063 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12060 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39207 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1801:
-/* Line 1792 of yacc.c  */
-#line 12065 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12062 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39213 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1802:
-/* Line 1792 of yacc.c  */
-#line 12067 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12064 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39219 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1803:
-/* Line 1792 of yacc.c  */
-#line 12069 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12066 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39225 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1804:
-/* Line 1792 of yacc.c  */
-#line 12071 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12068 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39231 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1805:
-/* Line 1792 of yacc.c  */
-#line 12073 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12070 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39237 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1806:
-/* Line 1792 of yacc.c  */
-#line 12075 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12072 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39243 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1807:
-/* Line 1792 of yacc.c  */
-#line 12077 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12074 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39249 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1808:
-/* Line 1792 of yacc.c  */
-#line 12079 "gram.y"
-    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12076 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39255 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1809:
-/* Line 1792 of yacc.c  */
-#line 12081 "gram.y"
-    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
+#line 12078 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 39261 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1810:
-/* Line 1792 of yacc.c  */
-#line 12083 "gram.y"
-    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
+#line 12080 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
+#line 39267 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1811:
-/* Line 1792 of yacc.c  */
-#line 12085 "gram.y"
-    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); }
+#line 12082 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
+#line 39273 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1812:
-/* Line 1792 of yacc.c  */
-#line 12087 "gram.y"
+#line 12084 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
+                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
                                }
+#line 39281 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1813:
-/* Line 1792 of yacc.c  */
-#line 12091 "gram.y"
+#line 12088 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeNotExpr((Node *) makeSimpleA_Expr(AEXPR_DISTINCT,
-                                                                                                                          "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])),
-                                                                        (yylsp[(2) - (6)]));
+                    (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
                                }
+#line 39289 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1814:
-/* Line 1792 of yacc.c  */
-#line 12097 "gram.y"
+#line 12092 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
+                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
                                }
+#line 39297 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1815:
-/* Line 1792 of yacc.c  */
-#line 12101 "gram.y"
+#line 12096 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
+                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
                                }
+#line 39305 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1816:
-/* Line 1792 of yacc.c  */
-#line 12105 "gram.y"
+#line 12100 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
-                                                                        list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
+                                                                        list_make1((yyvsp[-2].node)), (yylsp[-1]));
                                }
+#line 39314 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1817:
-/* Line 1792 of yacc.c  */
-#line 12110 "gram.y"
+#line 12105 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
-                                                                                                list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
-                                                                        (yylsp[(2) - (4)]));
+                                                                                                list_make1((yyvsp[-3].node)), (yylsp[-2])),
+                                                                        (yylsp[-2]));
                                }
+#line 39324 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1818:
-/* Line 1792 of yacc.c  */
-#line 12125 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 12120 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 39330 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1819:
-/* Line 1792 of yacc.c  */
-#line 12126 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 12121 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 39336 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1820:
-/* Line 1792 of yacc.c  */
-#line 12128 "gram.y"
+#line 12123 "gram.y" /* yacc.c:1646  */
     {
                                        ParamRef *p = makeNode(ParamRef);
-                                       p->number = (yyvsp[(1) - (2)].ival);
-                                       p->location = (yylsp[(1) - (2)]);
-                                       if ((yyvsp[(2) - (2)].list))
+                                       p->number = (yyvsp[-1].ival);
+                                       p->location = (yylsp[-1]);
+                                       if ((yyvsp[0].list))
                                        {
                                                A_Indirection *n = makeNode(A_Indirection);
                                                n->arg = (Node *) p;
-                                               n->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
+                                               n->indirection = check_indirection((yyvsp[0].list), yyscanner);
                                                (yyval.node) = (Node *) n;
                                        }
                                        else
                                                (yyval.node) = (Node *) p;
                                }
+#line 39355 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1821:
-/* Line 1792 of yacc.c  */
-#line 12143 "gram.y"
+#line 12138 "gram.y" /* yacc.c:1646  */
     {
-                                       if ((yyvsp[(4) - (4)].list))
+                                       if ((yyvsp[0].list))
                                        {
                                                A_Indirection *n = makeNode(A_Indirection);
-                                               n->arg = (yyvsp[(2) - (4)].node);
-                                               n->indirection = check_indirection((yyvsp[(4) - (4)].list), yyscanner);
+                                               n->arg = (yyvsp[-2].node);
+                                               n->indirection = check_indirection((yyvsp[0].list), yyscanner);
                                                (yyval.node) = (Node *)n;
                                        }
                                        else if (operator_precedence_warning)
@@ -40698,43 +39380,43 @@ yyreduce:
                                                 * we'd just as soon not waste cycles on dummy parse
                                                 * nodes if we don't have to.
                                                 */
-                                               (yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[(2) - (4)].node), NULL, (yylsp[(1) - (4)]));
+                                               (yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[-2].node), NULL, (yylsp[-3]));
                                        }
                                        else
-                                               (yyval.node) = (yyvsp[(2) - (4)].node);
+                                               (yyval.node) = (yyvsp[-2].node);
                                }
+#line 39389 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1822:
-/* Line 1792 of yacc.c  */
-#line 12173 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 12168 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 39395 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1823:
-/* Line 1792 of yacc.c  */
-#line 12175 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 12170 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 39401 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1824:
-/* Line 1792 of yacc.c  */
-#line 12177 "gram.y"
+#line 12172 "gram.y" /* yacc.c:1646  */
     {
                                        SubLink *n = makeNode(SubLink);
                                        n->subLinkType = EXPR_SUBLINK;
                                        n->subLinkId = 0;
                                        n->testexpr = NULL;
                                        n->operName = NIL;
-                                       n->subselect = (yyvsp[(1) - (1)].node);
-                                       n->location = (yylsp[(1) - (1)]);
+                                       n->subselect = (yyvsp[0].node);
+                                       n->location = (yylsp[0]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 39416 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1825:
-/* Line 1792 of yacc.c  */
-#line 12188 "gram.y"
+#line 12183 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Because the select_with_parens nonterminal is designed
@@ -40752,163 +39434,163 @@ yyreduce:
                                        n->subLinkId = 0;
                                        n->testexpr = NULL;
                                        n->operName = NIL;
-                                       n->subselect = (yyvsp[(1) - (2)].node);
-                                       n->location = (yylsp[(1) - (2)]);
+                                       n->subselect = (yyvsp[-1].node);
+                                       n->location = (yylsp[-1]);
                                        a->arg = (Node *)n;
-                                       a->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
+                                       a->indirection = check_indirection((yyvsp[0].list), yyscanner);
                                        (yyval.node) = (Node *)a;
                                }
+#line 39444 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1826:
-/* Line 1792 of yacc.c  */
-#line 12212 "gram.y"
+#line 12207 "gram.y" /* yacc.c:1646  */
     {
                                        SubLink *n = makeNode(SubLink);
                                        n->subLinkType = EXISTS_SUBLINK;
                                        n->subLinkId = 0;
                                        n->testexpr = NULL;
                                        n->operName = NIL;
-                                       n->subselect = (yyvsp[(2) - (2)].node);
-                                       n->location = (yylsp[(1) - (2)]);
+                                       n->subselect = (yyvsp[0].node);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 39459 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1827:
-/* Line 1792 of yacc.c  */
-#line 12223 "gram.y"
+#line 12218 "gram.y" /* yacc.c:1646  */
     {
                                        SubLink *n = makeNode(SubLink);
                                        n->subLinkType = ARRAY_SUBLINK;
                                        n->subLinkId = 0;
                                        n->testexpr = NULL;
                                        n->operName = NIL;
-                                       n->subselect = (yyvsp[(2) - (2)].node);
-                                       n->location = (yylsp[(1) - (2)]);
+                                       n->subselect = (yyvsp[0].node);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 39474 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1828:
-/* Line 1792 of yacc.c  */
-#line 12234 "gram.y"
+#line 12229 "gram.y" /* yacc.c:1646  */
     {
-                                       A_ArrayExpr *n = (A_ArrayExpr *) (yyvsp[(2) - (2)].node);
+                                       A_ArrayExpr *n = (A_ArrayExpr *) (yyvsp[0].node);
                                        Assert(IsA(n, A_ArrayExpr));
                                        /* point outermost A_ArrayExpr to the ARRAY keyword */
-                                       n->location = (yylsp[(1) - (2)]);
+                                       n->location = (yylsp[-1]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 39486 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1829:
-/* Line 1792 of yacc.c  */
-#line 12242 "gram.y"
+#line 12237 "gram.y" /* yacc.c:1646  */
     {
                                        RowExpr *r = makeNode(RowExpr);
-                                       r->args = (yyvsp[(1) - (1)].list);
+                                       r->args = (yyvsp[0].list);
                                        r->row_typeid = InvalidOid;     /* not analyzed yet */
                                        r->colnames = NIL;      /* to be filled in during analysis */
                                        r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
-                                       r->location = (yylsp[(1) - (1)]);
+                                       r->location = (yylsp[0]);
                                        (yyval.node) = (Node *)r;
                                }
+#line 39500 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1830:
-/* Line 1792 of yacc.c  */
-#line 12252 "gram.y"
+#line 12247 "gram.y" /* yacc.c:1646  */
     {
                                        RowExpr *r = makeNode(RowExpr);
-                                       r->args = (yyvsp[(1) - (1)].list);
+                                       r->args = (yyvsp[0].list);
                                        r->row_typeid = InvalidOid;     /* not analyzed yet */
                                        r->colnames = NIL;      /* to be filled in during analysis */
                                        r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
-                                       r->location = (yylsp[(1) - (1)]);
+                                       r->location = (yylsp[0]);
                                        (yyval.node) = (Node *)r;
                                }
+#line 39514 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1831:
-/* Line 1792 of yacc.c  */
-#line 12262 "gram.y"
+#line 12257 "gram.y" /* yacc.c:1646  */
     {
                                  GroupingFunc *g = makeNode(GroupingFunc);
-                                 g->args = (yyvsp[(3) - (4)].list);
-                                 g->location = (yylsp[(1) - (4)]);
+                                 g->args = (yyvsp[-1].list);
+                                 g->location = (yylsp[-3]);
                                  (yyval.node) = (Node *)g;
                          }
+#line 39525 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1832:
-/* Line 1792 of yacc.c  */
-#line 12271 "gram.y"
+#line 12266 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall((yyvsp[(1) - (3)].list), NIL, (yylsp[(1) - (3)]));
+                                       (yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
                                }
+#line 39533 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1833:
-/* Line 1792 of yacc.c  */
-#line 12275 "gram.y"
+#line 12270 "gram.y" /* yacc.c:1646  */
     {
-                                       FuncCall *n = makeFuncCall((yyvsp[(1) - (5)].list), (yyvsp[(3) - (5)].list), (yylsp[(1) - (5)]));
-                                       n->agg_order = (yyvsp[(4) - (5)].list);
+                                       FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
+                                       n->agg_order = (yyvsp[-1].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 39543 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1834:
-/* Line 1792 of yacc.c  */
-#line 12281 "gram.y"
+#line 12276 "gram.y" /* yacc.c:1646  */
     {
-                                       FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), list_make1((yyvsp[(4) - (6)].node)), (yylsp[(1) - (6)]));
+                                       FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)), (yylsp[-5]));
                                        n->func_variadic = TRUE;
-                                       n->agg_order = (yyvsp[(5) - (6)].list);
+                                       n->agg_order = (yyvsp[-1].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 39554 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1835:
-/* Line 1792 of yacc.c  */
-#line 12288 "gram.y"
+#line 12283 "gram.y" /* yacc.c:1646  */
     {
-                                       FuncCall *n = makeFuncCall((yyvsp[(1) - (8)].list), lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node)), (yylsp[(1) - (8)]));
+                                       FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)), (yylsp[-7]));
                                        n->func_variadic = TRUE;
-                                       n->agg_order = (yyvsp[(7) - (8)].list);
+                                       n->agg_order = (yyvsp[-1].list);
                                        (yyval.node) = (Node *)n;
                                }
+#line 39565 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1836:
-/* Line 1792 of yacc.c  */
-#line 12295 "gram.y"
+#line 12290 "gram.y" /* yacc.c:1646  */
     {
-                                       FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), (yylsp[(1) - (6)]));
-                                       n->agg_order = (yyvsp[(5) - (6)].list);
+                                       FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
+                                       n->agg_order = (yyvsp[-1].list);
                                        /* Ideally we'd mark the FuncCall node to indicate
                                         * "must be an aggregate", but there's no provision
                                         * for that in FuncCall at the moment.
                                         */
                                        (yyval.node) = (Node *)n;
                                }
+#line 39579 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1837:
-/* Line 1792 of yacc.c  */
-#line 12305 "gram.y"
+#line 12300 "gram.y" /* yacc.c:1646  */
     {
-                                       FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), (yylsp[(1) - (6)]));
-                                       n->agg_order = (yyvsp[(5) - (6)].list);
+                                       FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
+                                       n->agg_order = (yyvsp[-1].list);
                                        n->agg_distinct = TRUE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 39590 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1838:
-/* Line 1792 of yacc.c  */
-#line 12312 "gram.y"
+#line 12307 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * We consider AGGREGATE(*) to invoke a parameterless
@@ -40920,17 +39602,17 @@ yyreduce:
                                         * so that later processing can detect what the argument
                                         * really was.
                                         */
-                                       FuncCall *n = makeFuncCall((yyvsp[(1) - (4)].list), NIL, (yylsp[(1) - (4)]));
+                                       FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL, (yylsp[-3]));
                                        n->agg_star = TRUE;
                                        (yyval.node) = (Node *)n;
                                }
+#line 39610 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1839:
-/* Line 1792 of yacc.c  */
-#line 12340 "gram.y"
+#line 12335 "gram.y" /* yacc.c:1646  */
     {
-                                       FuncCall *n = (FuncCall *) (yyvsp[(1) - (4)].node);
+                                       FuncCall *n = (FuncCall *) (yyvsp[-3].node);
                                        /*
                                         * The order clause for WITHIN GROUP and the one for
                                         * plain-aggregate ORDER BY share a field, so we have to
@@ -40939,63 +39621,63 @@ yyreduce:
                                         * location.  Other consistency checks are deferred to
                                         * parse analysis.
                                         */
-                                       if ((yyvsp[(2) - (4)].list) != NIL)
+                                       if ((yyvsp[-2].list) != NIL)
                                        {
                                                if (n->agg_order != NIL)
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                                         errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
-                                                                        parser_errposition((yylsp[(2) - (4)]))));
+                                                                        parser_errposition((yylsp[-2]))));
                                                if (n->agg_distinct)
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                                         errmsg("cannot use DISTINCT with WITHIN GROUP"),
-                                                                        parser_errposition((yylsp[(2) - (4)]))));
+                                                                        parser_errposition((yylsp[-2]))));
                                                if (n->func_variadic)
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                                         errmsg("cannot use VARIADIC with WITHIN GROUP"),
-                                                                        parser_errposition((yylsp[(2) - (4)]))));
-                                               n->agg_order = (yyvsp[(2) - (4)].list);
+                                                                        parser_errposition((yylsp[-2]))));
+                                               n->agg_order = (yyvsp[-2].list);
                                                n->agg_within_group = TRUE;
                                        }
-                                       n->agg_filter = (yyvsp[(3) - (4)].node);
-                                       n->over = (yyvsp[(4) - (4)].windef);
+                                       n->agg_filter = (yyvsp[-1].node);
+                                       n->over = (yyvsp[0].windef);
                                        (yyval.node) = (Node *) n;
                                }
+#line 39649 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1840:
-/* Line 1792 of yacc.c  */
-#line 12375 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 12370 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 39655 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1841:
-/* Line 1792 of yacc.c  */
-#line 12385 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 12380 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 39661 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1842:
-/* Line 1792 of yacc.c  */
-#line 12386 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 12381 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 39667 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1843:
-/* Line 1792 of yacc.c  */
-#line 12394 "gram.y"
+#line 12389 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
-                                                                                          list_make1((yyvsp[(4) - (5)].node)),
-                                                                                          (yylsp[(1) - (5)]));
+                                                                                          list_make1((yyvsp[-1].node)),
+                                                                                          (yylsp[-4]));
                                }
+#line 39677 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1844:
-/* Line 1792 of yacc.c  */
-#line 12400 "gram.y"
+#line 12395 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Translate as "'now'::text::date".
@@ -41019,13 +39701,13 @@ yyreduce:
                                         */
                                        Node *n;
                                        n = makeStringConstCast("now", -1, SystemTypeName("text"));
-                                       (yyval.node) = makeTypeCast(n, SystemTypeName("date"), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeTypeCast(n, SystemTypeName("date"), (yylsp[0]));
                                }
+#line 39707 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1845:
-/* Line 1792 of yacc.c  */
-#line 12426 "gram.y"
+#line 12421 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Translate as "'now'::text::timetz".
@@ -41033,13 +39715,13 @@ yyreduce:
                                         */
                                        Node *n;
                                        n = makeStringConstCast("now", -1, SystemTypeName("text"));
-                                       (yyval.node) = makeTypeCast(n, SystemTypeName("timetz"), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeTypeCast(n, SystemTypeName("timetz"), (yylsp[0]));
                                }
+#line 39721 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1846:
-/* Line 1792 of yacc.c  */
-#line 12436 "gram.y"
+#line 12431 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Translate as "'now'::text::timetz(n)".
@@ -41049,26 +39731,26 @@ yyreduce:
                                        TypeName *d;
                                        n = makeStringConstCast("now", -1, SystemTypeName("text"));
                                        d = SystemTypeName("timetz");
-                                       d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
-                                       (yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
+                                       d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+                                       (yyval.node) = makeTypeCast(n, d, (yylsp[-3]));
                                }
+#line 39738 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1847:
-/* Line 1792 of yacc.c  */
-#line 12449 "gram.y"
+#line 12444 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Translate as "now()", since we have a function that
                                         * does exactly what is needed.
                                         */
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("now"), NIL, (yylsp[(1) - (1)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("now"), NIL, (yylsp[0]));
                                }
+#line 39750 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1848:
-/* Line 1792 of yacc.c  */
-#line 12457 "gram.y"
+#line 12452 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Translate as "'now'::text::timestamptz(n)".
@@ -41078,14 +39760,14 @@ yyreduce:
                                        TypeName *d;
                                        n = makeStringConstCast("now", -1, SystemTypeName("text"));
                                        d = SystemTypeName("timestamptz");
-                                       d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
-                                       (yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
+                                       d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+                                       (yyval.node) = makeTypeCast(n, d, (yylsp[-3]));
                                }
+#line 39767 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1849:
-/* Line 1792 of yacc.c  */
-#line 12470 "gram.y"
+#line 12465 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Translate as "'now'::text::time".
@@ -41093,13 +39775,13 @@ yyreduce:
                                         */
                                        Node *n;
                                        n = makeStringConstCast("now", -1, SystemTypeName("text"));
-                                       (yyval.node) = makeTypeCast((Node *)n, SystemTypeName("time"), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeTypeCast((Node *)n, SystemTypeName("time"), (yylsp[0]));
                                }
+#line 39781 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1850:
-/* Line 1792 of yacc.c  */
-#line 12480 "gram.y"
+#line 12475 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Translate as "'now'::text::time(n)".
@@ -41109,14 +39791,14 @@ yyreduce:
                                        TypeName *d;
                                        n = makeStringConstCast("now", -1, SystemTypeName("text"));
                                        d = SystemTypeName("time");
-                                       d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
-                                       (yyval.node) = makeTypeCast((Node *)n, d, (yylsp[(1) - (4)]));
+                                       d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+                                       (yyval.node) = makeTypeCast((Node *)n, d, (yylsp[-3]));
                                }
+#line 39798 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1851:
-/* Line 1792 of yacc.c  */
-#line 12493 "gram.y"
+#line 12488 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Translate as "'now'::text::timestamp".
@@ -41124,13 +39806,13 @@ yyreduce:
                                         */
                                        Node *n;
                                        n = makeStringConstCast("now", -1, SystemTypeName("text"));
-                                       (yyval.node) = makeTypeCast(n, SystemTypeName("timestamp"), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeTypeCast(n, SystemTypeName("timestamp"), (yylsp[0]));
                                }
+#line 39812 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1852:
-/* Line 1792 of yacc.c  */
-#line 12503 "gram.y"
+#line 12498 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Translate as "'now'::text::timestamp(n)".
@@ -41140,109 +39822,109 @@ yyreduce:
                                        TypeName *d;
                                        n = makeStringConstCast("now", -1, SystemTypeName("text"));
                                        d = SystemTypeName("timestamp");
-                                       d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
-                                       (yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
+                                       d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+                                       (yyval.node) = makeTypeCast(n, d, (yylsp[-3]));
                                }
+#line 39829 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1853:
-/* Line 1792 of yacc.c  */
-#line 12516 "gram.y"
+#line 12511 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[0]));
                                }
+#line 39837 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1854:
-/* Line 1792 of yacc.c  */
-#line 12520 "gram.y"
+#line 12515 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[0]));
                                }
+#line 39845 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1855:
-/* Line 1792 of yacc.c  */
-#line 12524 "gram.y"
+#line 12519 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("session_user"), NIL, (yylsp[(1) - (1)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("session_user"), NIL, (yylsp[0]));
                                }
+#line 39853 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1856:
-/* Line 1792 of yacc.c  */
-#line 12528 "gram.y"
+#line 12523 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[0]));
                                }
+#line 39861 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1857:
-/* Line 1792 of yacc.c  */
-#line 12532 "gram.y"
+#line 12527 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_database"), NIL, (yylsp[(1) - (1)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_database"), NIL, (yylsp[0]));
                                }
+#line 39869 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1858:
-/* Line 1792 of yacc.c  */
-#line 12536 "gram.y"
+#line 12531 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_schema"), NIL, (yylsp[(1) - (1)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_schema"), NIL, (yylsp[0]));
                                }
+#line 39877 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1859:
-/* Line 1792 of yacc.c  */
-#line 12540 "gram.y"
-    { (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); }
+#line 12535 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
+#line 39883 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1860:
-/* Line 1792 of yacc.c  */
-#line 12542 "gram.y"
+#line 12537 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
                                }
+#line 39891 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1861:
-/* Line 1792 of yacc.c  */
-#line 12546 "gram.y"
+#line 12541 "gram.y" /* yacc.c:1646  */
     {
                                        /* overlay(A PLACING B FROM C FOR D) is converted to
                                         * overlay(A, B, C, D)
                                         * overlay(A PLACING B FROM C) is converted to
                                         * overlay(A, B, C)
                                         */
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3]));
                                }
+#line 39904 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1862:
-/* Line 1792 of yacc.c  */
-#line 12555 "gram.y"
+#line 12550 "gram.y" /* yacc.c:1646  */
     {
                                        /* position(A in B) is converted to position(B, A) */
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
                                }
+#line 39913 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1863:
-/* Line 1792 of yacc.c  */
-#line 12560 "gram.y"
+#line 12555 "gram.y" /* yacc.c:1646  */
     {
                                        /* substring(A from B for C) is converted to
                                         * substring(A, B, C) - thomas 2000-11-28
                                         */
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3]));
                                }
+#line 39924 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1864:
-/* Line 1792 of yacc.c  */
-#line 12567 "gram.y"
+#line 12562 "gram.y" /* yacc.c:1646  */
     {
                                        /* TREAT(expr AS target) converts expr of a particular type to target,
                                         * which is defined to be a subtype of the original expression.
@@ -41253,503 +39935,503 @@ yyreduce:
                                         * Convert SystemTypeName() to SystemFuncName() even though
                                         * at the moment they result in the same thing.
                                         */
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[(5) - (6)].typnam)->names))->val.str),
-                                                                                               list_make1((yyvsp[(3) - (6)].node)),
-                                                                                               (yylsp[(1) - (6)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str),
+                                                                                               list_make1((yyvsp[-3].node)),
+                                                                                               (yylsp[-5]));
                                }
+#line 39943 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1865:
-/* Line 1792 of yacc.c  */
-#line 12582 "gram.y"
+#line 12577 "gram.y" /* yacc.c:1646  */
     {
                                        /* various trim expressions are defined in SQL
                                         * - thomas 1997-07-19
                                         */
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
                                }
+#line 39954 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1866:
-/* Line 1792 of yacc.c  */
-#line 12589 "gram.y"
+#line 12584 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
                                }
+#line 39962 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1867:
-/* Line 1792 of yacc.c  */
-#line 12593 "gram.y"
+#line 12588 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
                                }
+#line 39970 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1868:
-/* Line 1792 of yacc.c  */
-#line 12597 "gram.y"
+#line 12592 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
                                }
+#line 39978 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1869:
-/* Line 1792 of yacc.c  */
-#line 12601 "gram.y"
+#line 12596 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)]));
+                                       (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
                                }
+#line 39986 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1870:
-/* Line 1792 of yacc.c  */
-#line 12605 "gram.y"
+#line 12600 "gram.y" /* yacc.c:1646  */
     {
                                        CoalesceExpr *c = makeNode(CoalesceExpr);
-                                       c->args = (yyvsp[(3) - (4)].list);
-                                       c->location = (yylsp[(1) - (4)]);
+                                       c->args = (yyvsp[-1].list);
+                                       c->location = (yylsp[-3]);
                                        (yyval.node) = (Node *)c;
                                }
+#line 39997 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1871:
-/* Line 1792 of yacc.c  */
-#line 12612 "gram.y"
+#line 12607 "gram.y" /* yacc.c:1646  */
     {
                                        MinMaxExpr *v = makeNode(MinMaxExpr);
-                                       v->args = (yyvsp[(3) - (4)].list);
+                                       v->args = (yyvsp[-1].list);
                                        v->op = IS_GREATEST;
-                                       v->location = (yylsp[(1) - (4)]);
+                                       v->location = (yylsp[-3]);
                                        (yyval.node) = (Node *)v;
                                }
+#line 40009 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1872:
-/* Line 1792 of yacc.c  */
-#line 12620 "gram.y"
+#line 12615 "gram.y" /* yacc.c:1646  */
     {
                                        MinMaxExpr *v = makeNode(MinMaxExpr);
-                                       v->args = (yyvsp[(3) - (4)].list);
+                                       v->args = (yyvsp[-1].list);
                                        v->op = IS_LEAST;
-                                       v->location = (yylsp[(1) - (4)]);
+                                       v->location = (yylsp[-3]);
                                        (yyval.node) = (Node *)v;
                                }
+#line 40021 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1873:
-/* Line 1792 of yacc.c  */
-#line 12628 "gram.y"
+#line 12623 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
+                                       (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
                                }
+#line 40029 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1874:
-/* Line 1792 of yacc.c  */
-#line 12632 "gram.y"
+#line 12627 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)]));
+                                       (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
                                }
+#line 40037 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1875:
-/* Line 1792 of yacc.c  */
-#line 12636 "gram.y"
+#line 12631 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)]));
+                                       (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
                                }
+#line 40045 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1876:
-/* Line 1792 of yacc.c  */
-#line 12640 "gram.y"
+#line 12635 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)]));
+                                       (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
                                }
+#line 40053 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1877:
-/* Line 1792 of yacc.c  */
-#line 12644 "gram.y"
+#line 12639 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)]));
+                                       (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
                                }
+#line 40061 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1878:
-/* Line 1792 of yacc.c  */
-#line 12648 "gram.y"
+#line 12643 "gram.y" /* yacc.c:1646  */
     {
                                        /* xmlexists(A PASSING [BY REF] B [BY REF]) is
                                         * converted to xmlexists(A, B)*/
-                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)), (yylsp[(1) - (5)]));
+                                       (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-4]));
                                }
+#line 40071 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1879:
-/* Line 1792 of yacc.c  */
-#line 12654 "gram.y"
+#line 12649 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)]));
+                                       (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
                                }
+#line 40079 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1880:
-/* Line 1792 of yacc.c  */
-#line 12658 "gram.y"
+#line 12653 "gram.y" /* yacc.c:1646  */
     {
                                        XmlExpr *x = (XmlExpr *)
                                                makeXmlExpr(IS_XMLPARSE, NULL, NIL,
-                                                                       list_make2((yyvsp[(4) - (6)].node), makeBoolAConst((yyvsp[(5) - (6)].boolean), -1)),
-                                                                       (yylsp[(1) - (6)]));
-                                       x->xmloption = (yyvsp[(3) - (6)].ival);
+                                                                       list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
+                                                                       (yylsp[-5]));
+                                       x->xmloption = (yyvsp[-3].ival);
                                        (yyval.node) = (Node *)x;
                                }
+#line 40092 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1881:
-/* Line 1792 of yacc.c  */
-#line 12667 "gram.y"
+#line 12662 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)]));
+                                       (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
                                }
+#line 40100 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1882:
-/* Line 1792 of yacc.c  */
-#line 12671 "gram.y"
+#line 12666 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
+                                       (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
                                }
+#line 40108 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1883:
-/* Line 1792 of yacc.c  */
-#line 12675 "gram.y"
+#line 12670 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
-                                                                        list_make3((yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
+                                                                        list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
                                }
+#line 40117 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1884:
-/* Line 1792 of yacc.c  */
-#line 12680 "gram.y"
+#line 12675 "gram.y" /* yacc.c:1646  */
     {
                                        XmlSerialize *n = makeNode(XmlSerialize);
-                                       n->xmloption = (yyvsp[(3) - (7)].ival);
-                                       n->expr = (yyvsp[(4) - (7)].node);
-                                       n->typeName = (yyvsp[(6) - (7)].typnam);
-                                       n->location = (yylsp[(1) - (7)]);
+                                       n->xmloption = (yyvsp[-4].ival);
+                                       n->expr = (yyvsp[-3].node);
+                                       n->typeName = (yyvsp[-1].typnam);
+                                       n->location = (yylsp[-6]);
                                        (yyval.node) = (Node *)n;
                                }
+#line 40130 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1885:
-/* Line 1792 of yacc.c  */
-#line 12694 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 12689 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 40136 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1886:
-/* Line 1792 of yacc.c  */
-#line 12696 "gram.y"
+#line 12691 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = makeNullAConst(-1); }
+#line 40142 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1887:
-/* Line 1792 of yacc.c  */
-#line 12700 "gram.y"
+#line 12695 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
+#line 40148 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1888:
-/* Line 1792 of yacc.c  */
-#line 12702 "gram.y"
+#line 12697 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
+#line 40154 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1889:
-/* Line 1792 of yacc.c  */
-#line 12704 "gram.y"
+#line 12699 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
+#line 40160 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1890:
-/* Line 1792 of yacc.c  */
-#line 12706 "gram.y"
+#line 12701 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
+#line 40166 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1891:
-/* Line 1792 of yacc.c  */
-#line 12709 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (4)].list); }
+#line 12704 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 40172 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1892:
-/* Line 1792 of yacc.c  */
-#line 12712 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); }
+#line 12707 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].target)); }
+#line 40178 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1893:
-/* Line 1792 of yacc.c  */
-#line 12713 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); }
+#line 12708 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
+#line 40184 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1894:
-/* Line 1792 of yacc.c  */
-#line 12717 "gram.y"
+#line 12712 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.target) = makeNode(ResTarget);
-                                       (yyval.target)->name = (yyvsp[(3) - (3)].str);
+                                       (yyval.target)->name = (yyvsp[0].str);
                                        (yyval.target)->indirection = NIL;
-                                       (yyval.target)->val = (Node *) (yyvsp[(1) - (3)].node);
-                                       (yyval.target)->location = (yylsp[(1) - (3)]);
+                                       (yyval.target)->val = (Node *) (yyvsp[-2].node);
+                                       (yyval.target)->location = (yylsp[-2]);
                                }
+#line 40196 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1895:
-/* Line 1792 of yacc.c  */
-#line 12725 "gram.y"
+#line 12720 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.target) = makeNode(ResTarget);
                                        (yyval.target)->name = NULL;
                                        (yyval.target)->indirection = NIL;
-                                       (yyval.target)->val = (Node *) (yyvsp[(1) - (1)].node);
-                                       (yyval.target)->location = (yylsp[(1) - (1)]);
+                                       (yyval.target)->val = (Node *) (yyvsp[0].node);
+                                       (yyval.target)->location = (yylsp[0]);
                                }
+#line 40208 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1896:
-/* Line 1792 of yacc.c  */
-#line 12734 "gram.y"
+#line 12729 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = XMLOPTION_DOCUMENT; }
+#line 40214 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1897:
-/* Line 1792 of yacc.c  */
-#line 12735 "gram.y"
+#line 12730 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = XMLOPTION_CONTENT; }
+#line 40220 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1898:
-/* Line 1792 of yacc.c  */
-#line 12738 "gram.y"
+#line 12733 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
+#line 40226 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1899:
-/* Line 1792 of yacc.c  */
-#line 12739 "gram.y"
+#line 12734 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 40232 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1900:
-/* Line 1792 of yacc.c  */
-#line 12740 "gram.y"
+#line 12735 "gram.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
+#line 40238 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1901:
-/* Line 1792 of yacc.c  */
-#line 12746 "gram.y"
+#line 12741 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (yyvsp[(2) - (2)].node);
+                                       (yyval.node) = (yyvsp[0].node);
                                }
+#line 40246 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1902:
-/* Line 1792 of yacc.c  */
-#line 12750 "gram.y"
+#line 12745 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (yyvsp[(2) - (4)].node);
+                                       (yyval.node) = (yyvsp[-2].node);
                                }
+#line 40254 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1903:
-/* Line 1792 of yacc.c  */
-#line 12754 "gram.y"
+#line 12749 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (yyvsp[(4) - (4)].node);
+                                       (yyval.node) = (yyvsp[0].node);
                                }
+#line 40262 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1904:
-/* Line 1792 of yacc.c  */
-#line 12758 "gram.y"
+#line 12753 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (yyvsp[(4) - (6)].node);
+                                       (yyval.node) = (yyvsp[-2].node);
                                }
+#line 40270 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1905:
-/* Line 1792 of yacc.c  */
-#line 12768 "gram.y"
-    { (yyval.list) = (yyvsp[(4) - (5)].list); }
+#line 12763 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 40276 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1906:
-/* Line 1792 of yacc.c  */
-#line 12769 "gram.y"
+#line 12764 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 40282 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1907:
-/* Line 1792 of yacc.c  */
-#line 12773 "gram.y"
-    { (yyval.node) = (yyvsp[(4) - (5)].node); }
+#line 12768 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[-1].node); }
+#line 40288 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1908:
-/* Line 1792 of yacc.c  */
-#line 12774 "gram.y"
+#line 12769 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 40294 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1909:
-/* Line 1792 of yacc.c  */
-#line 12782 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 12777 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 40300 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1910:
-/* Line 1792 of yacc.c  */
-#line 12783 "gram.y"
+#line 12778 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 40306 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1911:
-/* Line 1792 of yacc.c  */
-#line 12787 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); }
+#line 12782 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].windef)); }
+#line 40312 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1912:
-/* Line 1792 of yacc.c  */
-#line 12789 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); }
+#line 12784 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
+#line 40318 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1913:
-/* Line 1792 of yacc.c  */
-#line 12794 "gram.y"
+#line 12789 "gram.y" /* yacc.c:1646  */
     {
-                                       WindowDef *n = (yyvsp[(3) - (3)].windef);
-                                       n->name = (yyvsp[(1) - (3)].str);
+                                       WindowDef *n = (yyvsp[0].windef);
+                                       n->name = (yyvsp[-2].str);
                                        (yyval.windef) = n;
                                }
+#line 40328 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1914:
-/* Line 1792 of yacc.c  */
-#line 12802 "gram.y"
-    { (yyval.windef) = (yyvsp[(2) - (2)].windef); }
+#line 12797 "gram.y" /* yacc.c:1646  */
+    { (yyval.windef) = (yyvsp[0].windef); }
+#line 40334 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1915:
-/* Line 1792 of yacc.c  */
-#line 12804 "gram.y"
+#line 12799 "gram.y" /* yacc.c:1646  */
     {
                                        WindowDef *n = makeNode(WindowDef);
-                                       n->name = (yyvsp[(2) - (2)].str);
+                                       n->name = (yyvsp[0].str);
                                        n->refname = NULL;
                                        n->partitionClause = NIL;
                                        n->orderClause = NIL;
                                        n->frameOptions = FRAMEOPTION_DEFAULTS;
                                        n->startOffset = NULL;
                                        n->endOffset = NULL;
-                                       n->location = (yylsp[(2) - (2)]);
+                                       n->location = (yylsp[0]);
                                        (yyval.windef) = n;
                                }
+#line 40351 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1916:
-/* Line 1792 of yacc.c  */
-#line 12817 "gram.y"
+#line 12812 "gram.y" /* yacc.c:1646  */
     { (yyval.windef) = NULL; }
+#line 40357 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1917:
-/* Line 1792 of yacc.c  */
-#line 12822 "gram.y"
+#line 12817 "gram.y" /* yacc.c:1646  */
     {
                                        WindowDef *n = makeNode(WindowDef);
                                        n->name = NULL;
-                                       n->refname = (yyvsp[(2) - (6)].str);
-                                       n->partitionClause = (yyvsp[(3) - (6)].list);
-                                       n->orderClause = (yyvsp[(4) - (6)].list);
+                                       n->refname = (yyvsp[-4].str);
+                                       n->partitionClause = (yyvsp[-3].list);
+                                       n->orderClause = (yyvsp[-2].list);
                                        /* copy relevant fields of opt_frame_clause */
-                                       n->frameOptions = (yyvsp[(5) - (6)].windef)->frameOptions;
-                                       n->startOffset = (yyvsp[(5) - (6)].windef)->startOffset;
-                                       n->endOffset = (yyvsp[(5) - (6)].windef)->endOffset;
-                                       n->location = (yylsp[(1) - (6)]);
+                                       n->frameOptions = (yyvsp[-1].windef)->frameOptions;
+                                       n->startOffset = (yyvsp[-1].windef)->startOffset;
+                                       n->endOffset = (yyvsp[-1].windef)->endOffset;
+                                       n->location = (yylsp[-5]);
                                        (yyval.windef) = n;
                                }
+#line 40375 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1918:
-/* Line 1792 of yacc.c  */
-#line 12847 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 12842 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 40381 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1919:
-/* Line 1792 of yacc.c  */
-#line 12848 "gram.y"
+#line 12843 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = NULL; }
+#line 40387 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1920:
-/* Line 1792 of yacc.c  */
-#line 12851 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (3)].list); }
+#line 12846 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 40393 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1921:
-/* Line 1792 of yacc.c  */
-#line 12852 "gram.y"
+#line 12847 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 40399 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1922:
-/* Line 1792 of yacc.c  */
-#line 12864 "gram.y"
+#line 12859 "gram.y" /* yacc.c:1646  */
     {
-                                       WindowDef *n = (yyvsp[(2) - (2)].windef);
+                                       WindowDef *n = (yyvsp[0].windef);
                                        n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
                                        if (n->frameOptions & (FRAMEOPTION_START_VALUE_PRECEDING |
                                                                                   FRAMEOPTION_END_VALUE_PRECEDING))
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                                 errmsg("RANGE PRECEDING is only supported with UNBOUNDED"),
-                                                                parser_errposition((yylsp[(1) - (2)]))));
+                                                                parser_errposition((yylsp[-1]))));
                                        if (n->frameOptions & (FRAMEOPTION_START_VALUE_FOLLOWING |
                                                                                   FRAMEOPTION_END_VALUE_FOLLOWING))
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                                 errmsg("RANGE FOLLOWING is only supported with UNBOUNDED"),
-                                                                parser_errposition((yylsp[(1) - (2)]))));
+                                                                parser_errposition((yylsp[-1]))));
                                        (yyval.windef) = n;
                                }
+#line 40421 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1923:
-/* Line 1792 of yacc.c  */
-#line 12882 "gram.y"
+#line 12877 "gram.y" /* yacc.c:1646  */
     {
-                                       WindowDef *n = (yyvsp[(2) - (2)].windef);
+                                       WindowDef *n = (yyvsp[0].windef);
                                        n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
                                        (yyval.windef) = n;
                                }
+#line 40431 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1924:
-/* Line 1792 of yacc.c  */
-#line 12888 "gram.y"
+#line 12883 "gram.y" /* yacc.c:1646  */
     {
                                        WindowDef *n = makeNode(WindowDef);
                                        n->frameOptions = FRAMEOPTION_DEFAULTS;
@@ -41757,35 +40439,35 @@ yyreduce:
                                        n->endOffset = NULL;
                                        (yyval.windef) = n;
                                }
+#line 40443 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1925:
-/* Line 1792 of yacc.c  */
-#line 12898 "gram.y"
+#line 12893 "gram.y" /* yacc.c:1646  */
     {
-                                       WindowDef *n = (yyvsp[(1) - (1)].windef);
+                                       WindowDef *n = (yyvsp[0].windef);
                                        /* reject invalid cases */
                                        if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_WINDOWING_ERROR),
                                                                 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
-                                                                parser_errposition((yylsp[(1) - (1)]))));
+                                                                parser_errposition((yylsp[0]))));
                                        if (n->frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_WINDOWING_ERROR),
                                                                 errmsg("frame starting from following row cannot end with current row"),
-                                                                parser_errposition((yylsp[(1) - (1)]))));
+                                                                parser_errposition((yylsp[0]))));
                                        n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
                                        (yyval.windef) = n;
                                }
+#line 40464 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1926:
-/* Line 1792 of yacc.c  */
-#line 12915 "gram.y"
+#line 12910 "gram.y" /* yacc.c:1646  */
     {
-                                       WindowDef *n1 = (yyvsp[(2) - (4)].windef);
-                                       WindowDef *n2 = (yyvsp[(4) - (4)].windef);
+                                       WindowDef *n1 = (yyvsp[-2].windef);
+                                       WindowDef *n2 = (yyvsp[0].windef);
                                        /* form merged options */
                                        int             frameOptions = n1->frameOptions;
                                        /* shift converts START_ options to END_ options */
@@ -41796,34 +40478,34 @@ yyreduce:
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_WINDOWING_ERROR),
                                                                 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
-                                                                parser_errposition((yylsp[(2) - (4)]))));
+                                                                parser_errposition((yylsp[-2]))));
                                        if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_WINDOWING_ERROR),
                                                                 errmsg("frame end cannot be UNBOUNDED PRECEDING"),
-                                                                parser_errposition((yylsp[(4) - (4)]))));
+                                                                parser_errposition((yylsp[0]))));
                                        if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
                                                (frameOptions & FRAMEOPTION_END_VALUE_PRECEDING))
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_WINDOWING_ERROR),
                                                                 errmsg("frame starting from current row cannot have preceding rows"),
-                                                                parser_errposition((yylsp[(4) - (4)]))));
+                                                                parser_errposition((yylsp[0]))));
                                        if ((frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING) &&
                                                (frameOptions & (FRAMEOPTION_END_VALUE_PRECEDING |
                                                                                 FRAMEOPTION_END_CURRENT_ROW)))
                                                ereport(ERROR,
                                                                (errcode(ERRCODE_WINDOWING_ERROR),
                                                                 errmsg("frame starting from following row cannot have preceding rows"),
-                                                                parser_errposition((yylsp[(4) - (4)]))));
+                                                                parser_errposition((yylsp[0]))));
                                        n1->frameOptions = frameOptions;
                                        n1->endOffset = n2->startOffset;
                                        (yyval.windef) = n1;
                                }
+#line 40505 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1927:
-/* Line 1792 of yacc.c  */
-#line 12960 "gram.y"
+#line 12955 "gram.y" /* yacc.c:1646  */
     {
                                        WindowDef *n = makeNode(WindowDef);
                                        n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
@@ -41831,11 +40513,11 @@ yyreduce:
                                        n->endOffset = NULL;
                                        (yyval.windef) = n;
                                }
+#line 40517 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1928:
-/* Line 1792 of yacc.c  */
-#line 12968 "gram.y"
+#line 12963 "gram.y" /* yacc.c:1646  */
     {
                                        WindowDef *n = makeNode(WindowDef);
                                        n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
@@ -41843,11 +40525,11 @@ yyreduce:
                                        n->endOffset = NULL;
                                        (yyval.windef) = n;
                                }
+#line 40529 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1929:
-/* Line 1792 of yacc.c  */
-#line 12976 "gram.y"
+#line 12971 "gram.y" /* yacc.c:1646  */
     {
                                        WindowDef *n = makeNode(WindowDef);
                                        n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
@@ -41855,468 +40537,468 @@ yyreduce:
                                        n->endOffset = NULL;
                                        (yyval.windef) = n;
                                }
+#line 40541 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1930:
-/* Line 1792 of yacc.c  */
-#line 12984 "gram.y"
+#line 12979 "gram.y" /* yacc.c:1646  */
     {
                                        WindowDef *n = makeNode(WindowDef);
                                        n->frameOptions = FRAMEOPTION_START_VALUE_PRECEDING;
-                                       n->startOffset = (yyvsp[(1) - (2)].node);
+                                       n->startOffset = (yyvsp[-1].node);
                                        n->endOffset = NULL;
                                        (yyval.windef) = n;
                                }
+#line 40553 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1931:
-/* Line 1792 of yacc.c  */
-#line 12992 "gram.y"
+#line 12987 "gram.y" /* yacc.c:1646  */
     {
                                        WindowDef *n = makeNode(WindowDef);
                                        n->frameOptions = FRAMEOPTION_START_VALUE_FOLLOWING;
-                                       n->startOffset = (yyvsp[(1) - (2)].node);
+                                       n->startOffset = (yyvsp[-1].node);
                                        n->endOffset = NULL;
                                        (yyval.windef) = n;
                                }
+#line 40565 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1932:
-/* Line 1792 of yacc.c  */
-#line 13012 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (4)].list); }
+#line 13007 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 40571 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1933:
-/* Line 1792 of yacc.c  */
-#line 13013 "gram.y"
+#line 13008 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 40577 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1934:
-/* Line 1792 of yacc.c  */
-#line 13014 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); }
+#line 13009 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
+#line 40583 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1935:
-/* Line 1792 of yacc.c  */
-#line 13017 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (4)].list); }
+#line 13012 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 40589 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1936:
-/* Line 1792 of yacc.c  */
-#line 13018 "gram.y"
+#line 13013 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 40595 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1937:
-/* Line 1792 of yacc.c  */
-#line 13021 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); }
+#line 13016 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
+#line 40601 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1938:
-/* Line 1792 of yacc.c  */
-#line 13024 "gram.y"
+#line 13019 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ANY_SUBLINK; }
+#line 40607 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1939:
-/* Line 1792 of yacc.c  */
-#line 13025 "gram.y"
+#line 13020 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ANY_SUBLINK; }
+#line 40613 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1940:
-/* Line 1792 of yacc.c  */
-#line 13026 "gram.y"
+#line 13021 "gram.y" /* yacc.c:1646  */
     { (yyval.ival) = ALL_SUBLINK; }
+#line 40619 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1941:
-/* Line 1792 of yacc.c  */
-#line 13029 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13024 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 40625 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1942:
-/* Line 1792 of yacc.c  */
-#line 13030 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13025 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 40631 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1943:
-/* Line 1792 of yacc.c  */
-#line 13033 "gram.y"
+#line 13028 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "+"; }
+#line 40637 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1944:
-/* Line 1792 of yacc.c  */
-#line 13034 "gram.y"
+#line 13029 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "-"; }
+#line 40643 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1945:
-/* Line 1792 of yacc.c  */
-#line 13035 "gram.y"
+#line 13030 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "*"; }
+#line 40649 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1946:
-/* Line 1792 of yacc.c  */
-#line 13036 "gram.y"
+#line 13031 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "/"; }
+#line 40655 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1947:
-/* Line 1792 of yacc.c  */
-#line 13037 "gram.y"
+#line 13032 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "%"; }
+#line 40661 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1948:
-/* Line 1792 of yacc.c  */
-#line 13038 "gram.y"
+#line 13033 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "^"; }
+#line 40667 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1949:
-/* Line 1792 of yacc.c  */
-#line 13039 "gram.y"
+#line 13034 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "<"; }
+#line 40673 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1950:
-/* Line 1792 of yacc.c  */
-#line 13040 "gram.y"
+#line 13035 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = ">"; }
+#line 40679 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1951:
-/* Line 1792 of yacc.c  */
-#line 13041 "gram.y"
+#line 13036 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "="; }
+#line 40685 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1952:
-/* Line 1792 of yacc.c  */
-#line 13042 "gram.y"
+#line 13037 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "<="; }
+#line 40691 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1953:
-/* Line 1792 of yacc.c  */
-#line 13043 "gram.y"
+#line 13038 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = ">="; }
+#line 40697 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1954:
-/* Line 1792 of yacc.c  */
-#line 13044 "gram.y"
+#line 13039 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "<>"; }
+#line 40703 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1955:
-/* Line 1792 of yacc.c  */
-#line 13048 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 13043 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 40709 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1956:
-/* Line 1792 of yacc.c  */
-#line 13050 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (4)].list); }
+#line 13045 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 40715 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1957:
-/* Line 1792 of yacc.c  */
-#line 13055 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 13050 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 40721 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1958:
-/* Line 1792 of yacc.c  */
-#line 13057 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (4)].list); }
+#line 13052 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 40727 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1959:
-/* Line 1792 of yacc.c  */
-#line 13062 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 13057 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 40733 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1960:
-/* Line 1792 of yacc.c  */
-#line 13064 "gram.y"
-    { (yyval.list) = (yyvsp[(3) - (4)].list); }
+#line 13059 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 40739 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1961:
-/* Line 1792 of yacc.c  */
-#line 13066 "gram.y"
+#line 13061 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make1(makeString("~~")); }
+#line 40745 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1962:
-/* Line 1792 of yacc.c  */
-#line 13068 "gram.y"
+#line 13063 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make1(makeString("!~~")); }
+#line 40751 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1963:
-/* Line 1792 of yacc.c  */
-#line 13070 "gram.y"
+#line 13065 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make1(makeString("~~*")); }
+#line 40757 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1964:
-/* Line 1792 of yacc.c  */
-#line 13072 "gram.y"
+#line 13067 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = list_make1(makeString("!~~*")); }
+#line 40763 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1965:
-/* Line 1792 of yacc.c  */
-#line 13084 "gram.y"
+#line 13079 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
+                                       (yyval.list) = list_make1((yyvsp[0].node));
                                }
+#line 40771 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1966:
-/* Line 1792 of yacc.c  */
-#line 13088 "gram.y"
+#line 13083 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
                                }
+#line 40779 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1967:
-/* Line 1792 of yacc.c  */
-#line 13095 "gram.y"
+#line 13090 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
+                                       (yyval.list) = list_make1((yyvsp[0].node));
                                }
+#line 40787 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1968:
-/* Line 1792 of yacc.c  */
-#line 13099 "gram.y"
+#line 13094 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
+                                       (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
                                }
+#line 40795 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1969:
-/* Line 1792 of yacc.c  */
-#line 13105 "gram.y"
+#line 13100 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (yyvsp[(1) - (1)].node);
+                                       (yyval.node) = (yyvsp[0].node);
                                }
+#line 40803 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1970:
-/* Line 1792 of yacc.c  */
-#line 13109 "gram.y"
+#line 13104 "gram.y" /* yacc.c:1646  */
     {
                                        NamedArgExpr *na = makeNode(NamedArgExpr);
-                                       na->name = (yyvsp[(1) - (3)].str);
-                                       na->arg = (Expr *) (yyvsp[(3) - (3)].node);
+                                       na->name = (yyvsp[-2].str);
+                                       na->arg = (Expr *) (yyvsp[0].node);
                                        na->argnumber = -1;             /* until determined */
-                                       na->location = (yylsp[(1) - (3)]);
+                                       na->location = (yylsp[-2]);
                                        (yyval.node) = (Node *) na;
                                }
+#line 40816 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1971:
-/* Line 1792 of yacc.c  */
-#line 13118 "gram.y"
+#line 13113 "gram.y" /* yacc.c:1646  */
     {
                                        NamedArgExpr *na = makeNode(NamedArgExpr);
-                                       na->name = (yyvsp[(1) - (3)].str);
-                                       na->arg = (Expr *) (yyvsp[(3) - (3)].node);
+                                       na->name = (yyvsp[-2].str);
+                                       na->arg = (Expr *) (yyvsp[0].node);
                                        na->argnumber = -1;             /* until determined */
-                                       na->location = (yylsp[(1) - (3)]);
+                                       na->location = (yylsp[-2]);
                                        (yyval.node) = (Node *) na;
                                }
+#line 40829 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1972:
-/* Line 1792 of yacc.c  */
-#line 13128 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); }
+#line 13123 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].typnam)); }
+#line 40835 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1973:
-/* Line 1792 of yacc.c  */
-#line 13129 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); }
+#line 13124 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
+#line 40841 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1974:
-/* Line 1792 of yacc.c  */
-#line 13133 "gram.y"
+#line 13128 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
+                                       (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
                                }
+#line 40849 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1975:
-/* Line 1792 of yacc.c  */
-#line 13137 "gram.y"
+#line 13132 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
+                                       (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
                                }
+#line 40857 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1976:
-/* Line 1792 of yacc.c  */
-#line 13141 "gram.y"
+#line 13136 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)]));
+                                       (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
                                }
+#line 40865 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1977:
-/* Line 1792 of yacc.c  */
-#line 13146 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 13141 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 40871 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1978:
-/* Line 1792 of yacc.c  */
-#line 13147 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 13142 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 40877 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1979:
-/* Line 1792 of yacc.c  */
-#line 13153 "gram.y"
+#line 13148 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
+                                       (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
                                }
+#line 40885 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1980:
-/* Line 1792 of yacc.c  */
-#line 13156 "gram.y"
+#line 13151 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 40891 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1981:
-/* Line 1792 of yacc.c  */
-#line 13163 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13158 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 40897 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1982:
-/* Line 1792 of yacc.c  */
-#line 13164 "gram.y"
+#line 13159 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "year"; }
+#line 40903 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1983:
-/* Line 1792 of yacc.c  */
-#line 13165 "gram.y"
+#line 13160 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "month"; }
+#line 40909 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1984:
-/* Line 1792 of yacc.c  */
-#line 13166 "gram.y"
+#line 13161 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "day"; }
+#line 40915 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1985:
-/* Line 1792 of yacc.c  */
-#line 13167 "gram.y"
+#line 13162 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "hour"; }
+#line 40921 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1986:
-/* Line 1792 of yacc.c  */
-#line 13168 "gram.y"
+#line 13163 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "minute"; }
+#line 40927 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1987:
-/* Line 1792 of yacc.c  */
-#line 13169 "gram.y"
+#line 13164 "gram.y" /* yacc.c:1646  */
     { (yyval.str) = "second"; }
+#line 40933 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1988:
-/* Line 1792 of yacc.c  */
-#line 13170 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13165 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 40939 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1989:
-/* Line 1792 of yacc.c  */
-#line 13181 "gram.y"
+#line 13176 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make4((yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node));
+                                       (yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
                                }
+#line 40947 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1990:
-/* Line 1792 of yacc.c  */
-#line 13185 "gram.y"
+#line 13180 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
+                                       (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
                                }
+#line 40955 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1991:
-/* Line 1792 of yacc.c  */
-#line 13192 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 13187 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 40961 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1992:
-/* Line 1792 of yacc.c  */
-#line 13198 "gram.y"
-    { (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); }
+#line 13193 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
+#line 40967 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1993:
-/* Line 1792 of yacc.c  */
-#line 13199 "gram.y"
+#line 13194 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 40973 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1994:
-/* Line 1792 of yacc.c  */
-#line 13216 "gram.y"
+#line 13211 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
+                                       (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
                                }
+#line 40981 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1995:
-/* Line 1792 of yacc.c  */
-#line 13220 "gram.y"
+#line 13215 "gram.y" /* yacc.c:1646  */
     {
                                        /* not legal per SQL99, but might as well allow it */
-                                       (yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yyvsp[(2) - (3)].node));
+                                       (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
                                }
+#line 40990 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1996:
-/* Line 1792 of yacc.c  */
-#line 13225 "gram.y"
+#line 13220 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
+                                       (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
                                }
+#line 40998 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1997:
-/* Line 1792 of yacc.c  */
-#line 13229 "gram.y"
+#line 13224 "gram.y" /* yacc.c:1646  */
     {
                                        /*
                                         * Since there are no cases where this syntax allows
@@ -42327,511 +41009,511 @@ yyreduce:
                                         * which it is likely to do if the second argument
                                         * is unknown or doesn't have an implicit cast to int4.
                                         */
-                                       (yyval.list) = list_make3((yyvsp[(1) - (2)].node), makeIntConst(1, -1),
-                                                                       makeTypeCast((yyvsp[(2) - (2)].node),
+                                       (yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
+                                                                       makeTypeCast((yyvsp[0].node),
                                                                                                 SystemTypeName("int4"), -1));
                                }
+#line 41017 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1998:
-/* Line 1792 of yacc.c  */
-#line 13244 "gram.y"
+#line 13239 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.list) = (yyvsp[(1) - (1)].list);
+                                       (yyval.list) = (yyvsp[0].list);
                                }
+#line 41025 "gram.c" /* yacc.c:1646  */
     break;
 
   case 1999:
-/* Line 1792 of yacc.c  */
-#line 13248 "gram.y"
+#line 13243 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 41031 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2000:
-/* Line 1792 of yacc.c  */
-#line 13252 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 13247 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 41037 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2001:
-/* Line 1792 of yacc.c  */
-#line 13255 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 13250 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 41043 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2002:
-/* Line 1792 of yacc.c  */
-#line 13258 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); }
+#line 13253 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
+#line 41049 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2003:
-/* Line 1792 of yacc.c  */
-#line 13259 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (2)].list); }
+#line 13254 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 41055 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2004:
-/* Line 1792 of yacc.c  */
-#line 13260 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 13255 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 41061 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2005:
-/* Line 1792 of yacc.c  */
-#line 13264 "gram.y"
+#line 13259 "gram.y" /* yacc.c:1646  */
     {
                                        SubLink *n = makeNode(SubLink);
-                                       n->subselect = (yyvsp[(1) - (1)].node);
+                                       n->subselect = (yyvsp[0].node);
                                        /* other fields will be filled later */
                                        (yyval.node) = (Node *)n;
                                }
+#line 41072 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2006:
-/* Line 1792 of yacc.c  */
-#line 13270 "gram.y"
-    { (yyval.node) = (Node *)(yyvsp[(2) - (3)].list); }
+#line 13265 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *)(yyvsp[-1].list); }
+#line 41078 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2007:
-/* Line 1792 of yacc.c  */
-#line 13281 "gram.y"
+#line 13276 "gram.y" /* yacc.c:1646  */
     {
                                        CaseExpr *c = makeNode(CaseExpr);
                                        c->casetype = InvalidOid; /* not analyzed yet */
-                                       c->arg = (Expr *) (yyvsp[(2) - (5)].node);
-                                       c->args = (yyvsp[(3) - (5)].list);
-                                       c->defresult = (Expr *) (yyvsp[(4) - (5)].node);
-                                       c->location = (yylsp[(1) - (5)]);
+                                       c->arg = (Expr *) (yyvsp[-3].node);
+                                       c->args = (yyvsp[-2].list);
+                                       c->defresult = (Expr *) (yyvsp[-1].node);
+                                       c->location = (yylsp[-4]);
                                        (yyval.node) = (Node *)c;
                                }
+#line 41092 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2008:
-/* Line 1792 of yacc.c  */
-#line 13294 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 13289 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 41098 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2009:
-/* Line 1792 of yacc.c  */
-#line 13295 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
+#line 13290 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 41104 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2010:
-/* Line 1792 of yacc.c  */
-#line 13300 "gram.y"
+#line 13295 "gram.y" /* yacc.c:1646  */
     {
                                        CaseWhen *w = makeNode(CaseWhen);
-                                       w->expr = (Expr *) (yyvsp[(2) - (4)].node);
-                                       w->result = (Expr *) (yyvsp[(4) - (4)].node);
-                                       w->location = (yylsp[(1) - (4)]);
+                                       w->expr = (Expr *) (yyvsp[-2].node);
+                                       w->result = (Expr *) (yyvsp[0].node);
+                                       w->location = (yylsp[-3]);
                                        (yyval.node) = (Node *)w;
                                }
+#line 41116 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2011:
-/* Line 1792 of yacc.c  */
-#line 13310 "gram.y"
-    { (yyval.node) = (yyvsp[(2) - (2)].node); }
+#line 13305 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 41122 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2012:
-/* Line 1792 of yacc.c  */
-#line 13311 "gram.y"
+#line 13306 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 41128 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2013:
-/* Line 1792 of yacc.c  */
-#line 13314 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 13309 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 41134 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2014:
-/* Line 1792 of yacc.c  */
-#line 13315 "gram.y"
+#line 13310 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 41140 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2015:
-/* Line 1792 of yacc.c  */
-#line 13319 "gram.y"
+#line 13314 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner);
+                                       (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
                                }
+#line 41148 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2016:
-/* Line 1792 of yacc.c  */
-#line 13323 "gram.y"
+#line 13318 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner);
+                                       (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
                                }
+#line 41156 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2017:
-/* Line 1792 of yacc.c  */
-#line 13330 "gram.y"
+#line 13325 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str));
+                                       (yyval.node) = (Node *) makeString((yyvsp[0].str));
                                }
+#line 41164 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2018:
-/* Line 1792 of yacc.c  */
-#line 13334 "gram.y"
+#line 13329 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.node) = (Node *) makeNode(A_Star);
                                }
+#line 41172 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2019:
-/* Line 1792 of yacc.c  */
-#line 13338 "gram.y"
+#line 13333 "gram.y" /* yacc.c:1646  */
     {
                                        A_Indices *ai = makeNode(A_Indices);
                                        ai->is_slice = false;
                                        ai->lidx = NULL;
-                                       ai->uidx = (yyvsp[(2) - (3)].node);
+                                       ai->uidx = (yyvsp[-1].node);
                                        (yyval.node) = (Node *) ai;
                                }
+#line 41184 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2020:
-/* Line 1792 of yacc.c  */
-#line 13346 "gram.y"
+#line 13341 "gram.y" /* yacc.c:1646  */
     {
                                        A_Indices *ai = makeNode(A_Indices);
                                        ai->is_slice = true;
-                                       ai->lidx = (yyvsp[(2) - (5)].node);
-                                       ai->uidx = (yyvsp[(4) - (5)].node);
+                                       ai->lidx = (yyvsp[-3].node);
+                                       ai->uidx = (yyvsp[-1].node);
                                        (yyval.node) = (Node *) ai;
                                }
+#line 41196 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2021:
-/* Line 1792 of yacc.c  */
-#line 13356 "gram.y"
-    { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 13351 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (yyvsp[0].node); }
+#line 41202 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2022:
-/* Line 1792 of yacc.c  */
-#line 13357 "gram.y"
+#line 13352 "gram.y" /* yacc.c:1646  */
     { (yyval.node) = NULL; }
+#line 41208 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2023:
-/* Line 1792 of yacc.c  */
-#line 13361 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 13356 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 41214 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2024:
-/* Line 1792 of yacc.c  */
-#line 13362 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
+#line 13357 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 41220 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2025:
-/* Line 1792 of yacc.c  */
-#line 13366 "gram.y"
+#line 13361 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 41226 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2026:
-/* Line 1792 of yacc.c  */
-#line 13367 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
+#line 13362 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 41232 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2029:
-/* Line 1792 of yacc.c  */
-#line 13382 "gram.y"
-    { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); }
+#line 13377 "gram.y" /* yacc.c:1646  */
+    { (yyval.node) = (Node *) (yyvsp[0].node); }
+#line 41238 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2030:
-/* Line 1792 of yacc.c  */
-#line 13384 "gram.y"
+#line 13379 "gram.y" /* yacc.c:1646  */
     {
                                        SetToDefault *n = makeNode(SetToDefault);
-                                       n->location = (yylsp[(1) - (1)]);
+                                       n->location = (yylsp[0]);
                                        (yyval.node) = (Node *) n;
                                }
+#line 41248 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2031:
-/* Line 1792 of yacc.c  */
-#line 13392 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 13387 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 41254 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2032:
-/* Line 1792 of yacc.c  */
-#line 13393 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 13388 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 41260 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2033:
-/* Line 1792 of yacc.c  */
-#line 13401 "gram.y"
-    { (yyval.list) = (yyvsp[(2) - (3)].list); }
+#line 13396 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[-1].list); }
+#line 41266 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2034:
-/* Line 1792 of yacc.c  */
-#line 13411 "gram.y"
-    { (yyval.list) = (yyvsp[(1) - (1)].list); }
+#line 13406 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = (yyvsp[0].list); }
+#line 41272 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2035:
-/* Line 1792 of yacc.c  */
-#line 13412 "gram.y"
+#line 13407 "gram.y" /* yacc.c:1646  */
     { (yyval.list) = NIL; }
+#line 41278 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2036:
-/* Line 1792 of yacc.c  */
-#line 13416 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); }
+#line 13411 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].target)); }
+#line 41284 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2037:
-/* Line 1792 of yacc.c  */
-#line 13417 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); }
+#line 13412 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
+#line 41290 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2038:
-/* Line 1792 of yacc.c  */
-#line 13421 "gram.y"
+#line 13416 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.target) = makeNode(ResTarget);
-                                       (yyval.target)->name = (yyvsp[(3) - (3)].str);
+                                       (yyval.target)->name = (yyvsp[0].str);
                                        (yyval.target)->indirection = NIL;
-                                       (yyval.target)->val = (Node *)(yyvsp[(1) - (3)].node);
-                                       (yyval.target)->location = (yylsp[(1) - (3)]);
+                                       (yyval.target)->val = (Node *)(yyvsp[-2].node);
+                                       (yyval.target)->location = (yylsp[-2]);
                                }
+#line 41302 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2039:
-/* Line 1792 of yacc.c  */
-#line 13437 "gram.y"
+#line 13432 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.target) = makeNode(ResTarget);
-                                       (yyval.target)->name = (yyvsp[(2) - (2)].str);
+                                       (yyval.target)->name = (yyvsp[0].str);
                                        (yyval.target)->indirection = NIL;
-                                       (yyval.target)->val = (Node *)(yyvsp[(1) - (2)].node);
-                                       (yyval.target)->location = (yylsp[(1) - (2)]);
+                                       (yyval.target)->val = (Node *)(yyvsp[-1].node);
+                                       (yyval.target)->location = (yylsp[-1]);
                                }
+#line 41314 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2040:
-/* Line 1792 of yacc.c  */
-#line 13445 "gram.y"
+#line 13440 "gram.y" /* yacc.c:1646  */
     {
                                        (yyval.target) = makeNode(ResTarget);
                                        (yyval.target)->name = NULL;
                                        (yyval.target)->indirection = NIL;
-                                       (yyval.target)->val = (Node *)(yyvsp[(1) - (1)].node);
-                                       (yyval.target)->location = (yylsp[(1) - (1)]);
+                                       (yyval.target)->val = (Node *)(yyvsp[0].node);
+                                       (yyval.target)->location = (yylsp[0]);
                                }
+#line 41326 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2041:
-/* Line 1792 of yacc.c  */
-#line 13453 "gram.y"
+#line 13448 "gram.y" /* yacc.c:1646  */
     {
                                        ColumnRef *n = makeNode(ColumnRef);
                                        n->fields = list_make1(makeNode(A_Star));
-                                       n->location = (yylsp[(1) - (1)]);
+                                       n->location = (yylsp[0]);
 
                                        (yyval.target) = makeNode(ResTarget);
                                        (yyval.target)->name = NULL;
                                        (yyval.target)->indirection = NIL;
                                        (yyval.target)->val = (Node *)n;
-                                       (yyval.target)->location = (yylsp[(1) - (1)]);
+                                       (yyval.target)->location = (yylsp[0]);
                                }
+#line 41342 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2042:
-/* Line 1792 of yacc.c  */
-#line 13474 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); }
+#line 13469 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].range)); }
+#line 41348 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2043:
-/* Line 1792 of yacc.c  */
-#line 13475 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); }
+#line 13470 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
+#line 41354 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2044:
-/* Line 1792 of yacc.c  */
-#line 13487 "gram.y"
+#line 13482 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.range) = makeRangeVar(NULL, (yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
+                                       (yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
                                }
+#line 41362 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2045:
-/* Line 1792 of yacc.c  */
-#line 13491 "gram.y"
+#line 13486 "gram.y" /* yacc.c:1646  */
     {
-                                       check_qualified_name((yyvsp[(2) - (2)].list), yyscanner);
-                                       (yyval.range) = makeRangeVar(NULL, NULL, (yylsp[(1) - (2)]));
-                                       switch (list_length((yyvsp[(2) - (2)].list)))
+                                       check_qualified_name((yyvsp[0].list), yyscanner);
+                                       (yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
+                                       switch (list_length((yyvsp[0].list)))
                                        {
                                                case 1:
                                                        (yyval.range)->catalogname = NULL;
-                                                       (yyval.range)->schemaname = (yyvsp[(1) - (2)].str);
-                                                       (yyval.range)->relname = strVal(linitial((yyvsp[(2) - (2)].list)));
+                                                       (yyval.range)->schemaname = (yyvsp[-1].str);
+                                                       (yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
                                                        break;
                                                case 2:
-                                                       (yyval.range)->catalogname = (yyvsp[(1) - (2)].str);
-                                                       (yyval.range)->schemaname = strVal(linitial((yyvsp[(2) - (2)].list)));
-                                                       (yyval.range)->relname = strVal(lsecond((yyvsp[(2) - (2)].list)));
+                                                       (yyval.range)->catalogname = (yyvsp[-1].str);
+                                                       (yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
+                                                       (yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
                                                        break;
                                                default:
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                                         errmsg("improper qualified name (too many dotted names): %s",
-                                                                                       NameListToString(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)))),
-                                                                        parser_errposition((yylsp[(1) - (2)]))));
+                                                                                       NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
+                                                                        parser_errposition((yylsp[-1]))));
                                                        break;
                                        }
                                }
+#line 41391 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2046:
-/* Line 1792 of yacc.c  */
-#line 13518 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 13513 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 41397 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2047:
-/* Line 1792 of yacc.c  */
-#line 13520 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); }
+#line 13515 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
+#line 41403 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2048:
-/* Line 1792 of yacc.c  */
-#line 13524 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13519 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41409 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2049:
-/* Line 1792 of yacc.c  */
-#line 13527 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13522 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41415 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2050:
-/* Line 1792 of yacc.c  */
-#line 13530 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13525 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41421 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2051:
-/* Line 1792 of yacc.c  */
-#line 13532 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13527 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41427 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2052:
-/* Line 1792 of yacc.c  */
-#line 13534 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13529 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41433 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2053:
-/* Line 1792 of yacc.c  */
-#line 13536 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13531 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41439 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2054:
-/* Line 1792 of yacc.c  */
-#line 13547 "gram.y"
-    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+#line 13542 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 41445 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2055:
-/* Line 1792 of yacc.c  */
-#line 13549 "gram.y"
+#line 13544 "gram.y" /* yacc.c:1646  */
     {
-                                               (yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)),
+                                               (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
                                                                                         yyscanner);
                                        }
+#line 41454 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2056:
-/* Line 1792 of yacc.c  */
-#line 13560 "gram.y"
+#line 13555 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
                                }
+#line 41462 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2057:
-/* Line 1792 of yacc.c  */
-#line 13564 "gram.y"
+#line 13559 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
                                }
+#line 41470 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2058:
-/* Line 1792 of yacc.c  */
-#line 13568 "gram.y"
+#line 13563 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
                                }
+#line 41478 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2059:
-/* Line 1792 of yacc.c  */
-#line 13572 "gram.y"
+#line 13567 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
                                }
+#line 41486 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2060:
-/* Line 1792 of yacc.c  */
-#line 13576 "gram.y"
+#line 13571 "gram.y" /* yacc.c:1646  */
     {
                                        /* This is a bit constant per SQL99:
                                         * Without Feature F511, "BIT data type",
                                         * a <general literal> shall not be a
                                         * <bit string literal> or a <hex string literal>.
                                         */
-                                       (yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
                                }
+#line 41499 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2061:
-/* Line 1792 of yacc.c  */
-#line 13585 "gram.y"
+#line 13580 "gram.y" /* yacc.c:1646  */
     {
                                        /* generic type 'literal' syntax */
-                                       TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list));
-                                       t->location = (yylsp[(1) - (2)]);
-                                       (yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), t);
+                                       TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
+                                       t->location = (yylsp[-1]);
+                                       (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
                                }
+#line 41510 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2062:
-/* Line 1792 of yacc.c  */
-#line 13592 "gram.y"
+#line 13587 "gram.y" /* yacc.c:1646  */
     {
                                        /* generic syntax with a type modifier */
-                                       TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (6)].list));
+                                       TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
                                        ListCell *lc;
 
                                        /*
@@ -42840,7 +41522,7 @@ yyreduce:
                                         * don't actually wish to allow NamedArgExpr in this
                                         * context, nor ORDER BY.
                                         */
-                                       foreach(lc, (yyvsp[(3) - (6)].list))
+                                       foreach(lc, (yyvsp[-3].list))
                                        {
                                                NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
 
@@ -42850,106 +41532,106 @@ yyreduce:
                                                                         errmsg("type modifier cannot have parameter name"),
                                                                         parser_errposition(arg->location)));
                                        }
-                                       if ((yyvsp[(4) - (6)].list) != NIL)
+                                       if ((yyvsp[-2].list) != NIL)
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_SYNTAX_ERROR),
                                                                         errmsg("type modifier cannot have ORDER BY"),
-                                                                        parser_errposition((yylsp[(4) - (6)]))));
+                                                                        parser_errposition((yylsp[-2]))));
 
-                                       t->typmods = (yyvsp[(3) - (6)].list);
-                                       t->location = (yylsp[(1) - (6)]);
-                                       (yyval.node) = makeStringConstCast((yyvsp[(6) - (6)].str), (yylsp[(6) - (6)]), t);
+                                       t->typmods = (yyvsp[-3].list);
+                                       t->location = (yylsp[-5]);
+                                       (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
                                }
+#line 41546 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2063:
-/* Line 1792 of yacc.c  */
-#line 13624 "gram.y"
+#line 13619 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
+                                       (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
                                }
+#line 41554 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2064:
-/* Line 1792 of yacc.c  */
-#line 13628 "gram.y"
+#line 13623 "gram.y" /* yacc.c:1646  */
     {
-                                       TypeName *t = (yyvsp[(1) - (3)].typnam);
-                                       t->typmods = (yyvsp[(3) - (3)].list);
-                                       (yyval.node) = makeStringConstCast((yyvsp[(2) - (3)].str), (yylsp[(2) - (3)]), t);
+                                       TypeName *t = (yyvsp[-2].typnam);
+                                       t->typmods = (yyvsp[0].list);
+                                       (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
                                }
+#line 41564 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2065:
-/* Line 1792 of yacc.c  */
-#line 13634 "gram.y"
+#line 13629 "gram.y" /* yacc.c:1646  */
     {
-                                       TypeName *t = (yyvsp[(1) - (5)].typnam);
+                                       TypeName *t = (yyvsp[-4].typnam);
                                        t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
-                                                                                       makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
-                                       (yyval.node) = makeStringConstCast((yyvsp[(5) - (5)].str), (yylsp[(5) - (5)]), t);
+                                                                                       makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
+                                       (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
                                }
+#line 41575 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2066:
-/* Line 1792 of yacc.c  */
-#line 13641 "gram.y"
+#line 13636 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeBoolAConst(TRUE, (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeBoolAConst(TRUE, (yylsp[0]));
                                }
+#line 41583 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2067:
-/* Line 1792 of yacc.c  */
-#line 13645 "gram.y"
+#line 13640 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeBoolAConst(FALSE, (yylsp[(1) - (1)]));
+                                       (yyval.node) = makeBoolAConst(FALSE, (yylsp[0]));
                                }
+#line 41591 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2068:
-/* Line 1792 of yacc.c  */
-#line 13649 "gram.y"
+#line 13644 "gram.y" /* yacc.c:1646  */
     {
-                                       (yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
+                                       (yyval.node) = makeNullAConst((yylsp[0]));
                                }
+#line 41599 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2069:
-/* Line 1792 of yacc.c  */
-#line 13654 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (1)].ival); }
+#line 13649 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[0].ival); }
+#line 41605 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2070:
-/* Line 1792 of yacc.c  */
-#line 13655 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13650 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41611 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2071:
-/* Line 1792 of yacc.c  */
-#line 13657 "gram.y"
-    { (yyval.ival) = (yyvsp[(1) - (1)].ival); }
+#line 13652 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = (yyvsp[0].ival); }
+#line 41617 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2072:
-/* Line 1792 of yacc.c  */
-#line 13658 "gram.y"
-    { (yyval.ival) = + (yyvsp[(2) - (2)].ival); }
+#line 13653 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = + (yyvsp[0].ival); }
+#line 41623 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2073:
-/* Line 1792 of yacc.c  */
-#line 13659 "gram.y"
-    { (yyval.ival) = - (yyvsp[(2) - (2)].ival); }
+#line 13654 "gram.y" /* yacc.c:1646  */
+    { (yyval.ival) = - (yyvsp[0].ival); }
+#line 41629 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2074:
-/* Line 1792 of yacc.c  */
-#line 13664 "gram.y"
+#line 13659 "gram.y" /* yacc.c:1646  */
     {
-                                       RoleSpec *spc = (RoleSpec *) (yyvsp[(1) - (1)].node);
+                                       RoleSpec *spc = (RoleSpec *) (yyvsp[0].node);
                                        switch (spc->roletype)
                                        {
                                                case ROLESPEC_CSTRING:
@@ -42960,175 +41642,175 @@ yyreduce:
                                                                        (errcode(ERRCODE_RESERVED_NAME),
                                                                         errmsg("role name \"%s\" is reserved",
                                                                                        "public"),
-                                                                        parser_errposition((yylsp[(1) - (1)]))));
+                                                                        parser_errposition((yylsp[0]))));
                                                case ROLESPEC_SESSION_USER:
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_RESERVED_NAME),
                                                                         errmsg("%s cannot be used as a role name here",
                                                                                        "SESSION_USER"),
-                                                                        parser_errposition((yylsp[(1) - (1)]))));
+                                                                        parser_errposition((yylsp[0]))));
                                                case ROLESPEC_CURRENT_USER:
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_RESERVED_NAME),
                                                                         errmsg("%s cannot be used as a role name here",
                                                                                        "CURRENT_USER"),
-                                                                        parser_errposition((yylsp[(1) - (1)]))));
+                                                                        parser_errposition((yylsp[0]))));
                                        }
                                }
+#line 41661 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2075:
-/* Line 1792 of yacc.c  */
-#line 13694 "gram.y"
+#line 13689 "gram.y" /* yacc.c:1646  */
     {
                                                /*
                                                 * "public" and "none" are not keywords, but they must
                                                 * be treated specially here.
                                                 */
                                                RoleSpec *n;
-                                               if (strcmp((yyvsp[(1) - (1)].str), "public") == 0)
+                                               if (strcmp((yyvsp[0].str), "public") == 0)
                                                {
-                                                       n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[(1) - (1)]));
+                                                       n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
                                                        n->roletype = ROLESPEC_PUBLIC;
                                                }
-                                               else if (strcmp((yyvsp[(1) - (1)].str), "none") == 0)
+                                               else if (strcmp((yyvsp[0].str), "none") == 0)
                                                {
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_RESERVED_NAME),
                                                                         errmsg("role name \"%s\" is reserved",
                                                                                        "none"),
-                                                                        parser_errposition((yylsp[(1) - (1)]))));
+                                                                        parser_errposition((yylsp[0]))));
                                                }
                                                else
                                                {
-                                                       n = (RoleSpec *) makeRoleSpec(ROLESPEC_CSTRING, (yylsp[(1) - (1)]));
-                                                       n->rolename = pstrdup((yyvsp[(1) - (1)].str));
+                                                       n = (RoleSpec *) makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
+                                                       n->rolename = pstrdup((yyvsp[0].str));
                                                }
                                                (yyval.node) = (Node *) n;
                                        }
+#line 41692 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2076:
-/* Line 1792 of yacc.c  */
-#line 13721 "gram.y"
+#line 13716 "gram.y" /* yacc.c:1646  */
     {
-                                               (yyval.node) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)]));
+                                               (yyval.node) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
                                        }
+#line 41700 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2077:
-/* Line 1792 of yacc.c  */
-#line 13725 "gram.y"
+#line 13720 "gram.y" /* yacc.c:1646  */
     {
-                                               (yyval.node) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[(1) - (1)]));
+                                               (yyval.node) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
                                        }
+#line 41708 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2078:
-/* Line 1792 of yacc.c  */
-#line 13731 "gram.y"
-    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
+#line 13726 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 41714 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2079:
-/* Line 1792 of yacc.c  */
-#line 13733 "gram.y"
-    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
+#line 13728 "gram.y" /* yacc.c:1646  */
+    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 41720 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2080:
-/* Line 1792 of yacc.c  */
-#line 13749 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13744 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41726 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2081:
-/* Line 1792 of yacc.c  */
-#line 13750 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13745 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41732 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2082:
-/* Line 1792 of yacc.c  */
-#line 13751 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13746 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41738 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2083:
-/* Line 1792 of yacc.c  */
-#line 13756 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13751 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41744 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2084:
-/* Line 1792 of yacc.c  */
-#line 13757 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13752 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41750 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2085:
-/* Line 1792 of yacc.c  */
-#line 13758 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13753 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41756 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2086:
-/* Line 1792 of yacc.c  */
-#line 13763 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13758 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41762 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2087:
-/* Line 1792 of yacc.c  */
-#line 13764 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13759 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41768 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2088:
-/* Line 1792 of yacc.c  */
-#line 13765 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13760 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41774 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2089:
-/* Line 1792 of yacc.c  */
-#line 13766 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13761 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41780 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2090:
-/* Line 1792 of yacc.c  */
-#line 13772 "gram.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str); }
+#line 13767 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = (yyvsp[0].str); }
+#line 41786 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2091:
-/* Line 1792 of yacc.c  */
-#line 13773 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13768 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41792 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2092:
-/* Line 1792 of yacc.c  */
-#line 13774 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13769 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41798 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2093:
-/* Line 1792 of yacc.c  */
-#line 13775 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13770 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41804 "gram.c" /* yacc.c:1646  */
     break;
 
   case 2094:
-/* Line 1792 of yacc.c  */
-#line 13776 "gram.y"
-    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+#line 13771 "gram.y" /* yacc.c:1646  */
+    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 41810 "gram.c" /* yacc.c:1646  */
     break;
 
 
-/* Line 1792 of yacc.c  */
-#line 43132 "gram.c"
+#line 41814 "gram.c" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -43151,7 +41833,7 @@ yyreduce:
   *++yyvsp = yyval;
   *++yylsp = yyloc;
 
-  /* Now `shift' the result of the reduction.  Determine what state
+  /* Now 'shift' the result of the reduction.  Determine what state
      that goes to, based on the state we popped back to and the rule
      number reduced by.  */
 
@@ -43166,9 +41848,9 @@ yyreduce:
   goto yynewstate;
 
 
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
+/*--------------------------------------.
+| yyerrlab -- here on detecting error |
+`--------------------------------------*/
 yyerrlab:
   /* Make sure we have latest lookahead translation.  See comments at
      user semantic actions for why this is necessary.  */
@@ -43219,20 +41901,20 @@ yyerrlab:
   if (yyerrstatus == 3)
     {
       /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
+         error, discard it.  */
 
       if (yychar <= YYEOF)
-       {
-         /* Return failure if at end of input.  */
-         if (yychar == YYEOF)
-           YYABORT;
-       }
+        {
+          /* Return failure if at end of input.  */
+          if (yychar == YYEOF)
+            YYABORT;
+        }
       else
-       {
-         yydestruct ("Error: discarding",
-                     yytoken, &yylval, &yylloc, yyscanner);
-         yychar = YYEMPTY;
-       }
+        {
+          yydestruct ("Error: discarding",
+                      yytoken, &yylval, &yylloc, yyscanner);
+          yychar = YYEMPTY;
+        }
     }
 
   /* Else will try to reuse lookahead token after shifting the error
@@ -43252,7 +41934,7 @@ yyerrorlab:
      goto yyerrorlab;
 
   yyerror_range[1] = yylsp[1-yylen];
-  /* Do not reclaim the symbols of the rule which action triggered
+  /* Do not reclaim the symbols of the rule whose action triggered
      this YYERROR.  */
   YYPOPSTACK (yylen);
   yylen = 0;
@@ -43265,29 +41947,29 @@ yyerrorlab:
 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
 `-------------------------------------------------------------*/
 yyerrlab1:
-  yyerrstatus = 3;     /* Each real token shifted decrements this.  */
+  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
 
   for (;;)
     {
       yyn = yypact[yystate];
       if (!yypact_value_is_default (yyn))
-       {
-         yyn += YYTERROR;
-         if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
-           {
-             yyn = yytable[yyn];
-             if (0 < yyn)
-               break;
-           }
-       }
+        {
+          yyn += YYTERROR;
+          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+            {
+              yyn = yytable[yyn];
+              if (0 < yyn)
+                break;
+            }
+        }
 
       /* Pop the current state because it cannot handle the error token.  */
       if (yyssp == yyss)
-       YYABORT;
+        YYABORT;
 
       yyerror_range[1] = *yylsp;
       yydestruct ("Error: popping",
-                 yystos[yystate], yyvsp, yylsp, yyscanner);
+                  yystos[yystate], yyvsp, yylsp, yyscanner);
       YYPOPSTACK (1);
       yystate = *yyssp;
       YY_STACK_PRINT (yyss, yyssp);
@@ -43343,14 +42025,14 @@ yyreturn:
       yydestruct ("Cleanup: discarding lookahead",
                   yytoken, &yylval, &yylloc, yyscanner);
     }
-  /* Do not reclaim the symbols of the rule which action triggered
+  /* Do not reclaim the symbols of the rule whose action triggered
      this YYABORT or YYACCEPT.  */
   YYPOPSTACK (yylen);
   YY_STACK_PRINT (yyss, yyssp);
   while (yyssp != yyss)
     {
       yydestruct ("Cleanup: popping",
-                 yystos[*yyssp], yyvsp, yylsp, yyscanner);
+                  yystos[*yyssp], yyvsp, yylsp, yyscanner);
       YYPOPSTACK (1);
     }
 #ifndef yyoverflow
@@ -43361,13 +42043,9 @@ yyreturn:
   if (yymsg != yymsgbuf)
     YYSTACK_FREE (yymsg);
 #endif
-  /* Make sure YYID is used.  */
-  return YYID (yyresult);
+  return yyresult;
 }
-
-
-/* Line 2055 of yacc.c  */
-#line 14252 "gram.y"
+#line 14247 "gram.y" /* yacc.c:1906  */
 
 
 /*
index 74ed6d42d6db3411cf626357be63b45a2efaf554..e1f6d9225146d46003448d056d9b9d880fe57c0a 100644 (file)
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7.  */
+/* A Bison parser, made by GNU Bison 3.0.4.  */
 
 /* Bison interface for Yacc-like parsers in C
-   
-      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
-   
+
+   Copyright (C) 1984, 1989-1990, 2000-2015 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.  */
 
    special exception, which will cause the skeleton and the resulting
    Bison output files to be licensed under the GNU General Public
    License without this special exception.
-   
+
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
 #ifndef YY_BASE_YY_GRAM_H_INCLUDED
 # define YY_BASE_YY_GRAM_H_INCLUDED
-/* Enabling traces.  */
+/* Debug traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 0
 #endif
 extern int base_yydebug;
 #endif
 
-/* Tokens.  */
+/* Token type.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     IDENT = 258,
-     FCONST = 259,
-     SCONST = 260,
-     BCONST = 261,
-     XCONST = 262,
-     Op = 263,
-     ICONST = 264,
-     PARAM = 265,
-     TYPECAST = 266,
-     DOT_DOT = 267,
-     COLON_EQUALS = 268,
-     EQUALS_GREATER = 269,
-     LESS_EQUALS = 270,
-     GREATER_EQUALS = 271,
-     NOT_EQUALS = 272,
-     ABORT_P = 273,
-     ABSOLUTE_P = 274,
-     ACCESS = 275,
-     ACTION = 276,
-     ADD_P = 277,
-     ADMIN = 278,
-     AFTER = 279,
-     AGGREGATE = 280,
-     ALL = 281,
-     ALSO = 282,
-     ALTER = 283,
-     ALWAYS = 284,
-     ANALYSE = 285,
-     ANALYZE = 286,
-     AND = 287,
-     ANY = 288,
-     ARRAY = 289,
-     AS = 290,
-     ASC = 291,
-     ASSERTION = 292,
-     ASSIGNMENT = 293,
-     ASYMMETRIC = 294,
-     AT = 295,
-     ATTRIBUTE = 296,
-     AUTHORIZATION = 297,
-     BACKWARD = 298,
-     BEFORE = 299,
-     BEGIN_P = 300,
-     BETWEEN = 301,
-     BIGINT = 302,
-     BINARY = 303,
-     BIT = 304,
-     BOOLEAN_P = 305,
-     BOTH = 306,
-     BY = 307,
-     CACHE = 308,
-     CALLED = 309,
-     CASCADE = 310,
-     CASCADED = 311,
-     CASE = 312,
-     CAST = 313,
-     CATALOG_P = 314,
-     CHAIN = 315,
-     CHAR_P = 316,
-     CHARACTER = 317,
-     CHARACTERISTICS = 318,
-     CHECK = 319,
-     CHECKPOINT = 320,
-     CLASS = 321,
-     CLOSE = 322,
-     CLUSTER = 323,
-     COALESCE = 324,
-     COLLATE = 325,
-     COLLATION = 326,
-     COLUMN = 327,
-     COMMENT = 328,
-     COMMENTS = 329,
-     COMMIT = 330,
-     COMMITTED = 331,
-     CONCURRENTLY = 332,
-     CONFIGURATION = 333,
-     CONFLICT = 334,
-     CONNECTION = 335,
-     CONSTRAINT = 336,
-     CONSTRAINTS = 337,
-     CONTENT_P = 338,
-     CONTINUE_P = 339,
-     CONVERSION_P = 340,
-     COPY = 341,
-     COST = 342,
-     CREATE = 343,
-     CROSS = 344,
-     CSV = 345,
-     CUBE = 346,
-     CURRENT_P = 347,
-     CURRENT_CATALOG = 348,
-     CURRENT_DATE = 349,
-     CURRENT_ROLE = 350,
-     CURRENT_SCHEMA = 351,
-     CURRENT_TIME = 352,
-     CURRENT_TIMESTAMP = 353,
-     CURRENT_USER = 354,
-     CURSOR = 355,
-     CYCLE = 356,
-     DATA_P = 357,
-     DATABASE = 358,
-     DAY_P = 359,
-     DEALLOCATE = 360,
-     DEC = 361,
-     DECIMAL_P = 362,
-     DECLARE = 363,
-     DEFAULT = 364,
-     DEFAULTS = 365,
-     DEFERRABLE = 366,
-     DEFERRED = 367,
-     DEFINER = 368,
-     DELETE_P = 369,
-     DELIMITER = 370,
-     DELIMITERS = 371,
-     DEPENDS = 372,
-     DESC = 373,
-     DICTIONARY = 374,
-     DISABLE_P = 375,
-     DISCARD = 376,
-     DISTINCT = 377,
-     DO = 378,
-     DOCUMENT_P = 379,
-     DOMAIN_P = 380,
-     DOUBLE_P = 381,
-     DROP = 382,
-     EACH = 383,
-     ELSE = 384,
-     ENABLE_P = 385,
-     ENCODING = 386,
-     ENCRYPTED = 387,
-     END_P = 388,
-     ENUM_P = 389,
-     ESCAPE = 390,
-     EVENT = 391,
-     EXCEPT = 392,
-     EXCLUDE = 393,
-     EXCLUDING = 394,
-     EXCLUSIVE = 395,
-     EXECUTE = 396,
-     EXISTS = 397,
-     EXPLAIN = 398,
-     EXTENSION = 399,
-     EXTERNAL = 400,
-     EXTRACT = 401,
-     FALSE_P = 402,
-     FAMILY = 403,
-     FETCH = 404,
-     FILTER = 405,
-     FIRST_P = 406,
-     FLOAT_P = 407,
-     FOLLOWING = 408,
-     FOR = 409,
-     FORCE = 410,
-     FOREIGN = 411,
-     FORWARD = 412,
-     FREEZE = 413,
-     FROM = 414,
-     FULL = 415,
-     FUNCTION = 416,
-     FUNCTIONS = 417,
-     GLOBAL = 418,
-     GRANT = 419,
-     GRANTED = 420,
-     GREATEST = 421,
-     GROUP_P = 422,
-     GROUPING = 423,
-     HANDLER = 424,
-     HAVING = 425,
-     HEADER_P = 426,
-     HOLD = 427,
-     HOUR_P = 428,
-     IDENTITY_P = 429,
-     IF_P = 430,
-     ILIKE = 431,
-     IMMEDIATE = 432,
-     IMMUTABLE = 433,
-     IMPLICIT_P = 434,
-     IMPORT_P = 435,
-     IN_P = 436,
-     INCLUDING = 437,
-     INCREMENT = 438,
-     INDEX = 439,
-     INDEXES = 440,
-     INHERIT = 441,
-     INHERITS = 442,
-     INITIALLY = 443,
-     INLINE_P = 444,
-     INNER_P = 445,
-     INOUT = 446,
-     INPUT_P = 447,
-     INSENSITIVE = 448,
-     INSERT = 449,
-     INSTEAD = 450,
-     INT_P = 451,
-     INTEGER = 452,
-     INTERSECT = 453,
-     INTERVAL = 454,
-     INTO = 455,
-     INVOKER = 456,
-     IS = 457,
-     ISNULL = 458,
-     ISOLATION = 459,
-     JOIN = 460,
-     KEY = 461,
-     LABEL = 462,
-     LANGUAGE = 463,
-     LARGE_P = 464,
-     LAST_P = 465,
-     LATERAL_P = 466,
-     LEADING = 467,
-     LEAKPROOF = 468,
-     LEAST = 469,
-     LEFT = 470,
-     LEVEL = 471,
-     LIKE = 472,
-     LIMIT = 473,
-     LISTEN = 474,
-     LOAD = 475,
-     LOCAL = 476,
-     LOCALTIME = 477,
-     LOCALTIMESTAMP = 478,
-     LOCATION = 479,
-     LOCK_P = 480,
-     LOCKED = 481,
-     LOGGED = 482,
-     MAPPING = 483,
-     MATCH = 484,
-     MATERIALIZED = 485,
-     MAXVALUE = 486,
-     METHOD = 487,
-     MINUTE_P = 488,
-     MINVALUE = 489,
-     MODE = 490,
-     MONTH_P = 491,
-     MOVE = 492,
-     NAME_P = 493,
-     NAMES = 494,
-     NATIONAL = 495,
-     NATURAL = 496,
-     NCHAR = 497,
-     NEXT = 498,
-     NO = 499,
-     NONE = 500,
-     NOT = 501,
-     NOTHING = 502,
-     NOTIFY = 503,
-     NOTNULL = 504,
-     NOWAIT = 505,
-     NULL_P = 506,
-     NULLIF = 507,
-     NULLS_P = 508,
-     NUMERIC = 509,
-     OBJECT_P = 510,
-     OF = 511,
-     OFF = 512,
-     OFFSET = 513,
-     OIDS = 514,
-     ON = 515,
-     ONLY = 516,
-     OPERATOR = 517,
-     OPTION = 518,
-     OPTIONS = 519,
-     OR = 520,
-     ORDER = 521,
-     ORDINALITY = 522,
-     OUT_P = 523,
-     OUTER_P = 524,
-     OVER = 525,
-     OVERLAPS = 526,
-     OVERLAY = 527,
-     OWNED = 528,
-     OWNER = 529,
-     PARALLEL = 530,
-     PARSER = 531,
-     PARTIAL = 532,
-     PARTITION = 533,
-     PASSING = 534,
-     PASSWORD = 535,
-     PGPOOL = 536,
-     PLACING = 537,
-     PLANS = 538,
-     POLICY = 539,
-     POSITION = 540,
-     PRECEDING = 541,
-     PRECISION = 542,
-     PRESERVE = 543,
-     PREPARE = 544,
-     PREPARED = 545,
-     PRIMARY = 546,
-     PRIOR = 547,
-     PRIVILEGES = 548,
-     PROCEDURAL = 549,
-     PROCEDURE = 550,
-     PROGRAM = 551,
-     QUOTE = 552,
-     RANGE = 553,
-     READ = 554,
-     REAL = 555,
-     REASSIGN = 556,
-     RECHECK = 557,
-     RECURSIVE = 558,
-     REF = 559,
-     REFERENCES = 560,
-     REFRESH = 561,
-     REINDEX = 562,
-     RELATIVE_P = 563,
-     RELEASE = 564,
-     RENAME = 565,
-     REPEATABLE = 566,
-     REPLACE = 567,
-     REPLICA = 568,
-     RESET = 569,
-     RESTART = 570,
-     RESTRICT = 571,
-     RETURNING = 572,
-     RETURNS = 573,
-     REVOKE = 574,
-     RIGHT = 575,
-     ROLE = 576,
-     ROLLBACK = 577,
-     ROLLUP = 578,
-     ROW = 579,
-     ROWS = 580,
-     RULE = 581,
-     SAVEPOINT = 582,
-     SCHEMA = 583,
-     SCROLL = 584,
-     SEARCH = 585,
-     SECOND_P = 586,
-     SECURITY = 587,
-     SELECT = 588,
-     SEQUENCE = 589,
-     SEQUENCES = 590,
-     SERIALIZABLE = 591,
-     SERVER = 592,
-     SESSION = 593,
-     SESSION_USER = 594,
-     SET = 595,
-     SETS = 596,
-     SETOF = 597,
-     SHARE = 598,
-     SHOW = 599,
-     SIMILAR = 600,
-     SIMPLE = 601,
-     SKIP = 602,
-     SMALLINT = 603,
-     SNAPSHOT = 604,
-     SOME = 605,
-     SQL_P = 606,
-     STABLE = 607,
-     STANDALONE_P = 608,
-     START = 609,
-     STATEMENT = 610,
-     STATISTICS = 611,
-     STDIN = 612,
-     STDOUT = 613,
-     STORAGE = 614,
-     STRICT_P = 615,
-     STRIP_P = 616,
-     SUBSTRING = 617,
-     SYMMETRIC = 618,
-     SYSID = 619,
-     SYSTEM_P = 620,
-     TABLE = 621,
-     TABLES = 622,
-     TABLESAMPLE = 623,
-     TABLESPACE = 624,
-     TEMP = 625,
-     TEMPLATE = 626,
-     TEMPORARY = 627,
-     TEXT_P = 628,
-     THEN = 629,
-     TIME = 630,
-     TIMESTAMP = 631,
-     TO = 632,
-     TRAILING = 633,
-     TRANSACTION = 634,
-     TRANSFORM = 635,
-     TREAT = 636,
-     TRIGGER = 637,
-     TRIM = 638,
-     TRUE_P = 639,
-     TRUNCATE = 640,
-     TRUSTED = 641,
-     TYPE_P = 642,
-     TYPES_P = 643,
-     UNBOUNDED = 644,
-     UNCOMMITTED = 645,
-     UNENCRYPTED = 646,
-     UNION = 647,
-     UNIQUE = 648,
-     UNKNOWN = 649,
-     UNLISTEN = 650,
-     UNLOGGED = 651,
-     UNTIL = 652,
-     UPDATE = 653,
-     USER = 654,
-     USING = 655,
-     VACUUM = 656,
-     VALID = 657,
-     VALIDATE = 658,
-     VALIDATOR = 659,
-     VALUE_P = 660,
-     VALUES = 661,
-     VARCHAR = 662,
-     VARIADIC = 663,
-     VARYING = 664,
-     VERBOSE = 665,
-     VERSION_P = 666,
-     VIEW = 667,
-     VIEWS = 668,
-     VOLATILE = 669,
-     WHEN = 670,
-     WHERE = 671,
-     WHITESPACE_P = 672,
-     WINDOW = 673,
-     WITH = 674,
-     WITHIN = 675,
-     WITHOUT = 676,
-     WORK = 677,
-     WRAPPER = 678,
-     WRITE = 679,
-     XML_P = 680,
-     XMLATTRIBUTES = 681,
-     XMLCONCAT = 682,
-     XMLELEMENT = 683,
-     XMLEXISTS = 684,
-     XMLFOREST = 685,
-     XMLPARSE = 686,
-     XMLPI = 687,
-     XMLROOT = 688,
-     XMLSERIALIZE = 689,
-     YEAR_P = 690,
-     YES_P = 691,
-     ZONE = 692,
-     NOT_LA = 693,
-     NULLS_LA = 694,
-     WITH_LA = 695,
-     POSTFIXOP = 696,
-     UMINUS = 697
-   };
+  enum yytokentype
+  {
+    IDENT = 258,
+    FCONST = 259,
+    SCONST = 260,
+    BCONST = 261,
+    XCONST = 262,
+    Op = 263,
+    ICONST = 264,
+    PARAM = 265,
+    TYPECAST = 266,
+    DOT_DOT = 267,
+    COLON_EQUALS = 268,
+    EQUALS_GREATER = 269,
+    LESS_EQUALS = 270,
+    GREATER_EQUALS = 271,
+    NOT_EQUALS = 272,
+    ABORT_P = 273,
+    ABSOLUTE_P = 274,
+    ACCESS = 275,
+    ACTION = 276,
+    ADD_P = 277,
+    ADMIN = 278,
+    AFTER = 279,
+    AGGREGATE = 280,
+    ALL = 281,
+    ALSO = 282,
+    ALTER = 283,
+    ALWAYS = 284,
+    ANALYSE = 285,
+    ANALYZE = 286,
+    AND = 287,
+    ANY = 288,
+    ARRAY = 289,
+    AS = 290,
+    ASC = 291,
+    ASSERTION = 292,
+    ASSIGNMENT = 293,
+    ASYMMETRIC = 294,
+    AT = 295,
+    ATTRIBUTE = 296,
+    AUTHORIZATION = 297,
+    BACKWARD = 298,
+    BEFORE = 299,
+    BEGIN_P = 300,
+    BETWEEN = 301,
+    BIGINT = 302,
+    BINARY = 303,
+    BIT = 304,
+    BOOLEAN_P = 305,
+    BOTH = 306,
+    BY = 307,
+    CACHE = 308,
+    CALLED = 309,
+    CASCADE = 310,
+    CASCADED = 311,
+    CASE = 312,
+    CAST = 313,
+    CATALOG_P = 314,
+    CHAIN = 315,
+    CHAR_P = 316,
+    CHARACTER = 317,
+    CHARACTERISTICS = 318,
+    CHECK = 319,
+    CHECKPOINT = 320,
+    CLASS = 321,
+    CLOSE = 322,
+    CLUSTER = 323,
+    COALESCE = 324,
+    COLLATE = 325,
+    COLLATION = 326,
+    COLUMN = 327,
+    COMMENT = 328,
+    COMMENTS = 329,
+    COMMIT = 330,
+    COMMITTED = 331,
+    CONCURRENTLY = 332,
+    CONFIGURATION = 333,
+    CONFLICT = 334,
+    CONNECTION = 335,
+    CONSTRAINT = 336,
+    CONSTRAINTS = 337,
+    CONTENT_P = 338,
+    CONTINUE_P = 339,
+    CONVERSION_P = 340,
+    COPY = 341,
+    COST = 342,
+    CREATE = 343,
+    CROSS = 344,
+    CSV = 345,
+    CUBE = 346,
+    CURRENT_P = 347,
+    CURRENT_CATALOG = 348,
+    CURRENT_DATE = 349,
+    CURRENT_ROLE = 350,
+    CURRENT_SCHEMA = 351,
+    CURRENT_TIME = 352,
+    CURRENT_TIMESTAMP = 353,
+    CURRENT_USER = 354,
+    CURSOR = 355,
+    CYCLE = 356,
+    DATA_P = 357,
+    DATABASE = 358,
+    DAY_P = 359,
+    DEALLOCATE = 360,
+    DEC = 361,
+    DECIMAL_P = 362,
+    DECLARE = 363,
+    DEFAULT = 364,
+    DEFAULTS = 365,
+    DEFERRABLE = 366,
+    DEFERRED = 367,
+    DEFINER = 368,
+    DELETE_P = 369,
+    DELIMITER = 370,
+    DELIMITERS = 371,
+    DEPENDS = 372,
+    DESC = 373,
+    DICTIONARY = 374,
+    DISABLE_P = 375,
+    DISCARD = 376,
+    DISTINCT = 377,
+    DO = 378,
+    DOCUMENT_P = 379,
+    DOMAIN_P = 380,
+    DOUBLE_P = 381,
+    DROP = 382,
+    EACH = 383,
+    ELSE = 384,
+    ENABLE_P = 385,
+    ENCODING = 386,
+    ENCRYPTED = 387,
+    END_P = 388,
+    ENUM_P = 389,
+    ESCAPE = 390,
+    EVENT = 391,
+    EXCEPT = 392,
+    EXCLUDE = 393,
+    EXCLUDING = 394,
+    EXCLUSIVE = 395,
+    EXECUTE = 396,
+    EXISTS = 397,
+    EXPLAIN = 398,
+    EXTENSION = 399,
+    EXTERNAL = 400,
+    EXTRACT = 401,
+    FALSE_P = 402,
+    FAMILY = 403,
+    FETCH = 404,
+    FILTER = 405,
+    FIRST_P = 406,
+    FLOAT_P = 407,
+    FOLLOWING = 408,
+    FOR = 409,
+    FORCE = 410,
+    FOREIGN = 411,
+    FORWARD = 412,
+    FREEZE = 413,
+    FROM = 414,
+    FULL = 415,
+    FUNCTION = 416,
+    FUNCTIONS = 417,
+    GLOBAL = 418,
+    GRANT = 419,
+    GRANTED = 420,
+    GREATEST = 421,
+    GROUP_P = 422,
+    GROUPING = 423,
+    HANDLER = 424,
+    HAVING = 425,
+    HEADER_P = 426,
+    HOLD = 427,
+    HOUR_P = 428,
+    IDENTITY_P = 429,
+    IF_P = 430,
+    ILIKE = 431,
+    IMMEDIATE = 432,
+    IMMUTABLE = 433,
+    IMPLICIT_P = 434,
+    IMPORT_P = 435,
+    IN_P = 436,
+    INCLUDING = 437,
+    INCREMENT = 438,
+    INDEX = 439,
+    INDEXES = 440,
+    INHERIT = 441,
+    INHERITS = 442,
+    INITIALLY = 443,
+    INLINE_P = 444,
+    INNER_P = 445,
+    INOUT = 446,
+    INPUT_P = 447,
+    INSENSITIVE = 448,
+    INSERT = 449,
+    INSTEAD = 450,
+    INT_P = 451,
+    INTEGER = 452,
+    INTERSECT = 453,
+    INTERVAL = 454,
+    INTO = 455,
+    INVOKER = 456,
+    IS = 457,
+    ISNULL = 458,
+    ISOLATION = 459,
+    JOIN = 460,
+    KEY = 461,
+    LABEL = 462,
+    LANGUAGE = 463,
+    LARGE_P = 464,
+    LAST_P = 465,
+    LATERAL_P = 466,
+    LEADING = 467,
+    LEAKPROOF = 468,
+    LEAST = 469,
+    LEFT = 470,
+    LEVEL = 471,
+    LIKE = 472,
+    LIMIT = 473,
+    LISTEN = 474,
+    LOAD = 475,
+    LOCAL = 476,
+    LOCALTIME = 477,
+    LOCALTIMESTAMP = 478,
+    LOCATION = 479,
+    LOCK_P = 480,
+    LOCKED = 481,
+    LOGGED = 482,
+    MAPPING = 483,
+    MATCH = 484,
+    MATERIALIZED = 485,
+    MAXVALUE = 486,
+    METHOD = 487,
+    MINUTE_P = 488,
+    MINVALUE = 489,
+    MODE = 490,
+    MONTH_P = 491,
+    MOVE = 492,
+    NAME_P = 493,
+    NAMES = 494,
+    NATIONAL = 495,
+    NATURAL = 496,
+    NCHAR = 497,
+    NEXT = 498,
+    NO = 499,
+    NONE = 500,
+    NOT = 501,
+    NOTHING = 502,
+    NOTIFY = 503,
+    NOTNULL = 504,
+    NOWAIT = 505,
+    NULL_P = 506,
+    NULLIF = 507,
+    NULLS_P = 508,
+    NUMERIC = 509,
+    OBJECT_P = 510,
+    OF = 511,
+    OFF = 512,
+    OFFSET = 513,
+    OIDS = 514,
+    ON = 515,
+    ONLY = 516,
+    OPERATOR = 517,
+    OPTION = 518,
+    OPTIONS = 519,
+    OR = 520,
+    ORDER = 521,
+    ORDINALITY = 522,
+    OUT_P = 523,
+    OUTER_P = 524,
+    OVER = 525,
+    OVERLAPS = 526,
+    OVERLAY = 527,
+    OWNED = 528,
+    OWNER = 529,
+    PARALLEL = 530,
+    PARSER = 531,
+    PARTIAL = 532,
+    PARTITION = 533,
+    PASSING = 534,
+    PASSWORD = 535,
+    PGPOOL = 536,
+    PLACING = 537,
+    PLANS = 538,
+    POLICY = 539,
+    POSITION = 540,
+    PRECEDING = 541,
+    PRECISION = 542,
+    PRESERVE = 543,
+    PREPARE = 544,
+    PREPARED = 545,
+    PRIMARY = 546,
+    PRIOR = 547,
+    PRIVILEGES = 548,
+    PROCEDURAL = 549,
+    PROCEDURE = 550,
+    PROGRAM = 551,
+    QUOTE = 552,
+    RANGE = 553,
+    READ = 554,
+    REAL = 555,
+    REASSIGN = 556,
+    RECHECK = 557,
+    RECURSIVE = 558,
+    REF = 559,
+    REFERENCES = 560,
+    REFRESH = 561,
+    REINDEX = 562,
+    RELATIVE_P = 563,
+    RELEASE = 564,
+    RENAME = 565,
+    REPEATABLE = 566,
+    REPLACE = 567,
+    REPLICA = 568,
+    RESET = 569,
+    RESTART = 570,
+    RESTRICT = 571,
+    RETURNING = 572,
+    RETURNS = 573,
+    REVOKE = 574,
+    RIGHT = 575,
+    ROLE = 576,
+    ROLLBACK = 577,
+    ROLLUP = 578,
+    ROW = 579,
+    ROWS = 580,
+    RULE = 581,
+    SAVEPOINT = 582,
+    SCHEMA = 583,
+    SCROLL = 584,
+    SEARCH = 585,
+    SECOND_P = 586,
+    SECURITY = 587,
+    SELECT = 588,
+    SEQUENCE = 589,
+    SEQUENCES = 590,
+    SERIALIZABLE = 591,
+    SERVER = 592,
+    SESSION = 593,
+    SESSION_USER = 594,
+    SET = 595,
+    SETS = 596,
+    SETOF = 597,
+    SHARE = 598,
+    SHOW = 599,
+    SIMILAR = 600,
+    SIMPLE = 601,
+    SKIP = 602,
+    SMALLINT = 603,
+    SNAPSHOT = 604,
+    SOME = 605,
+    SQL_P = 606,
+    STABLE = 607,
+    STANDALONE_P = 608,
+    START = 609,
+    STATEMENT = 610,
+    STATISTICS = 611,
+    STDIN = 612,
+    STDOUT = 613,
+    STORAGE = 614,
+    STRICT_P = 615,
+    STRIP_P = 616,
+    SUBSTRING = 617,
+    SYMMETRIC = 618,
+    SYSID = 619,
+    SYSTEM_P = 620,
+    TABLE = 621,
+    TABLES = 622,
+    TABLESAMPLE = 623,
+    TABLESPACE = 624,
+    TEMP = 625,
+    TEMPLATE = 626,
+    TEMPORARY = 627,
+    TEXT_P = 628,
+    THEN = 629,
+    TIME = 630,
+    TIMESTAMP = 631,
+    TO = 632,
+    TRAILING = 633,
+    TRANSACTION = 634,
+    TRANSFORM = 635,
+    TREAT = 636,
+    TRIGGER = 637,
+    TRIM = 638,
+    TRUE_P = 639,
+    TRUNCATE = 640,
+    TRUSTED = 641,
+    TYPE_P = 642,
+    TYPES_P = 643,
+    UNBOUNDED = 644,
+    UNCOMMITTED = 645,
+    UNENCRYPTED = 646,
+    UNION = 647,
+    UNIQUE = 648,
+    UNKNOWN = 649,
+    UNLISTEN = 650,
+    UNLOGGED = 651,
+    UNTIL = 652,
+    UPDATE = 653,
+    USER = 654,
+    USING = 655,
+    VACUUM = 656,
+    VALID = 657,
+    VALIDATE = 658,
+    VALIDATOR = 659,
+    VALUE_P = 660,
+    VALUES = 661,
+    VARCHAR = 662,
+    VARIADIC = 663,
+    VARYING = 664,
+    VERBOSE = 665,
+    VERSION_P = 666,
+    VIEW = 667,
+    VIEWS = 668,
+    VOLATILE = 669,
+    WHEN = 670,
+    WHERE = 671,
+    WHITESPACE_P = 672,
+    WINDOW = 673,
+    WITH = 674,
+    WITHIN = 675,
+    WITHOUT = 676,
+    WORK = 677,
+    WRAPPER = 678,
+    WRITE = 679,
+    XML_P = 680,
+    XMLATTRIBUTES = 681,
+    XMLCONCAT = 682,
+    XMLELEMENT = 683,
+    XMLEXISTS = 684,
+    XMLFOREST = 685,
+    XMLPARSE = 686,
+    XMLPI = 687,
+    XMLROOT = 688,
+    XMLSERIALIZE = 689,
+    YEAR_P = 690,
+    YES_P = 691,
+    ZONE = 692,
+    NOT_LA = 693,
+    NULLS_LA = 694,
+    WITH_LA = 695,
+    POSTFIXOP = 696,
+    UMINUS = 697
+  };
 #endif
 /* Tokens.  */
 #define IDENT 258
@@ -930,13 +929,12 @@ extern int base_yydebug;
 #define POSTFIXOP 696
 #define UMINUS 697
 
-
-
+/* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+
+union YYSTYPE
 {
-/* Line 2058 of yacc.c  */
-#line 227 "gram.y"
+#line 226 "gram.y" /* yacc.c:1909  */
 
        core_YYSTYPE            core_yystype;
        /* these fields must match core_YYSTYPE: */
@@ -976,41 +974,30 @@ typedef union YYSTYPE
        InsertStmt                      *istmt;
        VariableSetStmt         *vsetstmt;
 
+#line 978 "gram.h" /* yacc.c:1909  */
+};
 
-/* Line 2058 of yacc.c  */
-#line 982 "gram.h"
-} YYSTYPE;
+typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 #endif
 
+/* Location type.  */
 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
-typedef struct YYLTYPE
+typedef struct YYLTYPE YYLTYPE;
+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
 
 
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int base_yyparse (void *YYPARSE_PARAM);
-#else
-int base_yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
+
 int base_yyparse (core_yyscan_t yyscanner);
-#else
-int base_yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
 
 #endif /* !YY_BASE_YY_GRAM_H_INCLUDED  */
index bd4d00700c3d008065faafc7e888f63fd7e4504c..672e507a50c8c984886d5317e6e88b7ae3751189 100644 (file)
@@ -2708,9 +2708,10 @@ POOL_STATUS ProcessBackendResponse(POOL_CONNECTION *frontend,
                                status = SimpleForwardToFrontend(kind, frontend, backend);
                                break;
                }
-
+#ifdef NOT_USED
                if (STREAM && pool_is_doing_extended_query_message())
                        pool_reset_preferred_master_node_id();
+#endif
        }
        else
        {