pgpool2.git / summary / log / commit / refs

commit    da5a405f0bc2b99e1b8a5d6594a205c680d2aa3d
Author:   Tatsuo Ishii <ishii at sraoss.co.jp>
Date:     Wed Nov 10 02:17:29 2010 +0000

    Update grammer files generated by bison.


parser/gram.c | 7993 +++++++++++++++++++++++++++++++++++++++------------------ parser/gram.h | 60 +- 2 files changed, 5600 insertions(+), 2453 deletions(-) diff --git a/parser/gram.c b/parser/gram.c index 4ace1b34a..08b0314ff 100644 --- a/parser/gram.c +++ b/parser/gram.c @@ -1,30 +1,39 @@ -/* A Bison parser, made by GNU Bison 2.1. */ -/* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +/* A Bison parser, made by GNU Bison 2.4.1. */ - This program is free software; you can redistribute it and/or modify +/* Skeleton implementation for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - + 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, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* Written by Richard Stallman by simplifying the original so called - ``semantic'' parser. */ + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + 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. */ + +/* C LALR(1) parser skeleton written by Richard Stallman, by + simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local @@ -37,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.1" +#define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -45,18 +54,206 @@ /* Pure parsers. */ #define YYPURE 0 +/* Push parsers. */ +#define YYPUSH 0 + +/* Pull parsers. */ +#define YYPULL 1 + /* Using locations. */ #define YYLSP_NEEDED 1 /* Substitute the variable and function names. */ -#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 +#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 189 of yacc.c */ +#line 1 "gram.y" + + +/*#define YYDEBUG 1*/ +/*------------------------------------------------------------------------- + * + * gram.y + * POSTGRES SQL YACC rules/actions + * + * Portions Copyright (c) 2003-2009, PgPool Global Development Group + * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.662 2009/04/06 08:42:52 heikki Exp $ + * + * HISTORY + * AUTHOR DATE MAJOR EVENT + * Andrew Yu Sept, 1994 POSTQUEL to SQL conversion + * Andrew Yu Oct, 1994 lispy code conversion + * + * NOTES + * CAPITALS are used to represent terminal symbols. + * non-capitals are used to represent non-terminals. + * SQL92-specific syntax is separated from plain SQL/Postgres syntax + * to help isolate the non-extensible portions of the parser. + * + * In general, nothing in this file should initiate database accesses + * nor depend on changeable state (such as SET variables). If you do + * database accesses, your code will fail when we have aborted the + * current transaction and are just parsing commands to find the next + * ROLLBACK or COMMIT. If you make use of SET variables, then you + * will do the wrong thing in multi-query strings like this: + * SET SQL_inheritance TO off; SELECT * FROM foo; + * because the entire string is parsed by gram.y before the SET gets + * executed. Anything that depends on the database or changeable state + * should be handled during parse analysis so that it happens at the + * right time not the wrong time. The handling of SQL_inheritance is + * a good example. + * + * WARNINGS + * If you use a list, make sure the datum is a node so that the printing + * routines work. + * + * Sometimes we assign constants to makeStrings. Make sure we don't free + * those. + * + *------------------------------------------------------------------------- + */ +#include "pool_parser.h" + +#include <ctype.h> +#include <limits.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "nodes.h" +#include "keywords.h" +#include "pool_memory.h" +#include "gramparse.h" +#include "makefuncs.h" +#include "pool_string.h" +#include "parser.h" + +/* Location tracking support --- simpler than bison's default */ +#define YYLLOC_DEFAULT(Current, Rhs, N) \ + do { \ + if (N) \ + (Current) = (Rhs)[1]; \ + else \ + (Current) = (Rhs)[0]; \ + } while (0) + +/* + * We track token locations in terms of byte offsets from the start of the + * source string, not the column number/line number representation that + * bison uses by default. Also, to minimize overhead we track only one + * location (usually the first token location) for each construct, not + * the beginning and ending locations as bison does by default. It's + * therefore sufficient to make YYLTYPE an int. + */ +#define YYLTYPE int + +/* for XML data type */ +typedef enum +{ + XML_STANDALONE_YES, + XML_STANDALONE_NO, + XML_STANDALONE_NO_VALUE, + XML_STANDALONE_OMITTED +} XmlStandaloneType; + + +/* + * The %name-prefix option below will make bison call base_yylex, but we + * really want it to call filtered_base_yylex (see parser.c). + */ +#define base_yylex filtered_base_yylex + +#define ereport(a,b) yyerror("") +#define Assert(expr) ((void) 0) +List *parsetree; /* final parse result is delivered here */ + +static bool QueryIsRule = FALSE; + +extern TypeName *SystemTypeName(char *name); +extern List *SystemFuncName(char *name); +extern void yyerror(const char *s); + +/* Private struct for the result of privilege_target production */ +typedef struct PrivTarget +{ + GrantObjectType objtype; + List *objs; +} PrivTarget; + +/* + * If you need access to certain yacc-generated variables and find that + * they're static by default, uncomment the next line. (this is not a + * problem, yet.) + */ +/*#define __YYSCLASS*/ + +static Node *makeColumnRef(char *colname, List *indirection, int location); +static Node *makeTypeCast(Node *arg, TypeName *typename, int location); +static Node *makeStringConst(char *str, int location); +static Node *makeStringConstCast(char *str, int location, TypeName *typename); +static Node *makeIntConst(int val, int location); +static Node *makeFloatConst(char *str, int location); +static Node *makeBitStringConst(char *str, int location); +static Node *makeNullAConst(int location); +static Node *makeAConst(Value *v, int location); +static Node *makeBoolAConst(bool state, int location); +static FuncCall *makeOverlaps(List *largs, List *rargs, int location); +static void check_qualified_name(List *names); +static List *check_func_name(List *names); +static List *check_indirection(List *indirection); +static List *extractArgTypes(List *parameters); +static SelectStmt *findLeftmostSelect(SelectStmt *node); +static void insertSelectOptions(SelectStmt *stmt, + List *sortClause, List *lockingClause, + Node *limitOffset, Node *limitCount, + WithClause *withClause); +static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg); +static Node *doNegate(Node *n, int location); +static void doNegateFloat(Value *v); +static Node *makeAArrayExpr(List *elements, int location); +static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args, + List *args, int location); +static List *mergeTableFuncParameters(List *func_args, List *columns); +static TypeName *TableFuncTypeName(List *columns); +static DefElem *defWithOids(bool value); + + + +/* Line 189 of yacc.c */ +#line 238 "gram.c" + +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +/* Enabling the token table. */ +#ifndef YYTOKEN_TABLE +# define YYTOKEN_TABLE 0 +#endif + /* Tokens. */ #ifndef YYTOKENTYPE @@ -863,205 +1060,33 @@ #define XMLROOT 645 #define XMLSERIALIZE 646 #define YEAR_P 647 -#define YES_P 648 -#define ZONE 649 -#define NULLS_FIRST 650 -#define NULLS_LAST 651 -#define WITH_TIME 652 -#define IDENT 653 -#define FCONST 654 -#define SCONST 655 -#define BCONST 656 -#define XCONST 657 -#define Op 658 -#define ICONST 659 -#define PARAM 660 -#define POSTFIXOP 661 -#define UMINUS 662 -#define TYPECAST 663 - - - - -/* Copy the first part of user declarations. */ -#line 1 "gram.y" - - -/*#define YYDEBUG 1*/ -/*------------------------------------------------------------------------- - * - * gram.y - * POSTGRES SQL YACC rules/actions - * - * Portions Copyright (c) 2003-2009, PgPool Global Development Group - * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.662 2009/04/06 08:42:52 heikki Exp $ - * - * HISTORY - * AUTHOR DATE MAJOR EVENT - * Andrew Yu Sept, 1994 POSTQUEL to SQL conversion - * Andrew Yu Oct, 1994 lispy code conversion - * - * NOTES - * CAPITALS are used to represent terminal symbols. - * non-capitals are used to represent non-terminals. - * SQL92-specific syntax is separated from plain SQL/Postgres syntax - * to help isolate the non-extensible portions of the parser. - * - * In general, nothing in this file should initiate database accesses - * nor depend on changeable state (such as SET variables). If you do - * database accesses, your code will fail when we have aborted the - * current transaction and are just parsing commands to find the next - * ROLLBACK or COMMIT. If you make use of SET variables, then you - * will do the wrong thing in multi-query strings like this: - * SET SQL_inheritance TO off; SELECT * FROM foo; - * because the entire string is parsed by gram.y before the SET gets - * executed. Anything that depends on the database or changeable state - * should be handled during parse analysis so that it happens at the - * right time not the wrong time. The handling of SQL_inheritance is - * a good example. - * - * WARNINGS - * If you use a list, make sure the datum is a node so that the printing - * routines work. - * - * Sometimes we assign constants to makeStrings. Make sure we don't free - * those. - * - *------------------------------------------------------------------------- - */ -#include "pool_parser.h" - -#include <ctype.h> -#include <limits.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "nodes.h" -#include "keywords.h" -#include "pool_memory.h" -#include "gramparse.h" -#include "makefuncs.h" -#include "pool_string.h" -#include "parser.h" - -/* Location tracking support --- simpler than bison's default */ -#define YYLLOC_DEFAULT(Current, Rhs, N) \ - do { \ - if (N) \ - (Current) = (Rhs)[1]; \ - else \ - (Current) = (Rhs)[0]; \ - } while (0) - -/* - * We track token locations in terms of byte offsets from the start of the - * source string, not the column number/line number representation that - * bison uses by default. Also, to minimize overhead we track only one - * location (usually the first token location) for each construct, not - * the beginning and ending locations as bison does by default. It's - * therefore sufficient to make YYLTYPE an int. - */ -#define YYLTYPE int - -/* for XML data type */ -typedef enum -{ - XML_STANDALONE_YES, - XML_STANDALONE_NO, - XML_STANDALONE_NO_VALUE, - XML_STANDALONE_OMITTED -} XmlStandaloneType; - - -/* - * The %name-prefix option below will make bison call base_yylex, but we - * really want it to call filtered_base_yylex (see parser.c). - */ -#define base_yylex filtered_base_yylex +#define YES_P 648 +#define ZONE 649 +#define NULLS_FIRST 650 +#define NULLS_LAST 651 +#define WITH_TIME 652 +#define IDENT 653 +#define FCONST 654 +#define SCONST 655 +#define BCONST 656 +#define XCONST 657 +#define Op 658 +#define ICONST 659 +#define PARAM 660 +#define POSTFIXOP 661 +#define UMINUS 662 +#define TYPECAST 663 -#define ereport(a,b) yyerror("") -#define Assert(expr) ((void) 0) -List *parsetree; /* final parse result is delivered here */ -static bool QueryIsRule = FALSE; -extern TypeName *SystemTypeName(char *name); -extern List *SystemFuncName(char *name); -extern void yyerror(const char *s); -/* Private struct for the result of privilege_target production */ -typedef struct PrivTarget +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE { - GrantObjectType objtype; - List *objs; -} PrivTarget; - -/* - * If you need access to certain yacc-generated variables and find that - * they're static by default, uncomment the next line. (this is not a - * problem, yet.) - */ -/*#define __YYSCLASS*/ - -static Node *makeColumnRef(char *colname, List *indirection, int location); -static Node *makeTypeCast(Node *arg, TypeName *typename, int location); -static Node *makeStringConst(char *str, int location); -static Node *makeStringConstCast(char *str, int location, TypeName *typename); -static Node *makeIntConst(int val, int location); -static Node *makeFloatConst(char *str, int location); -static Node *makeBitStringConst(char *str, int location); -static Node *makeNullAConst(int location); -static Node *makeAConst(Value *v, int location); -static Node *makeBoolAConst(bool state, int location); -static FuncCall *makeOverlaps(List *largs, List *rargs, int location); -static void check_qualified_name(List *names); -static List *check_func_name(List *names); -static List *check_indirection(List *indirection); -static List *extractArgTypes(List *parameters); -static SelectStmt *findLeftmostSelect(SelectStmt *node); -static void insertSelectOptions(SelectStmt *stmt, - List *sortClause, List *lockingClause, - Node *limitOffset, Node *limitCount, - WithClause *withClause); -static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg); -static Node *doNegate(Node *n, int location); -static void doNegateFloat(Value *v); -static Node *makeAArrayExpr(List *elements, int location); -static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args, - List *args, int location); -static List *mergeTableFuncParameters(List *func_args, List *columns); -static TypeName *TableFuncTypeName(List *columns); -static DefElem *defWithOids(bool value); - - - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) +/* Line 214 of yacc.c */ #line 162 "gram.y" -typedef union YYSTYPE { + int ival; char chr; char *str; @@ -1095,15 +1120,18 @@ typedef union YYSTYPE { InsertStmt *istmt; VariableSetStmt *vsetstmt; + + + +/* Line 214 of yacc.c */ +#line 1128 "gram.c" } YYSTYPE; -/* Line 196 of yacc.c. */ -#line 1101 "gram.c" +# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 #endif -#if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED) +#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED typedef struct YYLTYPE { int first_line; @@ -1120,23 +1148,56 @@ typedef struct YYLTYPE /* Copy the second part of user declarations. */ -/* Line 219 of yacc.c. */ -#line 1125 "gram.c" +/* Line 264 of yacc.c */ +#line 1153 "gram.c" + +#ifdef short +# undef short +#endif + +#ifdef YYTYPE_UINT8 +typedef YYTYPE_UINT8 yytype_uint8; +#else +typedef unsigned char yytype_uint8; +#endif -#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) -# define YYSIZE_T __SIZE_TYPE__ +#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; #endif -#if ! defined (YYSIZE_T) && defined (size_t) -# define YYSIZE_T size_t + +#ifdef YYTYPE_UINT16 +typedef YYTYPE_UINT16 yytype_uint16; +#else +typedef unsigned short int yytype_uint16; #endif -#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus)) -# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t + +#ifdef YYTYPE_INT16 +typedef YYTYPE_INT16 yytype_int16; +#else +typedef short int yytype_int16; #endif -#if ! defined (YYSIZE_T) -# define YYSIZE_T unsigned int + +#ifndef YYSIZE_T +# ifdef __SIZE_TYPE__ +# 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) +# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# else +# define YYSIZE_T unsigned int +# endif #endif +#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) + #ifndef YY_ # if YYENABLE_NLS # if ENABLE_NLS @@ -1149,7 +1210,32 @@ typedef struct YYLTYPE # endif #endif -#if ! defined (yyoverflow) || YYERROR_VERBOSE +/* Suppress unused-variable warnings by "using" E. */ +#if ! defined lint || defined __GNUC__ +# define YYUSE(e) ((void) (e)) +#else +# 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) +#else +static int +YYID (yyi) + int yyi; +#endif +{ + return yyi; +} +#endif + +#if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ @@ -1157,67 +1243,79 @@ typedef struct YYLTYPE # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca +# elif defined __BUILTIN_VA_ARG_INCR +# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ +# elif defined _AIX +# define YYSTACK_ALLOC __alloca +# elif defined _MSC_VER +# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ +# define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if defined (__STDC__) || defined (__cplusplus) +# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ -# define YYINCLUDED_STDLIB_H +# ifndef _STDLIB_H +# define _STDLIB_H 1 +# endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (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 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ -# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */ +# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM -# define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1) +# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif -# ifdef __cplusplus -extern "C" { +# if (defined __cplusplus && ! defined _STDLIB_H \ + && ! ((defined YYMALLOC || defined malloc) \ + && (defined YYFREE || defined free))) +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# ifndef _STDLIB_H +# define _STDLIB_H 1 +# endif # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \ - && (defined (__STDC__) || defined (__cplusplus))) +# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \ - && (defined (__STDC__) || defined (__cplusplus))) +# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif -# ifdef __cplusplus -} -# endif # endif -#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ +#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ -#if (! defined (yyoverflow) \ - && (! defined (__cplusplus) \ - || (defined (YYLTYPE_IS_TRIVIAL) && YYLTYPE_IS_TRIVIAL \ - && defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) +#if (! defined yyoverflow \ + && (! defined __cplusplus \ + || (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 { - short int yyss; - YYSTYPE yyvs; - YYLTYPE yyls; + yytype_int16 yyss_alloc; + YYSTYPE yyvs_alloc; + YYLTYPE yyls_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ @@ -1226,13 +1324,13 @@ union yyalloc /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short int) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ + ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ + 2 * YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY -# if defined (__GNUC__) && 1 < __GNUC__ +# if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else @@ -1243,7 +1341,7 @@ union yyalloc for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ - while (0) + while (YYID (0)) # endif # endif @@ -1252,37 +1350,31 @@ 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) \ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ - while (0) - -#endif + while (YYID (0)) -#if defined (__STDC__) || defined (__cplusplus) - typedef signed char yysigned_char; -#else - typedef short int yysigned_char; #endif -/* YYFINAL -- State number of the termination state. */ +/* YYFINAL -- State number of the termination state. */ #define YYFINAL 661 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 56652 -/* YYNTOKENS -- Number of terminals. */ +/* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 426 -/* YYNNTS -- Number of nonterminals. */ +/* YYNNTS -- Number of nonterminals. */ #define YYNNTS 479 -/* YYNRULES -- Number of rules. */ +/* YYNRULES -- Number of rules. */ #define YYNRULES 1993 -/* YYNRULES -- Number of states. */ +/* YYNRULES -- Number of states. */ #define YYNSTATES 3630 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ @@ -1293,7 +1385,7 @@ union yyalloc ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const unsigned short int yytranslate[] = +static const yytype_uint16 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1367,7 +1459,7 @@ static const unsigned short int yytranslate[] = #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ -static const unsigned short int yyprhs[] = +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, @@ -1571,8 +1663,8 @@ static const unsigned short int yyprhs[] = 6583, 6585, 6587, 6589 }; -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const short int yyrhs[] = +/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +static const yytype_int16 yyrhs[] = { 427, 0, -1, 428, -1, 428, 423, 429, -1, 429, -1, 699, -1, 700, -1, 705, -1, 541, -1, 555, @@ -2237,7 +2329,7 @@ static const short int yyrhs[] = }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const unsigned short int yyrline[] = +static const yytype_uint16 yyrline[] = { 0, 597, 597, 601, 607, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, @@ -2444,7 +2536,7 @@ static const unsigned short int yyrline[] = #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "ABORT_P", "ABSOLUTE_P", "ACCESS", @@ -2579,7 +2671,7 @@ static const char *const yytname[] = "oper_argtypes", "any_operator", "CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists", "ReindexStmt", "reindex_type", "opt_force", "RenameStmt", "opt_column", "opt_set_data", - "AlterObjectSchemaStmt", "AlterOwnerStmt", "RuleStmt", "@1", + "AlterObjectSchemaStmt", "AlterOwnerStmt", "RuleStmt", "$@1", "RuleActionList", "RuleActionMulti", "RuleActionStmt", "RuleActionStmtOrEmpty", "event", "opt_instead", "DropRuleStmt", "NotifyStmt", "ListenStmt", "UnlistenStmt", "TransactionStmt", @@ -2647,7 +2739,7 @@ static const char *const yytname[] = # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ -static const unsigned short int yytoknum[] = +static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, @@ -2696,7 +2788,7 @@ static const unsigned short int yytoknum[] = # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const unsigned short int yyr1[] = +static const yytype_uint16 yyr1[] = { 0, 426, 427, 428, 428, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, @@ -2901,7 +2993,7 @@ static const unsigned short int yyr1[] = }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const unsigned char yyr2[] = +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, @@ -3108,7 +3200,7 @@ static const unsigned char yyr2[] = /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ -static const unsigned short int yydefact[] = +static const yytype_uint16 yydefact[] = { 105, 903, 443, 983, 982, 903, 224, 0, 985, 0, 903, 305, 320, 0, 0, 0, 0, 443, 903, 0, @@ -3475,8 +3567,8 @@ static const unsigned short int yydefact[] = 1074, 1061, 1455, 0, 864, 873, 506, 865, 0, 489 }; -/* YYDEFGOTO[NTERM-NUM]. */ -static const short int yydefgoto[] = +/* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int16 yydefgoto[] = { -1, 49, 50, 51, 52, 1077, 1742, 2274, 53, 54, 55, 56, 57, 58, 59, 60, 61, 1107, 62, 63, @@ -3899,7 +3991,7 @@ static const int yypact[] = }; /* YYPGOTO[NTERM-NUM]. */ -static const short int yypgoto[] = +static const yytype_int16 yypgoto[] = { -3061, -3061, -3061, 2291, -3061, -695, -888, -3061, -3061, -3061, -3061, -3061, -3061, -3061, -3061, -3061, -3061, -3061, -3061, -3061, @@ -3956,7 +4048,7 @@ static const short int yypgoto[] = number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -1896 -static const short int yytable[] = +static const yytype_int16 yytable[] = { 153, 660, 726, 1063, 152, 868, 869, 1295, 1064, 1303, 873, 489, 994, 1729, 1065, 1935, 645, 1264, 1177, 1948, @@ -9626,7 +9718,7 @@ static const short int yytable[] = 0, 0, 514 }; -static const short int yycheck[] = +static const yytype_int16 yycheck[] = { 0, 48, 170, 671, 0, 577, 578, 823, 671, 830, 582, 11, 620, 1118, 673, 1322, 42, 799, 745, 1344, @@ -15298,7 +15390,7 @@ static const short int yycheck[] = /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ -static const unsigned short int yystos[] = +static const yytype_uint16 yystos[] = { 0, 3, 13, 15, 16, 29, 49, 51, 52, 56, 57, 67, 69, 88, 91, 97, 103, 109, 115, 121, @@ -15690,7 +15782,7 @@ do \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ + YYPOPSTACK (1); \ goto yybackup; \ } \ else \ @@ -15698,7 +15790,7 @@ do \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ -while (0) +while (YYID (0)) #define YYTERROR 1 @@ -15713,7 +15805,7 @@ while (0) #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ - if (N) \ + if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ @@ -15727,7 +15819,7 @@ while (0) (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ - while (0) + while (YYID (0)) #endif @@ -15739,8 +15831,8 @@ while (0) # if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) + (Loc).first_line, (Loc).first_column, \ + (Loc).last_line, (Loc).last_column) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif @@ -15767,37 +15859,105 @@ while (0) do { \ if (yydebug) \ YYFPRINTF Args; \ -} while (0) +} while (YYID (0)) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yysymprint (stderr, \ - Type, Value, Location); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (0) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Type, Value, Location); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (YYID (0)) + + +/*--------------------------------. +| Print this symbol 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) +#else +static void +yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp) + FILE *yyoutput; + int yytype; + YYSTYPE const * const yyvaluep; + YYLTYPE const * const yylocationp; +#endif +{ + if (!yyvaluep) + return; + YYUSE (yylocationp); +# ifdef YYPRINT + if (yytype < YYNTOKENS) + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# else + YYUSE (yyoutput); +# endif + switch (yytype) + { + default: + break; + } +} + + +/*--------------------------------. +| 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) +#else +static void +yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp) + FILE *yyoutput; + int yytype; + YYSTYPE const * const yyvaluep; + YYLTYPE const * const yylocationp; +#endif +{ + if (yytype < YYNTOKENS) + YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); + else + YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + + YY_LOCATION_PRINT (yyoutput, *yylocationp); + YYFPRINTF (yyoutput, ": "); + yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp); + YYFPRINTF (yyoutput, ")"); +} /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ -#if defined (__STDC__) || defined (__cplusplus) +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) static void -yy_stack_print (short int *bottom, short int *top) +yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) #else static void -yy_stack_print (bottom, top) - short int *bottom; - short int *top; +yy_stack_print (yybottom, yytop) + yytype_int16 *yybottom; + yytype_int16 *yytop; #endif { YYFPRINTF (stderr, "Stack now"); - for (/* Nothing. */; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } YYFPRINTF (stderr, "\n"); } @@ -15805,37 +15965,46 @@ yy_stack_print (bottom, top) do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ -} while (0) +} while (YYID (0)) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ -#if defined (__STDC__) || defined (__cplusplus) +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) static void -yy_reduce_print (int yyrule) +yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule) #else static void -yy_reduce_print (yyrule) +yy_reduce_print (yyvsp, yylsp, yyrule) + YYSTYPE *yyvsp; + YYLTYPE *yylsp; int yyrule; #endif { + int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ", - yyrule - 1, yylno); - /* Print the symbols being reduced, and their result. */ - for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) - YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); - YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]); + YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", + 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)]) ); + YYFPRINTF (stderr, "\n"); + } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ - yy_reduce_print (Rule); \ -} while (0) + yy_reduce_print (yyvsp, yylsp, Rule); \ +} while (YYID (0)) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ @@ -15869,42 +16038,44 @@ int yydebug; #if YYERROR_VERBOSE # ifndef yystrlen -# if defined (__GLIBC__) && defined (_STRING_H) +# if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) static YYSIZE_T -# if defined (__STDC__) || defined (__cplusplus) yystrlen (const char *yystr) -# else +#else +static YYSIZE_T yystrlen (yystr) - const char *yystr; -# endif + const char *yystr; +#endif { - const char *yys = yystr; - - while (*yys++ != '\0') + YYSIZE_T yylen; + for (yylen = 0; yystr[yylen]; yylen++) continue; - - return yys - yystr - 1; + return yylen; } # endif # endif # ifndef yystpcpy -# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) +# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # 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 * -# if defined (__STDC__) || defined (__cplusplus) yystpcpy (char *yydest, const char *yysrc) -# else +#else +static char * yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -# endif + char *yydest; + const char *yysrc; +#endif { char *yyd = yydest; const char *yys = yysrc; @@ -15930,7 +16101,7 @@ yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { - size_t yyn = 0; + YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) @@ -15965,57 +16136,123 @@ yytnamerr (char *yyres, const char *yystr) } # endif -#endif /* YYERROR_VERBOSE */ - - - -#if YYDEBUG -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp) -#else -static void -yysymprint (yyoutput, yytype, yyvaluep, yylocationp) - FILE *yyoutput; - int yytype; - YYSTYPE *yyvaluep; - YYLTYPE *yylocationp; -#endif +/* Copy into YYRESULT an error message about the unexpected token + YYCHAR while in state YYSTATE. Return the number of bytes copied, + including the terminating null byte. If YYRESULT is null, do not + copy anything; just return the number of bytes that would be + copied. As a special case, return 0 if an ordinary "syntax error" + message will do. Return YYSIZE_MAXIMUM if overflow occurs during + size calculation. */ +static YYSIZE_T +yysyntax_error (char *yyresult, int yystate, int yychar) { - /* Pacify ``unused variable'' warnings. */ - (void) yyvaluep; - (void) yylocationp; + int yyn = yypact[yystate]; - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); + if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) + return 0; else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + { + int yytype = YYTRANSLATE (yychar); + YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); + YYSIZE_T yysize = yysize0; + YYSIZE_T yysize1; + int yysize_overflow = 0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + int yyx; + +# if 0 + /* This is so xgettext sees the translatable formats that are + constructed on the fly. */ + YY_("syntax error, unexpected %s"); + YY_("syntax error, unexpected %s, expecting %s"); + YY_("syntax error, unexpected %s, expecting %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); +# endif + char *yyfmt; + char const *yyf; + static char const yyunexpected[] = "syntax error, unexpected %s"; + static char const yyexpecting[] = ", expecting %s"; + static char const yyor[] = " or %s"; + char yyformat[sizeof yyunexpected + + sizeof yyexpecting - 1 + + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) + * (sizeof yyor - 1))]; + char const *yyprefix = yyexpecting; + + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yycount = 1; + + yyarg[0] = yytname[yytype]; + yyfmt = yystpcpy (yyformat, yyunexpected); + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + yyformat[sizeof yyunexpected - 1] = '\0'; + break; + } + yyarg[yycount++] = yytname[yyx]; + yysize1 = yysize + yytnamerr (0, yytname[yyx]); + yysize_overflow |= (yysize1 < yysize); + yysize = yysize1; + yyfmt = yystpcpy (yyfmt, yyprefix); + yyprefix = yyor; + } - YY_LOCATION_PRINT (yyoutput, *yylocationp); - YYFPRINTF (yyoutput, ": "); + yyf = YY_(yyformat); + yysize1 = yysize + yystrlen (yyf); + yysize_overflow |= (yysize1 < yysize); + yysize = yysize1; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# endif - switch (yytype) - { - default: - break; + if (yysize_overflow) + return YYSIZE_MAXIMUM; + + if (yyresult) + { + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + char *yyp = yyresult; + int yyi = 0; + while ((*yyp = *yyf) != '\0') + { + if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyf += 2; + } + else + { + yyp++; + yyf++; + } + } + } + return yysize; } - YYFPRINTF (yyoutput, ")"); } +#endif /* YYERROR_VERBOSE */ + -#endif /* ! YYDEBUG */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ -#if defined (__STDC__) || defined (__cplusplus) +/*ARGSUSED*/ +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp) #else @@ -16027,9 +16264,8 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp) YYLTYPE *yylocationp; #endif { - /* Pacify ``unused variable'' warnings. */ - (void) yyvaluep; - (void) yylocationp; + YYUSE (yyvaluep); + YYUSE (yylocationp); if (!yymsg) yymsg = "Deleting"; @@ -16039,21 +16275,19 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp) { default: - break; + break; } } - /* Prevent warnings from -Wmissing-prototypes. */ - #ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) +#if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); -# else +#else int yyparse (); -# endif +#endif #else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) +#if defined __STDC__ || defined __cplusplus int yyparse (void); #else int yyparse (); @@ -16061,108 +16295,127 @@ int yyparse (); #endif /* ! YYPARSE_PARAM */ - -/* The look-ahead symbol. */ +/* The lookahead symbol. */ int yychar; -/* The semantic value of the look-ahead symbol. */ +/* The semantic value of the lookahead symbol. */ YYSTYPE yylval; +/* Location data for the lookahead symbol. */ +YYLTYPE yylloc; + /* Number of syntax errors so far. */ int yynerrs; -/* Location data for the look-ahead symbol. */ -YYLTYPE yylloc; -/*----------. -| yyparse. | -`----------*/ +/*-------------------------. +| yyparse or yypush_parse. | +`-------------------------*/ #ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM) -# else -int yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -# endif +#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 (__cplusplus) +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) int yyparse (void) #else int yyparse () - ; + #endif #endif { - - int yystate; - int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Look-ahead token as an internal (translated) token number. */ - int yytoken = 0; - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ + int yystate; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + + /* The stacks and their tools: + `yyss': related to states. + `yyvs': related to semantic values. + `yyls': related to locations. - /* The state stack. */ - short int yyssa[YYINITDEPTH]; - short int *yyss = yyssa; - short int *yyssp; + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss; + yytype_int16 *yyssp; - /* The location stack. */ - YYLTYPE yylsa[YYINITDEPTH]; - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - /* The locations where the error started and ended. */ - YYLTYPE yyerror_range[2]; + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) + /* The location stack. */ + YYLTYPE yylsa[YYINITDEPTH]; + YYLTYPE *yyls; + YYLTYPE *yylsp; - YYSIZE_T yystacksize = YYINITDEPTH; + /* The locations where the error started and ended. */ + YYLTYPE yyerror_range[2]; + YYSIZE_T yystacksize; + + int yyn; + int yyresult; + /* Lookahead token as an internal (translated) token number. */ + int yytoken; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; YYLTYPE yyloc; - /* When reducing, the number of symbols on the RHS of the reduced - rule. */ - int yylen; +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +#endif + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) + + /* The number of symbols on the RHS of the reduced rule. + Keep to zero when no symbol should be popped. */ + int yylen = 0; + + yytoken = 0; + yyss = yyssa; + yyvs = yyvsa; + yyls = yylsa; + yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ + yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss; yyvsp = yyvs; yylsp = yyls; + #if YYLTYPE_IS_TRIVIAL /* Initialize the default location before parsing starts. */ yylloc.first_line = yylloc.last_line = 1; - yylloc.first_column = yylloc.last_column = 0; + yylloc.first_column = yylloc.last_column = 1; #endif goto yysetstate; @@ -16172,8 +16425,7 @@ yyparse () `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. - */ + have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: @@ -16186,11 +16438,11 @@ yyparse () #ifdef yyoverflow { - /* Give user a chance to reallocate the stack. Use copies of + /* 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; - short int *yyss1 = yyss; + yytype_int16 *yyss1 = yyss; YYLTYPE *yyls1 = yyls; /* Each stack pointer address is followed by the size of the @@ -16202,6 +16454,7 @@ yyparse () &yyvs1, yysize * sizeof (*yyvsp), &yyls1, yysize * sizeof (*yylsp), &yystacksize); + yyls = yyls1; yyss = yyss1; yyvs = yyvs1; @@ -16218,14 +16471,14 @@ yyparse () yystacksize = YYMAXDEPTH; { - short int *yyss1 = yyss; + yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - YYSTACK_RELOCATE (yyls); + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); + YYSTACK_RELOCATE (yyls_alloc, yyls); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); @@ -16246,6 +16499,9 @@ yyparse () YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + if (yystate == YYFINAL) + YYACCEPT; + goto yybackup; /*-----------. @@ -16253,19 +16509,17 @@ yyparse () `-----------*/ yybackup: -/* Do appropriate processing given the current state. */ -/* Read a look-ahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to look-ahead token. */ + /* Do appropriate processing given the current state. Read a + lookahead token if we need one and don't already have one. */ + /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; - /* Not known => get a look-ahead token if don't already have one. */ + /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); @@ -16297,25 +16551,20 @@ yybackup: goto yyreduce; } - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the look-ahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; - *++yylsp = yylloc; - /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; + /* Shift the lookahead token. */ + YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); + + /* Discard the shifted token. */ + yychar = YYEMPTY; + yystate = yyn; + *++yyvsp = yylval; + *++yylsp = yylloc; goto yynewstate; @@ -16346,79 +16595,101 @@ yyreduce: GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; - /* Default location. */ - YYLLOC_DEFAULT (yyloc, yylsp - yylen, yylen); + /* Default location. */ + YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: + +/* Line 1455 of yacc.c */ #line 597 "gram.y" - { parsetree = (yyvsp[0].list); } + { parsetree = (yyvsp[(1) - (1)].list); } break; case 3: + +/* Line 1455 of yacc.c */ #line 602 "gram.y" - { if ((yyvsp[0].node) != NULL) - (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); + { if ((yyvsp[(3) - (3)].node) != NULL) + (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); else - (yyval.list) = (yyvsp[-2].list); + (yyval.list) = (yyvsp[(1) - (3)].list); } break; case 4: + +/* Line 1455 of yacc.c */ #line 608 "gram.y" - { if ((yyvsp[0].node) != NULL) - (yyval.list) = list_make1((yyvsp[0].node)); + { if ((yyvsp[(1) - (1)].node) != NULL) + (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); else (yyval.list) = NIL; } break; case 105: + +/* Line 1455 of yacc.c */ #line 717 "gram.y" { (yyval.node) = NULL; } break; case 106: + +/* Line 1455 of yacc.c */ #line 728 "gram.y" { CreateRoleStmt *n = makeNode(CreateRoleStmt); n->stmt_type = ROLESTMT_ROLE; - n->role = (yyvsp[-2].str); - n->options = (yyvsp[0].list); + n->role = (yyvsp[(3) - (5)].str); + n->options = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 107: + +/* Line 1455 of yacc.c */ #line 738 "gram.y" {} break; case 108: + +/* Line 1455 of yacc.c */ #line 739 "gram.y" {} break; case 109: + +/* Line 1455 of yacc.c */ #line 748 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); } break; case 110: + +/* Line 1455 of yacc.c */ #line 749 "gram.y" { (yyval.list) = NIL; } break; case 111: + +/* Line 1455 of yacc.c */ #line 754 "gram.y" { (yyval.defelt) = makeDefElem("password", - (Node *)makeString((yyvsp[0].str))); + (Node *)makeString((yyvsp[(2) - (2)].str))); } break; case 112: + +/* Line 1455 of yacc.c */ #line 759 "gram.y" { (yyval.defelt) = makeDefElem("password", NULL); @@ -16426,22 +16697,28 @@ yyreduce: break; case 113: + +/* Line 1455 of yacc.c */ #line 763 "gram.y" { (yyval.defelt) = makeDefElem("encryptedPassword", - (Node *)makeString((yyvsp[0].str))); + (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 114: + +/* Line 1455 of yacc.c */ #line 768 "gram.y" { (yyval.defelt) = makeDefElem("unencryptedPassword", - (Node *)makeString((yyvsp[0].str))); + (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 115: + +/* Line 1455 of yacc.c */ #line 773 "gram.y" { (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(TRUE)); @@ -16449,6 +16726,8 @@ yyreduce: break; case 116: + +/* Line 1455 of yacc.c */ #line 777 "gram.y" { (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE)); @@ -16456,6 +16735,8 @@ yyreduce: break; case 117: + +/* Line 1455 of yacc.c */ #line 781 "gram.y" { (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(TRUE)); @@ -16463,6 +16744,8 @@ yyreduce: break; case 118: + +/* Line 1455 of yacc.c */ #line 785 "gram.y" { (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(FALSE)); @@ -16470,6 +16753,8 @@ yyreduce: break; case 119: + +/* Line 1455 of yacc.c */ #line 789 "gram.y" { (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(TRUE)); @@ -16477,6 +16762,8 @@ yyreduce: break; case 120: + +/* Line 1455 of yacc.c */ #line 793 "gram.y" { (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(FALSE)); @@ -16484,6 +16771,8 @@ yyreduce: break; case 121: + +/* Line 1455 of yacc.c */ #line 797 "gram.y" { (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(TRUE)); @@ -16491,6 +16780,8 @@ yyreduce: break; case 122: + +/* Line 1455 of yacc.c */ #line 801 "gram.y" { (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(FALSE)); @@ -16498,6 +16789,8 @@ yyreduce: break; case 123: + +/* Line 1455 of yacc.c */ #line 805 "gram.y" { /* For backwards compatibility, synonym for SUPERUSER */ @@ -16506,6 +16799,8 @@ yyreduce: break; case 124: + +/* Line 1455 of yacc.c */ #line 810 "gram.y" { (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE)); @@ -16513,6 +16808,8 @@ yyreduce: break; case 125: + +/* Line 1455 of yacc.c */ #line 814 "gram.y" { (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(TRUE)); @@ -16520,6 +16817,8 @@ yyreduce: break; case 126: + +/* Line 1455 of yacc.c */ #line 818 "gram.y" { (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(FALSE)); @@ -16527,341 +16826,417 @@ yyreduce: break; case 127: + +/* Line 1455 of yacc.c */ #line 822 "gram.y" { - (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival))); + (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[(3) - (3)].ival))); } break; case 128: + +/* Line 1455 of yacc.c */ #line 826 "gram.y" { - (yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 129: + +/* Line 1455 of yacc.c */ #line 831 "gram.y" { - (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list)); + (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list)); } break; case 130: + +/* Line 1455 of yacc.c */ #line 836 "gram.y" { - (yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival))); + (yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[(2) - (2)].ival))); } break; case 131: + +/* Line 1455 of yacc.c */ #line 840 "gram.y" { - (yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list)); + (yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[(2) - (2)].list)); } break; case 132: + +/* Line 1455 of yacc.c */ #line 844 "gram.y" { - (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list)); + (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list)); } break; case 133: + +/* Line 1455 of yacc.c */ #line 848 "gram.y" { - (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list)); + (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list)); } break; case 134: + +/* Line 1455 of yacc.c */ #line 852 "gram.y" { - (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list)); + (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list)); } break; case 135: + +/* Line 1455 of yacc.c */ #line 866 "gram.y" { CreateRoleStmt *n = makeNode(CreateRoleStmt); n->stmt_type = ROLESTMT_USER; - n->role = (yyvsp[-2].str); - n->options = (yyvsp[0].list); + n->role = (yyvsp[(3) - (5)].str); + n->options = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 136: + +/* Line 1455 of yacc.c */ #line 884 "gram.y" { AlterRoleStmt *n = makeNode(AlterRoleStmt); - n->role = (yyvsp[-2].str); + n->role = (yyvsp[(3) - (5)].str); n->action = +1; /* add, if there are members */ - n->options = (yyvsp[0].list); + n->options = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 137: + +/* Line 1455 of yacc.c */ #line 895 "gram.y" { AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt); - n->role = (yyvsp[-1].str); - n->setstmt = (yyvsp[0].vsetstmt); + n->role = (yyvsp[(3) - (4)].str); + n->setstmt = (yyvsp[(4) - (4)].vsetstmt); (yyval.node) = (Node *)n; } break; case 138: + +/* Line 1455 of yacc.c */ #line 912 "gram.y" { AlterRoleStmt *n = makeNode(AlterRoleStmt); - n->role = (yyvsp[-2].str); + n->role = (yyvsp[(3) - (5)].str); n->action = +1; /* add, if there are members */ - n->options = (yyvsp[0].list); + n->options = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 139: + +/* Line 1455 of yacc.c */ #line 924 "gram.y" { AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt); - n->role = (yyvsp[-1].str); - n->setstmt = (yyvsp[0].vsetstmt); + n->role = (yyvsp[(3) - (4)].str); + n->setstmt = (yyvsp[(4) - (4)].vsetstmt); (yyval.node) = (Node *)n; } break; case 140: + +/* Line 1455 of yacc.c */ #line 944 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); n->missing_ok = FALSE; - n->roles = (yyvsp[0].list); + n->roles = (yyvsp[(3) - (3)].list); (yyval.node) = (Node *)n; } break; case 141: + +/* Line 1455 of yacc.c */ #line 951 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); n->missing_ok = TRUE; - n->roles = (yyvsp[0].list); + n->roles = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 142: + +/* Line 1455 of yacc.c */ #line 970 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); n->missing_ok = FALSE; - n->roles = (yyvsp[0].list); + n->roles = (yyvsp[(3) - (3)].list); (yyval.node) = (Node *)n; } break; case 143: + +/* Line 1455 of yacc.c */ #line 977 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); - n->roles = (yyvsp[0].list); + n->roles = (yyvsp[(5) - (5)].list); n->missing_ok = TRUE; (yyval.node) = (Node *)n; } break; case 144: + +/* Line 1455 of yacc.c */ #line 994 "gram.y" { CreateRoleStmt *n = makeNode(CreateRoleStmt); n->stmt_type = ROLESTMT_GROUP; - n->role = (yyvsp[-2].str); - n->options = (yyvsp[0].list); + n->role = (yyvsp[(3) - (5)].str); + n->options = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 145: + +/* Line 1455 of yacc.c */ #line 1012 "gram.y" { AlterRoleStmt *n = makeNode(AlterRoleStmt); - n->role = (yyvsp[-3].str); - n->action = (yyvsp[-2].ival); + n->role = (yyvsp[(3) - (6)].str); + n->action = (yyvsp[(4) - (6)].ival); n->options = list_make1(makeDefElem("rolemembers", - (Node *)(yyvsp[0].list))); + (Node *)(yyvsp[(6) - (6)].list))); (yyval.node) = (Node *)n; } break; case 146: + +/* Line 1455 of yacc.c */ #line 1022 "gram.y" { (yyval.ival) = +1; } break; case 147: + +/* Line 1455 of yacc.c */ #line 1023 "gram.y" { (yyval.ival) = -1; } break; case 148: + +/* Line 1455 of yacc.c */ #line 1036 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); n->missing_ok = FALSE; - n->roles = (yyvsp[0].list); + n->roles = (yyvsp[(3) - (3)].list); (yyval.node) = (Node *)n; } break; case 149: + +/* Line 1455 of yacc.c */ #line 1043 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); n->missing_ok = TRUE; - n->roles = (yyvsp[0].list); + n->roles = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 150: + +/* Line 1455 of yacc.c */ #line 1060 "gram.y" { CreateSchemaStmt *n = makeNode(CreateSchemaStmt); /* One can omit the schema name or the authorization id. */ - if ((yyvsp[-3].str) != NULL) - n->schemaname = (yyvsp[-3].str); + if ((yyvsp[(3) - (6)].str) != NULL) + n->schemaname = (yyvsp[(3) - (6)].str); else - n->schemaname = (yyvsp[-1].str); - n->authid = (yyvsp[-1].str); - n->schemaElts = (yyvsp[0].list); + n->schemaname = (yyvsp[(5) - (6)].str); + n->authid = (yyvsp[(5) - (6)].str); + n->schemaElts = (yyvsp[(6) - (6)].list); (yyval.node) = (Node *)n; } break; case 151: + +/* Line 1455 of yacc.c */ #line 1072 "gram.y" { CreateSchemaStmt *n = makeNode(CreateSchemaStmt); /* ...but not both */ - n->schemaname = (yyvsp[-1].str); + n->schemaname = (yyvsp[(3) - (4)].str); n->authid = NULL; - n->schemaElts = (yyvsp[0].list); + n->schemaElts = (yyvsp[(4) - (4)].list); (yyval.node) = (Node *)n; } break; case 152: + +/* Line 1455 of yacc.c */ #line 1083 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 153: + +/* Line 1455 of yacc.c */ #line 1084 "gram.y" { (yyval.str) = NULL; } break; case 154: + +/* Line 1455 of yacc.c */ #line 1088 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); } break; case 155: + +/* Line 1455 of yacc.c */ #line 1089 "gram.y" { (yyval.list) = NIL; } break; case 162: + +/* Line 1455 of yacc.c */ #line 1117 "gram.y" { - VariableSetStmt *n = (yyvsp[0].vsetstmt); + VariableSetStmt *n = (yyvsp[(2) - (2)].vsetstmt); n->is_local = false; (yyval.node) = (Node *) n; } break; case 163: + +/* Line 1455 of yacc.c */ #line 1123 "gram.y" { - VariableSetStmt *n = (yyvsp[0].vsetstmt); + VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt); n->is_local = true; (yyval.node) = (Node *) n; } break; case 164: + +/* Line 1455 of yacc.c */ #line 1129 "gram.y" { - VariableSetStmt *n = (yyvsp[0].vsetstmt); + VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt); n->is_local = false; (yyval.node) = (Node *) n; } break; case 165: + +/* Line 1455 of yacc.c */ #line 1138 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; - n->name = (yyvsp[-2].str); - n->args = (yyvsp[0].list); + n->name = (yyvsp[(1) - (3)].str); + n->args = (yyvsp[(3) - (3)].list); (yyval.vsetstmt) = n; } break; case 166: + +/* Line 1455 of yacc.c */ #line 1146 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; - n->name = (yyvsp[-2].str); - n->args = (yyvsp[0].list); + n->name = (yyvsp[(1) - (3)].str); + n->args = (yyvsp[(3) - (3)].list); (yyval.vsetstmt) = n; } break; case 167: + +/* Line 1455 of yacc.c */ #line 1154 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_DEFAULT; - n->name = (yyvsp[-2].str); + n->name = (yyvsp[(1) - (3)].str); (yyval.vsetstmt) = n; } break; case 168: + +/* Line 1455 of yacc.c */ #line 1161 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_DEFAULT; - n->name = (yyvsp[-2].str); + n->name = (yyvsp[(1) - (3)].str); (yyval.vsetstmt) = n; } break; case 169: + +/* Line 1455 of yacc.c */ #line 1168 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_CURRENT; - n->name = (yyvsp[-2].str); + n->name = (yyvsp[(1) - (3)].str); (yyval.vsetstmt) = n; } break; case 170: + +/* Line 1455 of yacc.c */ #line 1176 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; n->name = "timezone"; - if ((yyvsp[0].node) != NULL) - n->args = list_make1((yyvsp[0].node)); + if ((yyvsp[(3) - (3)].node) != NULL) + n->args = list_make1((yyvsp[(3) - (3)].node)); else n->kind = VAR_SET_DEFAULT; (yyval.vsetstmt) = n; @@ -16869,57 +17244,67 @@ yyreduce: break; case 171: + +/* Line 1455 of yacc.c */ #line 1187 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_MULTI; n->name = "TRANSACTION"; - n->args = (yyvsp[0].list); + n->args = (yyvsp[(2) - (2)].list); (yyval.vsetstmt) = n; } break; case 172: + +/* Line 1455 of yacc.c */ #line 1195 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_MULTI; n->name = "SESSION CHARACTERISTICS"; - n->args = (yyvsp[0].list); + n->args = (yyvsp[(5) - (5)].list); (yyval.vsetstmt) = n; } break; case 173: + +/* Line 1455 of yacc.c */ #line 1203 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("current database cannot be changed"), - scanner_errposition((yylsp[0])))); + scanner_errposition((yylsp[(2) - (2)])))); (yyval.vsetstmt) = NULL; /*not reached*/ } break; case 174: + +/* Line 1455 of yacc.c */ #line 1211 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; n->name = "search_path"; - n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0]))); + n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]))); (yyval.vsetstmt) = n; } break; case 175: + +/* Line 1455 of yacc.c */ #line 1219 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; n->name = "client_encoding"; - if ((yyvsp[0].str) != NULL) - n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0]))); + if ((yyvsp[(2) - (2)].str) != NULL) + n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]))); else n->kind = VAR_SET_DEFAULT; (yyval.vsetstmt) = n; @@ -16927,28 +17312,34 @@ yyreduce: break; case 176: + +/* Line 1455 of yacc.c */ #line 1230 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; n->name = "role"; - n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0]))); + n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]))); (yyval.vsetstmt) = n; } break; case 177: + +/* Line 1455 of yacc.c */ #line 1238 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; n->name = "session_authorization"; - n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0]))); + n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)]))); (yyval.vsetstmt) = n; } break; case 178: + +/* Line 1455 of yacc.c */ #line 1246 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -16959,203 +17350,263 @@ yyreduce: break; case 179: + +/* Line 1455 of yacc.c */ #line 1253 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; n->name = "xmloption"; - n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0]))); + n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[(3) - (3)]))); (yyval.vsetstmt) = n; } break; case 180: + +/* Line 1455 of yacc.c */ #line 1262 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 181: + +/* Line 1455 of yacc.c */ #line 1264 "gram.y" { - (yyval.str) = palloc(strlen((yyvsp[-2].str)) + strlen((yyvsp[0].str)) + 2); - sprintf((yyval.str), "%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); + (yyval.str) = palloc(strlen((yyvsp[(1) - (3)].str)) + strlen((yyvsp[(3) - (3)].str)) + 2); + sprintf((yyval.str), "%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); } break; case 182: + +/* Line 1455 of yacc.c */ #line 1270 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 183: + +/* Line 1455 of yacc.c */ #line 1271 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 184: + +/* Line 1455 of yacc.c */ #line 1275 "gram.y" - { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); } + { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); } break; case 185: + +/* Line 1455 of yacc.c */ #line 1277 "gram.y" - { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); } + { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); } break; case 186: + +/* Line 1455 of yacc.c */ #line 1279 "gram.y" - { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); } + { (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); } break; case 187: + +/* Line 1455 of yacc.c */ #line 1282 "gram.y" { (yyval.str) = "read uncommitted"; } break; case 188: + +/* Line 1455 of yacc.c */ #line 1283 "gram.y" { (yyval.str) = "read committed"; } break; case 189: + +/* Line 1455 of yacc.c */ #line 1284 "gram.y" { (yyval.str) = "repeatable read"; } break; case 190: + +/* Line 1455 of yacc.c */ #line 1285 "gram.y" { (yyval.str) = "serializable"; } break; case 191: + +/* Line 1455 of yacc.c */ #line 1289 "gram.y" { (yyval.str) = "true"; } break; case 192: + +/* Line 1455 of yacc.c */ #line 1290 "gram.y" { (yyval.str) = "false"; } break; case 193: + +/* Line 1455 of yacc.c */ #line 1291 "gram.y" { (yyval.str) = "on"; } break; case 194: + +/* Line 1455 of yacc.c */ #line 1292 "gram.y" { (yyval.str) = "off"; } break; case 195: + +/* Line 1455 of yacc.c */ #line 1305 "gram.y" { - (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); + (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); } break; case 196: + +/* Line 1455 of yacc.c */ #line 1309 "gram.y" { - (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); + (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); } break; case 197: + +/* Line 1455 of yacc.c */ #line 1313 "gram.y" { - TypeName *t = (yyvsp[-2].typnam); - if ((yyvsp[0].list) != NIL) + TypeName *t = (yyvsp[(1) - (3)].typnam); + if ((yyvsp[(3) - (3)].list) != NIL) { - A_Const *n = (A_Const *) linitial((yyvsp[0].list)); + A_Const *n = (A_Const *) linitial((yyvsp[(3) - (3)].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"), - scanner_errposition((yylsp[0])))); + scanner_errposition((yylsp[(3) - (3)])))); } - t->typmods = (yyvsp[0].list); - (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t); + t->typmods = (yyvsp[(3) - (3)].list); + (yyval.node) = makeStringConstCast((yyvsp[(2) - (3)].str), (yylsp[(2) - (3)]), t); } break; case 198: + +/* Line 1455 of yacc.c */ #line 1328 "gram.y" { - TypeName *t = (yyvsp[-5].typnam); - if ((yyvsp[0].list) != NIL) + TypeName *t = (yyvsp[(1) - (6)].typnam); + if ((yyvsp[(6) - (6)].list) != NIL) { - A_Const *n = (A_Const *) linitial((yyvsp[0].list)); + A_Const *n = (A_Const *) linitial((yyvsp[(6) - (6)].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"), - scanner_errposition((yylsp[0])))); - if (list_length((yyvsp[0].list)) != 1) + scanner_errposition((yylsp[(6) - (6)])))); + if (list_length((yyvsp[(6) - (6)].list)) != 1) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("interval precision specified twice"), - scanner_errposition((yylsp[-5])))); - t->typmods = lappend((yyvsp[0].list), makeIntConst((yyvsp[-3].ival), (yylsp[-3]))); + scanner_errposition((yylsp[(1) - (6)])))); + t->typmods = lappend((yyvsp[(6) - (6)].list), makeIntConst((yyvsp[(3) - (6)].ival), (yylsp[(3) - (6)]))); } else t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1), - makeIntConst((yyvsp[-3].ival), (yylsp[-3]))); - (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t); + makeIntConst((yyvsp[(3) - (6)].ival), (yylsp[(3) - (6)]))); + (yyval.node) = makeStringConstCast((yyvsp[(5) - (6)].str), (yylsp[(5) - (6)]), t); } break; case 199: + +/* Line 1455 of yacc.c */ #line 1350 "gram.y" - { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); } + { (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); } break; case 200: + +/* Line 1455 of yacc.c */ #line 1351 "gram.y" { (yyval.node) = NULL; } break; case 201: + +/* Line 1455 of yacc.c */ #line 1352 "gram.y" { (yyval.node) = NULL; } break; case 202: + +/* Line 1455 of yacc.c */ #line 1356 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 203: + +/* Line 1455 of yacc.c */ #line 1357 "gram.y" { (yyval.str) = NULL; } break; case 204: + +/* Line 1455 of yacc.c */ #line 1358 "gram.y" { (yyval.str) = NULL; } break; case 205: + +/* Line 1455 of yacc.c */ #line 1362 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 206: + +/* Line 1455 of yacc.c */ #line 1363 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 207: + +/* Line 1455 of yacc.c */ #line 1368 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_RESET; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(2) - (2)].str); (yyval.node) = (Node *) n; } break; case 208: + +/* Line 1455 of yacc.c */ #line 1375 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -17166,6 +17617,8 @@ yyreduce: break; case 209: + +/* Line 1455 of yacc.c */ #line 1382 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -17176,6 +17629,8 @@ yyreduce: break; case 210: + +/* Line 1455 of yacc.c */ #line 1389 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -17186,6 +17641,8 @@ yyreduce: break; case 211: + +/* Line 1455 of yacc.c */ #line 1396 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -17195,25 +17652,33 @@ yyreduce: break; case 212: + +/* Line 1455 of yacc.c */ #line 1405 "gram.y" - { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); } + { (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); } break; case 213: + +/* Line 1455 of yacc.c */ #line 1406 "gram.y" - { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); } + { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); } break; case 214: + +/* Line 1455 of yacc.c */ #line 1412 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); - n->name = (yyvsp[0].str); + n->name = (yyvsp[(2) - (2)].str); (yyval.node) = (Node *) n; } break; case 215: + +/* Line 1455 of yacc.c */ #line 1418 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -17223,6 +17688,8 @@ yyreduce: break; case 216: + +/* Line 1455 of yacc.c */ #line 1424 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -17232,6 +17699,8 @@ yyreduce: break; case 217: + +/* Line 1455 of yacc.c */ #line 1430 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -17241,6 +17710,8 @@ yyreduce: break; case 218: + +/* Line 1455 of yacc.c */ #line 1436 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -17250,36 +17721,48 @@ yyreduce: break; case 219: + +/* Line 1455 of yacc.c */ #line 1446 "gram.y" { ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt); - n->constraints = (yyvsp[-1].list); - n->deferred = (yyvsp[0].boolean); + n->constraints = (yyvsp[(3) - (4)].list); + n->deferred = (yyvsp[(4) - (4)].boolean); (yyval.node) = (Node *) n; } break; case 220: + +/* Line 1455 of yacc.c */ #line 1455 "gram.y" { (yyval.list) = NIL; } break; case 221: + +/* Line 1455 of yacc.c */ #line 1456 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 222: + +/* Line 1455 of yacc.c */ #line 1460 "gram.y" { (yyval.boolean) = TRUE; } break; case 223: + +/* Line 1455 of yacc.c */ #line 1461 "gram.y" { (yyval.boolean) = FALSE; } break; case 224: + +/* Line 1455 of yacc.c */ #line 1470 "gram.y" { CheckPointStmt *n = makeNode(CheckPointStmt); @@ -17288,6 +17771,8 @@ yyreduce: break; case 225: + +/* Line 1455 of yacc.c */ #line 1485 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -17297,6 +17782,8 @@ yyreduce: break; case 226: + +/* Line 1455 of yacc.c */ #line 1491 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -17306,6 +17793,8 @@ yyreduce: break; case 227: + +/* Line 1455 of yacc.c */ #line 1497 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -17315,6 +17804,8 @@ yyreduce: break; case 228: + +/* Line 1455 of yacc.c */ #line 1503 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -17324,167 +17815,201 @@ yyreduce: break; case 229: + +/* Line 1455 of yacc.c */ #line 1521 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); - n->relation = (yyvsp[-1].range); - n->cmds = (yyvsp[0].list); + n->relation = (yyvsp[(3) - (4)].range); + n->cmds = (yyvsp[(4) - (4)].list); n->relkind = OBJECT_TABLE; (yyval.node) = (Node *)n; } break; case 230: + +/* Line 1455 of yacc.c */ #line 1529 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); - n->relation = (yyvsp[-1].range); - n->cmds = (yyvsp[0].list); + n->relation = (yyvsp[(3) - (4)].range); + n->cmds = (yyvsp[(4) - (4)].list); n->relkind = OBJECT_INDEX; (yyval.node) = (Node *)n; } break; case 231: + +/* Line 1455 of yacc.c */ #line 1537 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); - n->relation = (yyvsp[-1].range); - n->cmds = (yyvsp[0].list); + n->relation = (yyvsp[(3) - (4)].range); + n->cmds = (yyvsp[(4) - (4)].list); n->relkind = OBJECT_SEQUENCE; (yyval.node) = (Node *)n; } break; case 232: + +/* Line 1455 of yacc.c */ #line 1545 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); - n->relation = (yyvsp[-1].range); - n->cmds = (yyvsp[0].list); + n->relation = (yyvsp[(3) - (4)].range); + n->cmds = (yyvsp[(4) - (4)].list); n->relkind = OBJECT_VIEW; (yyval.node) = (Node *)n; } break; case 233: + +/* Line 1455 of yacc.c */ #line 1555 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 234: + +/* Line 1455 of yacc.c */ #line 1556 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 235: + +/* Line 1455 of yacc.c */ #line 1562 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_AddColumn; - n->def = (yyvsp[0].node); + n->def = (yyvsp[(3) - (3)].node); (yyval.node) = (Node *)n; } break; case 236: + +/* Line 1455 of yacc.c */ #line 1570 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_ColumnDefault; - n->name = (yyvsp[-1].str); - n->def = (yyvsp[0].node); + n->name = (yyvsp[(3) - (4)].str); + n->def = (yyvsp[(4) - (4)].node); (yyval.node) = (Node *)n; } break; case 237: + +/* Line 1455 of yacc.c */ #line 1579 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_DropNotNull; - n->name = (yyvsp[-3].str); + n->name = (yyvsp[(3) - (6)].str); (yyval.node) = (Node *)n; } break; case 238: + +/* Line 1455 of yacc.c */ #line 1587 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_SetNotNull; - n->name = (yyvsp[-3].str); + n->name = (yyvsp[(3) - (6)].str); (yyval.node) = (Node *)n; } break; case 239: + +/* Line 1455 of yacc.c */ #line 1595 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_SetStatistics; - n->name = (yyvsp[-3].str); - n->def = (Node *) makeInteger((yyvsp[0].ival)); + n->name = (yyvsp[(3) - (6)].str); + n->def = (Node *) makeInteger((yyvsp[(6) - (6)].ival)); (yyval.node) = (Node *)n; } break; case 240: + +/* Line 1455 of yacc.c */ #line 1604 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_SetStorage; - n->name = (yyvsp[-3].str); - n->def = (Node *) makeString((yyvsp[0].str)); + n->name = (yyvsp[(3) - (6)].str); + n->def = (Node *) makeString((yyvsp[(6) - (6)].str)); (yyval.node) = (Node *)n; } break; case 241: + +/* Line 1455 of yacc.c */ #line 1613 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_DropColumn; - n->name = (yyvsp[-1].str); - n->behavior = (yyvsp[0].dbehavior); + n->name = (yyvsp[(3) - (4)].str); + n->behavior = (yyvsp[(4) - (4)].dbehavior); (yyval.node) = (Node *)n; } break; case 242: + +/* Line 1455 of yacc.c */ #line 1625 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_AlterColumnType; - n->name = (yyvsp[-4].str); - n->def = (Node *) (yyvsp[-1].typnam); - n->transform = (yyvsp[0].node); + n->name = (yyvsp[(3) - (7)].str); + n->def = (Node *) (yyvsp[(6) - (7)].typnam); + n->transform = (yyvsp[(7) - (7)].node); (yyval.node) = (Node *)n; } break; case 243: + +/* Line 1455 of yacc.c */ #line 1635 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_AddConstraint; - n->def = (yyvsp[0].node); + n->def = (yyvsp[(2) - (2)].node); (yyval.node) = (Node *)n; } break; case 244: + +/* Line 1455 of yacc.c */ #line 1643 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_DropConstraint; - n->name = (yyvsp[-1].str); - n->behavior = (yyvsp[0].dbehavior); + n->name = (yyvsp[(3) - (4)].str); + n->behavior = (yyvsp[(4) - (4)].dbehavior); (yyval.node) = (Node *)n; } break; case 245: + +/* Line 1455 of yacc.c */ #line 1652 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -17494,6 +18019,8 @@ yyreduce: break; case 246: + +/* Line 1455 of yacc.c */ #line 1659 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -17503,16 +18030,20 @@ yyreduce: break; case 247: + +/* Line 1455 of yacc.c */ #line 1666 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_ClusterOn; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 248: + +/* Line 1455 of yacc.c */ #line 1674 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -17523,36 +18054,44 @@ yyreduce: break; case 249: + +/* Line 1455 of yacc.c */ #line 1682 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_EnableTrig; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 250: + +/* Line 1455 of yacc.c */ #line 1690 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_EnableAlwaysTrig; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(4) - (4)].str); (yyval.node) = (Node *)n; } break; case 251: + +/* Line 1455 of yacc.c */ #line 1698 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_EnableReplicaTrig; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(4) - (4)].str); (yyval.node) = (Node *)n; } break; case 252: + +/* Line 1455 of yacc.c */ #line 1706 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -17562,6 +18101,8 @@ yyreduce: break; case 253: + +/* Line 1455 of yacc.c */ #line 1713 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -17571,16 +18112,20 @@ yyreduce: break; case 254: + +/* Line 1455 of yacc.c */ #line 1720 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_DisableTrig; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 255: + +/* Line 1455 of yacc.c */ #line 1728 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -17590,6 +18135,8 @@ yyreduce: break; case 256: + +/* Line 1455 of yacc.c */ #line 1735 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -17599,210 +18146,266 @@ yyreduce: break; case 257: + +/* Line 1455 of yacc.c */ #line 1742 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_EnableRule; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 258: + +/* Line 1455 of yacc.c */ #line 1750 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_EnableAlwaysRule; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(4) - (4)].str); (yyval.node) = (Node *)n; } break; case 259: + +/* Line 1455 of yacc.c */ #line 1758 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_EnableReplicaRule; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(4) - (4)].str); (yyval.node) = (Node *)n; } break; case 260: + +/* Line 1455 of yacc.c */ #line 1766 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_DisableRule; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 261: + +/* Line 1455 of yacc.c */ #line 1774 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_AddInherit; - n->def = (Node *) (yyvsp[0].range); + n->def = (Node *) (yyvsp[(2) - (2)].range); (yyval.node) = (Node *)n; } break; case 262: + +/* Line 1455 of yacc.c */ #line 1782 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_DropInherit; - n->def = (Node *) (yyvsp[0].range); + n->def = (Node *) (yyvsp[(3) - (3)].range); (yyval.node) = (Node *)n; } break; case 263: + +/* Line 1455 of yacc.c */ #line 1790 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_ChangeOwner; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 264: + +/* Line 1455 of yacc.c */ #line 1798 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_SetTableSpace; - n->name = (yyvsp[0].str); + n->name = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 265: + +/* Line 1455 of yacc.c */ #line 1806 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_SetRelOptions; - n->def = (Node *)(yyvsp[0].list); + n->def = (Node *)(yyvsp[(2) - (2)].list); (yyval.node) = (Node *)n; } break; case 266: + +/* Line 1455 of yacc.c */ #line 1814 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_ResetRelOptions; - n->def = (Node *)(yyvsp[0].list); + n->def = (Node *)(yyvsp[(2) - (2)].list); (yyval.node) = (Node *)n; } break; case 267: + +/* Line 1455 of yacc.c */ #line 1824 "gram.y" { /* Treat SET DEFAULT NULL the same as DROP DEFAULT */ - if (exprIsNullConstant((yyvsp[0].node))) + if (exprIsNullConstant((yyvsp[(3) - (3)].node))) (yyval.node) = NULL; else - (yyval.node) = (yyvsp[0].node); + (yyval.node) = (yyvsp[(3) - (3)].node); } break; case 268: + +/* Line 1455 of yacc.c */ #line 1831 "gram.y" { (yyval.node) = NULL; } break; case 269: + +/* Line 1455 of yacc.c */ #line 1835 "gram.y" { (yyval.dbehavior) = DROP_CASCADE; } break; case 270: + +/* Line 1455 of yacc.c */ #line 1836 "gram.y" { (yyval.dbehavior) = DROP_RESTRICT; } break; case 271: + +/* Line 1455 of yacc.c */ #line 1837 "gram.y" { (yyval.dbehavior) = DROP_RESTRICT; /* default */ } break; case 272: + +/* Line 1455 of yacc.c */ #line 1841 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 273: + +/* Line 1455 of yacc.c */ #line 1842 "gram.y" { (yyval.node) = NULL; } break; case 274: + +/* Line 1455 of yacc.c */ #line 1846 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 275: + +/* Line 1455 of yacc.c */ #line 1849 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 276: + +/* Line 1455 of yacc.c */ #line 1850 "gram.y" { (yyval.list) = NIL; } break; case 277: + +/* Line 1455 of yacc.c */ #line 1854 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].defelt)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); } break; case 278: + +/* Line 1455 of yacc.c */ #line 1855 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); } break; case 279: + +/* Line 1455 of yacc.c */ #line 1861 "gram.y" { - (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node)); + (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node)); } break; case 280: + +/* Line 1455 of yacc.c */ #line 1865 "gram.y" { - (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL); + (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL); } break; case 281: + +/* Line 1455 of yacc.c */ #line 1869 "gram.y" { - (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node), + (yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (Node *) (yyvsp[(5) - (5)].node), DEFELEM_UNSPEC); } break; case 282: + +/* Line 1455 of yacc.c */ #line 1874 "gram.y" { - (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC); + (yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str), NULL, DEFELEM_UNSPEC); } break; case 283: + +/* Line 1455 of yacc.c */ #line 1889 "gram.y" { ClosePortalStmt *n = makeNode(ClosePortalStmt); - n->portalname = (yyvsp[0].str); + n->portalname = (yyvsp[(2) - (2)].str); (yyval.node) = (Node *)n; } break; case 284: + +/* Line 1455 of yacc.c */ #line 1895 "gram.y" { ClosePortalStmt *n = makeNode(ClosePortalStmt); @@ -17812,79 +18415,99 @@ yyreduce: break; case 285: + +/* Line 1455 of yacc.c */ #line 1919 "gram.y" { CopyStmt *n = makeNode(CopyStmt); - n->relation = (yyvsp[-7].range); + n->relation = (yyvsp[(3) - (10)].range); n->query = NULL; - n->attlist = (yyvsp[-6].list); - n->is_from = (yyvsp[-4].boolean); - n->filename = (yyvsp[-3].str); + n->attlist = (yyvsp[(4) - (10)].list); + n->is_from = (yyvsp[(6) - (10)].boolean); + n->filename = (yyvsp[(7) - (10)].str); n->options = NIL; /* Concatenate user-supplied flags */ - if ((yyvsp[-8].defelt)) - n->options = lappend(n->options, (yyvsp[-8].defelt)); - if ((yyvsp[-5].defelt)) - n->options = lappend(n->options, (yyvsp[-5].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)); + if ((yyvsp[(2) - (10)].defelt)) + n->options = lappend(n->options, (yyvsp[(2) - (10)].defelt)); + if ((yyvsp[(5) - (10)].defelt)) + n->options = lappend(n->options, (yyvsp[(5) - (10)].defelt)); + if ((yyvsp[(8) - (10)].defelt)) + n->options = lappend(n->options, (yyvsp[(8) - (10)].defelt)); + if ((yyvsp[(10) - (10)].list)) + n->options = list_concat(n->options, (yyvsp[(10) - (10)].list)); (yyval.node) = (Node *)n; } break; case 286: + +/* Line 1455 of yacc.c */ #line 1941 "gram.y" { CopyStmt *n = makeNode(CopyStmt); n->relation = NULL; - n->query = (yyvsp[-4].node); + n->query = (yyvsp[(2) - (6)].node); n->attlist = NIL; n->is_from = false; - n->filename = (yyvsp[-2].str); - n->options = (yyvsp[0].list); + n->filename = (yyvsp[(4) - (6)].str); + n->options = (yyvsp[(6) - (6)].list); (yyval.node) = (Node *)n; } break; case 287: + +/* Line 1455 of yacc.c */ #line 1954 "gram.y" { (yyval.boolean) = TRUE; } break; case 288: + +/* Line 1455 of yacc.c */ #line 1955 "gram.y" { (yyval.boolean) = FALSE; } break; case 289: + +/* Line 1455 of yacc.c */ #line 1964 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 290: + +/* Line 1455 of yacc.c */ #line 1965 "gram.y" { (yyval.str) = NULL; } break; case 291: + +/* Line 1455 of yacc.c */ #line 1966 "gram.y" { (yyval.str) = NULL; } break; case 292: + +/* Line 1455 of yacc.c */ #line 1972 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); } break; case 293: + +/* Line 1455 of yacc.c */ #line 1973 "gram.y" { (yyval.list) = NIL; } break; case 294: + +/* Line 1455 of yacc.c */ #line 1979 "gram.y" { (yyval.defelt) = makeDefElem("binary", (Node *)makeInteger(TRUE)); @@ -17892,6 +18515,8 @@ yyreduce: break; case 295: + +/* Line 1455 of yacc.c */ #line 1983 "gram.y" { (yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE)); @@ -17899,20 +18524,26 @@ yyreduce: break; case 296: + +/* Line 1455 of yacc.c */ #line 1987 "gram.y" { - (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 297: + +/* Line 1455 of yacc.c */ #line 1991 "gram.y" { - (yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 298: + +/* Line 1455 of yacc.c */ #line 1995 "gram.y" { (yyval.defelt) = makeDefElem("csv", (Node *)makeInteger(TRUE)); @@ -17920,6 +18551,8 @@ yyreduce: break; case 299: + +/* Line 1455 of yacc.c */ #line 1999 "gram.y" { (yyval.defelt) = makeDefElem("header", (Node *)makeInteger(TRUE)); @@ -17927,34 +18560,44 @@ yyreduce: break; case 300: + +/* Line 1455 of yacc.c */ #line 2003 "gram.y" { - (yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 301: + +/* Line 1455 of yacc.c */ #line 2007 "gram.y" { - (yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 302: + +/* Line 1455 of yacc.c */ #line 2011 "gram.y" { - (yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list)); + (yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[(3) - (3)].list)); } break; case 303: + +/* Line 1455 of yacc.c */ #line 2015 "gram.y" { - (yyval.defelt) = makeDefElem("force_notnull", (Node *)(yyvsp[0].list)); + (yyval.defelt) = makeDefElem("force_notnull", (Node *)(yyvsp[(4) - (4)].list)); } break; case 304: + +/* Line 1455 of yacc.c */ #line 2024 "gram.y" { (yyval.defelt) = makeDefElem("binary", (Node *)makeInteger(TRUE)); @@ -17962,11 +18605,15 @@ yyreduce: break; case 305: + +/* Line 1455 of yacc.c */ #line 2027 "gram.y" { (yyval.defelt) = NULL; } break; case 306: + +/* Line 1455 of yacc.c */ #line 2032 "gram.y" { (yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE)); @@ -17974,198 +18621,254 @@ yyreduce: break; case 307: + +/* Line 1455 of yacc.c */ #line 2035 "gram.y" { (yyval.defelt) = NULL; } break; case 308: + +/* Line 1455 of yacc.c */ #line 2041 "gram.y" { - (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 309: + +/* Line 1455 of yacc.c */ #line 2044 "gram.y" { (yyval.defelt) = NULL; } break; case 310: + +/* Line 1455 of yacc.c */ #line 2048 "gram.y" {} break; case 311: + +/* Line 1455 of yacc.c */ #line 2049 "gram.y" {} break; case 312: + +/* Line 1455 of yacc.c */ #line 2062 "gram.y" { CreateStmt *n = makeNode(CreateStmt); - (yyvsp[-7].range)->istemp = (yyvsp[-9].boolean); - n->relation = (yyvsp[-7].range); - n->tableElts = (yyvsp[-5].list); - n->inhRelations = (yyvsp[-3].list); + (yyvsp[(4) - (11)].range)->istemp = (yyvsp[(2) - (11)].boolean); + n->relation = (yyvsp[(4) - (11)].range); + n->tableElts = (yyvsp[(6) - (11)].list); + n->inhRelations = (yyvsp[(8) - (11)].list); n->constraints = NIL; - n->options = (yyvsp[-2].list); - n->oncommit = (yyvsp[-1].oncommit); - n->tablespacename = (yyvsp[0].str); + n->options = (yyvsp[(9) - (11)].list); + n->oncommit = (yyvsp[(10) - (11)].oncommit); + n->tablespacename = (yyvsp[(11) - (11)].str); (yyval.node) = (Node *)n; } break; case 313: + +/* Line 1455 of yacc.c */ #line 2076 "gram.y" { /* SQL99 CREATE TABLE OF <UDT> (cols) seems to be satisfied * by our inheritance capabilities. Let's try it... */ CreateStmt *n = makeNode(CreateStmt); - (yyvsp[-8].range)->istemp = (yyvsp[-10].boolean); - n->relation = (yyvsp[-8].range); - n->tableElts = (yyvsp[-4].list); - n->inhRelations = list_make1((yyvsp[-6].range)); + (yyvsp[(4) - (12)].range)->istemp = (yyvsp[(2) - (12)].boolean); + n->relation = (yyvsp[(4) - (12)].range); + n->tableElts = (yyvsp[(8) - (12)].list); + n->inhRelations = list_make1((yyvsp[(6) - (12)].range)); n->constraints = NIL; - n->options = (yyvsp[-2].list); - n->oncommit = (yyvsp[-1].oncommit); - n->tablespacename = (yyvsp[0].str); + n->options = (yyvsp[(10) - (12)].list); + n->oncommit = (yyvsp[(11) - (12)].oncommit); + n->tablespacename = (yyvsp[(12) - (12)].str); (yyval.node) = (Node *)n; } break; case 314: + +/* Line 1455 of yacc.c */ #line 2100 "gram.y" { (yyval.boolean) = TRUE; } break; case 315: + +/* Line 1455 of yacc.c */ #line 2101 "gram.y" { (yyval.boolean) = TRUE; } break; case 316: + +/* Line 1455 of yacc.c */ #line 2102 "gram.y" { (yyval.boolean) = TRUE; } break; case 317: + +/* Line 1455 of yacc.c */ #line 2103 "gram.y" { (yyval.boolean) = TRUE; } break; case 318: + +/* Line 1455 of yacc.c */ #line 2104 "gram.y" { (yyval.boolean) = TRUE; } break; case 319: + +/* Line 1455 of yacc.c */ #line 2105 "gram.y" { (yyval.boolean) = TRUE; } break; case 320: + +/* Line 1455 of yacc.c */ #line 2106 "gram.y" { (yyval.boolean) = FALSE; } break; case 321: + +/* Line 1455 of yacc.c */ #line 2110 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 322: + +/* Line 1455 of yacc.c */ #line 2111 "gram.y" { (yyval.list) = NIL; } break; case 323: + +/* Line 1455 of yacc.c */ #line 2116 "gram.y" { - (yyval.list) = list_make1((yyvsp[0].node)); + (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 324: + +/* Line 1455 of yacc.c */ #line 2120 "gram.y" { - (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); + (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 325: + +/* Line 1455 of yacc.c */ #line 2126 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 326: + +/* Line 1455 of yacc.c */ #line 2127 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 327: + +/* Line 1455 of yacc.c */ #line 2128 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 328: + +/* Line 1455 of yacc.c */ #line 2132 "gram.y" { ColumnDef *n = makeNode(ColumnDef); - n->colname = (yyvsp[-2].str); - n->typename = (yyvsp[-1].typnam); - n->constraints = (yyvsp[0].list); + n->colname = (yyvsp[(1) - (3)].str); + n->typename = (yyvsp[(2) - (3)].typnam); + n->constraints = (yyvsp[(3) - (3)].list); n->is_local = true; (yyval.node) = (Node *)n; } break; case 329: + +/* Line 1455 of yacc.c */ #line 2143 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); } break; case 330: + +/* Line 1455 of yacc.c */ #line 2144 "gram.y" { (yyval.list) = NIL; } break; case 331: + +/* Line 1455 of yacc.c */ #line 2149 "gram.y" { - switch (nodeTag((yyvsp[0].node))) + switch (nodeTag((yyvsp[(3) - (3)].node))) { case T_Constraint: { - Constraint *n = (Constraint *)(yyvsp[0].node); - n->name = (yyvsp[-1].str); + Constraint *n = (Constraint *)(yyvsp[(3) - (3)].node); + n->name = (yyvsp[(2) - (3)].str); } break; case T_FkConstraint: { - FkConstraint *n = (FkConstraint *)(yyvsp[0].node); - n->constr_name = (yyvsp[-1].str); + FkConstraint *n = (FkConstraint *)(yyvsp[(3) - (3)].node); + n->constr_name = (yyvsp[(2) - (3)].str); } break; default: break; } - (yyval.node) = (yyvsp[0].node); + (yyval.node) = (yyvsp[(3) - (3)].node); } break; case 332: + +/* Line 1455 of yacc.c */ #line 2169 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 333: + +/* Line 1455 of yacc.c */ #line 2170 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 334: + +/* Line 1455 of yacc.c */ #line 2190 "gram.y" { Constraint *n = makeNode(Constraint); @@ -18180,6 +18883,8 @@ yyreduce: break; case 335: + +/* Line 1455 of yacc.c */ #line 2201 "gram.y" { Constraint *n = makeNode(Constraint); @@ -18194,6 +18899,8 @@ yyreduce: break; case 336: + +/* Line 1455 of yacc.c */ #line 2212 "gram.y" { Constraint *n = makeNode(Constraint); @@ -18202,13 +18909,15 @@ yyreduce: n->raw_expr = NULL; n->cooked_expr = NULL; n->keys = NULL; - n->options = (yyvsp[-1].list); - n->indexspace = (yyvsp[0].str); + n->options = (yyvsp[(2) - (3)].list); + n->indexspace = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 337: + +/* Line 1455 of yacc.c */ #line 2224 "gram.y" { Constraint *n = makeNode(Constraint); @@ -18217,19 +18926,21 @@ yyreduce: n->raw_expr = NULL; n->cooked_expr = NULL; n->keys = NULL; - n->options = (yyvsp[-1].list); - n->indexspace = (yyvsp[0].str); + n->options = (yyvsp[(3) - (4)].list); + n->indexspace = (yyvsp[(4) - (4)].str); (yyval.node) = (Node *)n; } break; case 338: + +/* Line 1455 of yacc.c */ #line 2236 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_CHECK; n->name = NULL; - n->raw_expr = (yyvsp[-1].node); + n->raw_expr = (yyvsp[(3) - (4)].node); n->cooked_expr = NULL; n->keys = NULL; n->indexspace = NULL; @@ -18238,19 +18949,21 @@ yyreduce: break; case 339: + +/* Line 1455 of yacc.c */ #line 2247 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_DEFAULT; n->name = NULL; - if (exprIsNullConstant((yyvsp[0].node))) + if (exprIsNullConstant((yyvsp[(2) - (2)].node))) { /* DEFAULT NULL should be reported as empty expr */ n->raw_expr = NULL; } else { - n->raw_expr = (yyvsp[0].node); + n->raw_expr = (yyvsp[(2) - (2)].node); } n->cooked_expr = NULL; n->keys = NULL; @@ -18260,16 +18973,18 @@ yyreduce: break; case 340: + +/* Line 1455 of yacc.c */ #line 2266 "gram.y" { FkConstraint *n = makeNode(FkConstraint); n->constr_name = NULL; - n->pktable = (yyvsp[-3].range); + n->pktable = (yyvsp[(2) - (5)].range); n->fk_attrs = NIL; - 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->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->deferrable = FALSE; n->initdeferred = FALSE; (yyval.node) = (Node *)n; @@ -18277,6 +18992,8 @@ yyreduce: break; case 341: + +/* Line 1455 of yacc.c */ #line 2295 "gram.y" { Constraint *n = makeNode(Constraint); @@ -18286,6 +19003,8 @@ yyreduce: break; case 342: + +/* Line 1455 of yacc.c */ #line 2301 "gram.y" { Constraint *n = makeNode(Constraint); @@ -18295,6 +19014,8 @@ yyreduce: break; case 343: + +/* Line 1455 of yacc.c */ #line 2307 "gram.y" { Constraint *n = makeNode(Constraint); @@ -18304,6 +19025,8 @@ yyreduce: break; case 344: + +/* Line 1455 of yacc.c */ #line 2313 "gram.y" { Constraint *n = makeNode(Constraint); @@ -18313,91 +19036,115 @@ yyreduce: break; case 345: + +/* Line 1455 of yacc.c */ #line 2331 "gram.y" { InhRelation *n = makeNode(InhRelation); - n->relation = (yyvsp[-1].range); - n->options = (yyvsp[0].list); + n->relation = (yyvsp[(2) - (3)].range); + n->options = (yyvsp[(3) - (3)].list); (yyval.node) = (Node *)n; } break; case 346: + +/* Line 1455 of yacc.c */ #line 2340 "gram.y" - { (yyval.list) = lappend_int((yyvsp[-1].list), (yyvsp[0].ival)); } + { (yyval.list) = lappend_int((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].ival)); } break; case 347: + +/* Line 1455 of yacc.c */ #line 2341 "gram.y" { (yyval.list) = NIL; } break; case 348: + +/* Line 1455 of yacc.c */ #line 2345 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_INCLUDING_DEFAULTS; } break; case 349: + +/* Line 1455 of yacc.c */ #line 2346 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_EXCLUDING_DEFAULTS; } break; case 350: + +/* Line 1455 of yacc.c */ #line 2347 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_INCLUDING_CONSTRAINTS; } break; case 351: + +/* Line 1455 of yacc.c */ #line 2348 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_EXCLUDING_CONSTRAINTS; } break; case 352: + +/* Line 1455 of yacc.c */ #line 2349 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_INCLUDING_INDEXES; } break; case 353: + +/* Line 1455 of yacc.c */ #line 2350 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_EXCLUDING_INDEXES; } break; case 354: + +/* Line 1455 of yacc.c */ #line 2360 "gram.y" { - switch (nodeTag((yyvsp[0].node))) + switch (nodeTag((yyvsp[(3) - (3)].node))) { case T_Constraint: { - Constraint *n = (Constraint *)(yyvsp[0].node); - n->name = (yyvsp[-1].str); + Constraint *n = (Constraint *)(yyvsp[(3) - (3)].node); + n->name = (yyvsp[(2) - (3)].str); } break; case T_FkConstraint: { - FkConstraint *n = (FkConstraint *)(yyvsp[0].node); - n->constr_name = (yyvsp[-1].str); + FkConstraint *n = (FkConstraint *)(yyvsp[(3) - (3)].node); + n->constr_name = (yyvsp[(2) - (3)].str); } break; default: break; } - (yyval.node) = (yyvsp[0].node); + (yyval.node) = (yyvsp[(3) - (3)].node); } break; case 355: + +/* Line 1455 of yacc.c */ #line 2380 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 356: + +/* Line 1455 of yacc.c */ #line 2385 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_CHECK; n->name = NULL; - n->raw_expr = (yyvsp[-1].node); + n->raw_expr = (yyvsp[(3) - (4)].node); n->cooked_expr = NULL; n->indexspace = NULL; (yyval.node) = (Node *)n; @@ -18405,6 +19152,8 @@ yyreduce: break; case 357: + +/* Line 1455 of yacc.c */ #line 2395 "gram.y" { Constraint *n = makeNode(Constraint); @@ -18412,14 +19161,16 @@ yyreduce: n->name = NULL; n->raw_expr = NULL; n->cooked_expr = NULL; - n->keys = (yyvsp[-3].list); - n->options = (yyvsp[-1].list); - n->indexspace = (yyvsp[0].str); + n->keys = (yyvsp[(3) - (6)].list); + n->options = (yyvsp[(5) - (6)].list); + n->indexspace = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 358: + +/* Line 1455 of yacc.c */ #line 2407 "gram.y" { Constraint *n = makeNode(Constraint); @@ -18427,58 +19178,72 @@ yyreduce: n->name = NULL; n->raw_expr = NULL; n->cooked_expr = NULL; - n->keys = (yyvsp[-3].list); - n->options = (yyvsp[-1].list); - n->indexspace = (yyvsp[0].str); + n->keys = (yyvsp[(4) - (7)].list); + n->options = (yyvsp[(6) - (7)].list); + n->indexspace = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *)n; } break; case 359: + +/* Line 1455 of yacc.c */ #line 2420 "gram.y" { FkConstraint *n = makeNode(FkConstraint); n->constr_name = NULL; - 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); - n->deferrable = ((yyvsp[0].ival) & 1) != 0; - n->initdeferred = ((yyvsp[0].ival) & 2) != 0; + 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); + n->deferrable = ((yyvsp[(11) - (11)].ival) & 1) != 0; + n->initdeferred = ((yyvsp[(11) - (11)].ival) & 2) != 0; (yyval.node) = (Node *)n; } break; case 360: + +/* Line 1455 of yacc.c */ #line 2436 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 361: + +/* Line 1455 of yacc.c */ #line 2437 "gram.y" { (yyval.list) = NIL; } break; case 362: + +/* Line 1455 of yacc.c */ #line 2441 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 363: + +/* Line 1455 of yacc.c */ #line 2442 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 364: + +/* Line 1455 of yacc.c */ #line 2446 "gram.y" { - (yyval.node) = (Node *) makeString((yyvsp[0].str)); + (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); } break; case 365: + +/* Line 1455 of yacc.c */ #line 2452 "gram.y" { (yyval.ival) = FKCONSTR_MATCH_FULL; @@ -18486,17 +19251,21 @@ yyreduce: break; case 366: + +/* Line 1455 of yacc.c */ #line 2456 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("MATCH PARTIAL not yet implemented"), - scanner_errposition((yylsp[-1])))); + scanner_errposition((yylsp[(1) - (2)])))); (yyval.ival) = FKCONSTR_MATCH_PARTIAL; } break; case 367: + +/* Line 1455 of yacc.c */ #line 2464 "gram.y" { (yyval.ival) = FKCONSTR_MATCH_UNSPECIFIED; @@ -18504,6 +19273,8 @@ yyreduce: break; case 368: + +/* Line 1455 of yacc.c */ #line 2468 "gram.y" { (yyval.ival) = FKCONSTR_MATCH_UNSPECIFIED; @@ -18511,136 +19282,190 @@ yyreduce: break; case 369: + +/* Line 1455 of yacc.c */ #line 2481 "gram.y" - { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); } + { (yyval.ival) = ((yyvsp[(1) - (1)].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); } break; case 370: + +/* Line 1455 of yacc.c */ #line 2483 "gram.y" - { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); } + { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[(1) - (1)].ival) & 0xFF); } break; case 371: + +/* Line 1455 of yacc.c */ #line 2485 "gram.y" - { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); } + { (yyval.ival) = ((yyvsp[(1) - (2)].ival) << 8) | ((yyvsp[(2) - (2)].ival) & 0xFF); } break; case 372: + +/* Line 1455 of yacc.c */ #line 2487 "gram.y" - { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); } + { (yyval.ival) = ((yyvsp[(2) - (2)].ival) << 8) | ((yyvsp[(1) - (2)].ival) & 0xFF); } break; case 373: + +/* Line 1455 of yacc.c */ #line 2489 "gram.y" { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); } break; case 374: + +/* Line 1455 of yacc.c */ #line 2492 "gram.y" - { (yyval.ival) = (yyvsp[0].ival); } + { (yyval.ival) = (yyvsp[(3) - (3)].ival); } break; case 375: + +/* Line 1455 of yacc.c */ #line 2495 "gram.y" - { (yyval.ival) = (yyvsp[0].ival); } + { (yyval.ival) = (yyvsp[(3) - (3)].ival); } break; case 376: + +/* Line 1455 of yacc.c */ #line 2499 "gram.y" { (yyval.ival) = FKCONSTR_ACTION_NOACTION; } break; case 377: + +/* Line 1455 of yacc.c */ #line 2500 "gram.y" { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; } break; case 378: + +/* Line 1455 of yacc.c */ #line 2501 "gram.y" { (yyval.ival) = FKCONSTR_ACTION_CASCADE; } break; case 379: + +/* Line 1455 of yacc.c */ #line 2502 "gram.y" { (yyval.ival) = FKCONSTR_ACTION_SETNULL; } break; case 380: + +/* Line 1455 of yacc.c */ #line 2503 "gram.y" { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; } break; case 381: + +/* Line 1455 of yacc.c */ #line 2506 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(3) - (4)].list); } break; case 382: + +/* Line 1455 of yacc.c */ #line 2507 "gram.y" { (yyval.list) = NIL; } break; case 383: + +/* Line 1455 of yacc.c */ #line 2512 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 384: + +/* Line 1455 of yacc.c */ #line 2513 "gram.y" { (yyval.list) = list_make1(defWithOids(true)); } break; case 385: + +/* Line 1455 of yacc.c */ #line 2514 "gram.y" { (yyval.list) = list_make1(defWithOids(false)); } break; case 386: + +/* Line 1455 of yacc.c */ #line 2515 "gram.y" { (yyval.list) = NIL; } break; case 387: + +/* Line 1455 of yacc.c */ #line 2518 "gram.y" { (yyval.oncommit) = ONCOMMIT_DROP; } break; case 388: + +/* Line 1455 of yacc.c */ #line 2519 "gram.y" { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; } break; case 389: + +/* Line 1455 of yacc.c */ #line 2520 "gram.y" { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; } break; case 390: + +/* Line 1455 of yacc.c */ #line 2521 "gram.y" { (yyval.oncommit) = ONCOMMIT_NOOP; } break; case 391: + +/* Line 1455 of yacc.c */ #line 2524 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(2) - (2)].str); } break; case 392: + +/* Line 1455 of yacc.c */ #line 2525 "gram.y" { (yyval.str) = NULL; } break; case 393: + +/* Line 1455 of yacc.c */ #line 2528 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(4) - (4)].str); } break; case 394: + +/* Line 1455 of yacc.c */ #line 2529 "gram.y" { (yyval.str) = NULL; } break; case 395: + +/* Line 1455 of yacc.c */ #line 2540 "gram.y" { /* @@ -18650,58 +19475,70 @@ yyreduce: * to find it. Similarly, the output column names must * be attached to that Select's target list. */ - SelectStmt *n = findLeftmostSelect((SelectStmt *) (yyvsp[-1].node)); + SelectStmt *n = findLeftmostSelect((SelectStmt *) (yyvsp[(6) - (7)].node)); if (n->intoClause != NULL) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("CREATE TABLE AS cannot specify INTO"), scanner_errposition(exprLocation((Node *) n->intoClause)))); - (yyvsp[-3].into)->rel->istemp = (yyvsp[-5].boolean); - n->intoClause = (yyvsp[-3].into); + (yyvsp[(4) - (7)].into)->rel->istemp = (yyvsp[(2) - (7)].boolean); + n->intoClause = (yyvsp[(4) - (7)].into); /* Implement WITH NO DATA by forcing top-level LIMIT 0 */ - if (!(yyvsp[0].boolean)) - ((SelectStmt *) (yyvsp[-1].node))->limitCount = makeIntConst(0, -1); - (yyval.node) = (yyvsp[-1].node); + if (!(yyvsp[(7) - (7)].boolean)) + ((SelectStmt *) (yyvsp[(6) - (7)].node))->limitCount = makeIntConst(0, -1); + (yyval.node) = (yyvsp[(6) - (7)].node); } break; case 396: + +/* Line 1455 of yacc.c */ #line 2565 "gram.y" { (yyval.into) = makeNode(IntoClause); - (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)->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); } break; case 397: + +/* Line 1455 of yacc.c */ #line 2576 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 398: + +/* Line 1455 of yacc.c */ #line 2577 "gram.y" { (yyval.list) = NIL; } break; case 399: + +/* Line 1455 of yacc.c */ #line 2581 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 400: + +/* Line 1455 of yacc.c */ #line 2582 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 401: + +/* Line 1455 of yacc.c */ #line 2587 "gram.y" { ColumnDef *n = makeNode(ColumnDef); - n->colname = (yyvsp[0].str); + n->colname = (yyvsp[(1) - (1)].str); n->typename = NULL; n->inhcount = 0; n->is_local = true; @@ -18714,69 +19551,91 @@ yyreduce: break; case 402: + +/* Line 1455 of yacc.c */ #line 2602 "gram.y" { (yyval.boolean) = TRUE; } break; case 403: + +/* Line 1455 of yacc.c */ #line 2603 "gram.y" { (yyval.boolean) = FALSE; } break; case 404: + +/* Line 1455 of yacc.c */ #line 2604 "gram.y" { (yyval.boolean) = TRUE; } break; case 405: + +/* Line 1455 of yacc.c */ #line 2618 "gram.y" { CreateSeqStmt *n = makeNode(CreateSeqStmt); - (yyvsp[-1].range)->istemp = (yyvsp[-3].boolean); - n->sequence = (yyvsp[-1].range); - n->options = (yyvsp[0].list); + (yyvsp[(4) - (5)].range)->istemp = (yyvsp[(2) - (5)].boolean); + n->sequence = (yyvsp[(4) - (5)].range); + n->options = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 406: + +/* Line 1455 of yacc.c */ #line 2629 "gram.y" { AlterSeqStmt *n = makeNode(AlterSeqStmt); - n->sequence = (yyvsp[-1].range); - n->options = (yyvsp[0].list); + n->sequence = (yyvsp[(3) - (4)].range); + n->options = (yyvsp[(4) - (4)].list); (yyval.node) = (Node *)n; } break; case 407: + +/* Line 1455 of yacc.c */ #line 2637 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 408: + +/* Line 1455 of yacc.c */ #line 2638 "gram.y" { (yyval.list) = NIL; } break; case 409: + +/* Line 1455 of yacc.c */ #line 2641 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].defelt)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); } break; case 410: + +/* Line 1455 of yacc.c */ #line 2642 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); } break; case 411: + +/* Line 1455 of yacc.c */ #line 2646 "gram.y" { - (yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value)); + (yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[(2) - (2)].value)); } break; case 412: + +/* Line 1455 of yacc.c */ #line 2650 "gram.y" { (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(TRUE)); @@ -18784,6 +19643,8 @@ yyreduce: break; case 413: + +/* Line 1455 of yacc.c */ #line 2654 "gram.y" { (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(FALSE)); @@ -18791,27 +19652,35 @@ yyreduce: break; case 414: + +/* Line 1455 of yacc.c */ #line 2658 "gram.y" { - (yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value)); + (yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[(3) - (3)].value)); } break; case 415: + +/* Line 1455 of yacc.c */ #line 2662 "gram.y" { - (yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value)); + (yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[(2) - (2)].value)); } break; case 416: + +/* Line 1455 of yacc.c */ #line 2666 "gram.y" { - (yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value)); + (yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[(2) - (2)].value)); } break; case 417: + +/* Line 1455 of yacc.c */ #line 2670 "gram.y" { (yyval.defelt) = makeDefElem("maxvalue", NULL); @@ -18819,6 +19688,8 @@ yyreduce: break; case 418: + +/* Line 1455 of yacc.c */ #line 2674 "gram.y" { (yyval.defelt) = makeDefElem("minvalue", NULL); @@ -18826,20 +19697,26 @@ yyreduce: break; case 419: + +/* Line 1455 of yacc.c */ #line 2678 "gram.y" { - (yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list)); + (yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[(3) - (3)].list)); } break; case 420: + +/* Line 1455 of yacc.c */ #line 2682 "gram.y" { - (yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value)); + (yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[(3) - (3)].value)); } break; case 421: + +/* Line 1455 of yacc.c */ #line 2686 "gram.y" { (yyval.defelt) = makeDefElem("restart", NULL); @@ -18847,45 +19724,59 @@ yyreduce: break; case 422: + +/* Line 1455 of yacc.c */ #line 2690 "gram.y" { - (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value)); + (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[(3) - (3)].value)); } break; case 423: + +/* Line 1455 of yacc.c */ #line 2695 "gram.y" {} break; case 424: + +/* Line 1455 of yacc.c */ #line 2696 "gram.y" {} break; case 425: + +/* Line 1455 of yacc.c */ #line 2700 "gram.y" - { (yyval.value) = makeFloat((yyvsp[0].str)); } + { (yyval.value) = makeFloat((yyvsp[(1) - (1)].str)); } break; case 426: + +/* Line 1455 of yacc.c */ #line 2702 "gram.y" { - (yyval.value) = makeFloat((yyvsp[0].str)); + (yyval.value) = makeFloat((yyvsp[(2) - (2)].str)); doNegateFloat((yyval.value)); } break; case 427: + +/* Line 1455 of yacc.c */ #line 2706 "gram.y" - { (yyval.value) = makeInteger((yyvsp[0].ival)); } + { (yyval.value) = makeInteger((yyvsp[(1) - (1)].ival)); } break; case 428: + +/* Line 1455 of yacc.c */ #line 2719 "gram.y" { CreatePLangStmt *n = makeNode(CreatePLangStmt); - n->plname = (yyvsp[0].str); + n->plname = (yyvsp[(5) - (5)].str); /* parameters are all to be supplied by system */ n->plhandler = NIL; n->plvalidator = NIL; @@ -18895,465 +19786,585 @@ yyreduce: break; case 429: + +/* Line 1455 of yacc.c */ #line 2730 "gram.y" { CreatePLangStmt *n = makeNode(CreatePLangStmt); - n->plname = (yyvsp[-4].str); - n->plhandler = (yyvsp[-2].list); - n->plvalidator = (yyvsp[-1].list); - n->pltrusted = (yyvsp[-7].boolean); + n->plname = (yyvsp[(5) - (9)].str); + n->plhandler = (yyvsp[(7) - (9)].list); + n->plvalidator = (yyvsp[(8) - (9)].list); + n->pltrusted = (yyvsp[(2) - (9)].boolean); /* LANCOMPILER is now ignored entirely */ (yyval.node) = (Node *)n; } break; case 430: + +/* Line 1455 of yacc.c */ #line 2742 "gram.y" { (yyval.boolean) = TRUE; } break; case 431: + +/* Line 1455 of yacc.c */ #line 2743 "gram.y" { (yyval.boolean) = FALSE; } break; case 432: + +/* Line 1455 of yacc.c */ #line 2751 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); } break; case 433: + +/* Line 1455 of yacc.c */ #line 2752 "gram.y" - { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); } + { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); } break; case 434: + +/* Line 1455 of yacc.c */ #line 2756 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 435: + +/* Line 1455 of yacc.c */ #line 2757 "gram.y" { (yyval.list) = NIL; } break; case 436: + +/* Line 1455 of yacc.c */ #line 2761 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 437: + +/* Line 1455 of yacc.c */ #line 2762 "gram.y" { (yyval.list) = NIL; } break; case 438: + +/* Line 1455 of yacc.c */ #line 2766 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(2) - (2)].str); } break; case 439: + +/* Line 1455 of yacc.c */ #line 2767 "gram.y" { (yyval.str) = NULL; } break; case 440: + +/* Line 1455 of yacc.c */ #line 2772 "gram.y" { DropPLangStmt *n = makeNode(DropPLangStmt); - n->plname = (yyvsp[-1].str); - n->behavior = (yyvsp[0].dbehavior); + n->plname = (yyvsp[(4) - (5)].str); + n->behavior = (yyvsp[(5) - (5)].dbehavior); n->missing_ok = false; (yyval.node) = (Node *)n; } break; case 441: + +/* Line 1455 of yacc.c */ #line 2780 "gram.y" { DropPLangStmt *n = makeNode(DropPLangStmt); - n->plname = (yyvsp[-1].str); - n->behavior = (yyvsp[0].dbehavior); + n->plname = (yyvsp[(6) - (7)].str); + n->behavior = (yyvsp[(7) - (7)].dbehavior); n->missing_ok = true; (yyval.node) = (Node *)n; } break; case 442: + +/* Line 1455 of yacc.c */ #line 2790 "gram.y" {} break; case 443: + +/* Line 1455 of yacc.c */ #line 2791 "gram.y" {} break; case 444: + +/* Line 1455 of yacc.c */ #line 2802 "gram.y" { CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt); - n->tablespacename = (yyvsp[-3].str); - n->owner = (yyvsp[-2].str); - n->location = (yyvsp[0].str); + n->tablespacename = (yyvsp[(3) - (6)].str); + n->owner = (yyvsp[(4) - (6)].str); + n->location = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *) n; } break; case 445: + +/* Line 1455 of yacc.c */ #line 2811 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(2) - (2)].str); } break; case 446: + +/* Line 1455 of yacc.c */ #line 2812 "gram.y" { (yyval.str) = NULL; } break; case 447: + +/* Line 1455 of yacc.c */ #line 2826 "gram.y" { DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt); - n->tablespacename = (yyvsp[0].str); + n->tablespacename = (yyvsp[(3) - (3)].str); n->missing_ok = false; (yyval.node) = (Node *) n; } break; case 448: + +/* Line 1455 of yacc.c */ #line 2833 "gram.y" { DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt); - n->tablespacename = (yyvsp[0].str); + n->tablespacename = (yyvsp[(5) - (5)].str); n->missing_ok = true; (yyval.node) = (Node *) n; } break; case 449: + +/* Line 1455 of yacc.c */ #line 2849 "gram.y" { CreateFdwStmt *n = makeNode(CreateFdwStmt); - n->fdwname = (yyvsp[-2].str); - n->validator = (yyvsp[-1].list); - n->options = (yyvsp[0].list); + n->fdwname = (yyvsp[(5) - (7)].str); + n->validator = (yyvsp[(6) - (7)].list); + n->options = (yyvsp[(7) - (7)].list); (yyval.node) = (Node *) n; } break; case 450: + +/* Line 1455 of yacc.c */ #line 2866 "gram.y" { DropFdwStmt *n = makeNode(DropFdwStmt); - n->fdwname = (yyvsp[-1].str); + n->fdwname = (yyvsp[(5) - (6)].str); n->missing_ok = false; - n->behavior = (yyvsp[0].dbehavior); + n->behavior = (yyvsp[(6) - (6)].dbehavior); (yyval.node) = (Node *) n; } break; case 451: + +/* Line 1455 of yacc.c */ #line 2874 "gram.y" { DropFdwStmt *n = makeNode(DropFdwStmt); - n->fdwname = (yyvsp[-1].str); + n->fdwname = (yyvsp[(7) - (8)].str); n->missing_ok = true; - n->behavior = (yyvsp[0].dbehavior); + n->behavior = (yyvsp[(8) - (8)].dbehavior); (yyval.node) = (Node *) n; } break; case 452: + +/* Line 1455 of yacc.c */ #line 2891 "gram.y" { AlterFdwStmt *n = makeNode(AlterFdwStmt); - n->fdwname = (yyvsp[-2].str); - n->validator = (yyvsp[-1].list); + n->fdwname = (yyvsp[(5) - (7)].str); + n->validator = (yyvsp[(6) - (7)].list); n->change_validator = true; - n->options = (yyvsp[0].list); + n->options = (yyvsp[(7) - (7)].list); (yyval.node) = (Node *) n; } break; case 453: + +/* Line 1455 of yacc.c */ #line 2900 "gram.y" { AlterFdwStmt *n = makeNode(AlterFdwStmt); - n->fdwname = (yyvsp[-1].str); - n->validator = (yyvsp[0].list); + n->fdwname = (yyvsp[(5) - (6)].str); + n->validator = (yyvsp[(6) - (6)].list); n->change_validator = true; (yyval.node) = (Node *) n; } break; case 454: + +/* Line 1455 of yacc.c */ #line 2908 "gram.y" { AlterFdwStmt *n = makeNode(AlterFdwStmt); - n->fdwname = (yyvsp[-1].str); - n->options = (yyvsp[0].list); + n->fdwname = (yyvsp[(5) - (6)].str); + n->options = (yyvsp[(6) - (6)].list); (yyval.node) = (Node *) n; } break; case 455: + +/* Line 1455 of yacc.c */ #line 2918 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(3) - (4)].list); } break; case 456: + +/* Line 1455 of yacc.c */ #line 2919 "gram.y" { (yyval.list) = NIL; } break; case 457: + +/* Line 1455 of yacc.c */ #line 2924 "gram.y" { - (yyval.list) = list_make1((yyvsp[0].defelt)); + (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); } break; case 458: + +/* Line 1455 of yacc.c */ #line 2928 "gram.y" { - (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); + (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); } break; case 459: + +/* Line 1455 of yacc.c */ #line 2935 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(3) - (4)].list); } break; case 460: + +/* Line 1455 of yacc.c */ #line 2940 "gram.y" { - (yyval.list) = list_make1((yyvsp[0].defelt)); + (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); } break; case 461: + +/* Line 1455 of yacc.c */ #line 2944 "gram.y" { - (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); + (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); } break; case 462: + +/* Line 1455 of yacc.c */ #line 2951 "gram.y" { - (yyval.defelt) = (yyvsp[0].defelt); + (yyval.defelt) = (yyvsp[(1) - (1)].defelt); } break; case 463: + +/* Line 1455 of yacc.c */ #line 2955 "gram.y" { - (yyval.defelt) = (yyvsp[0].defelt); + (yyval.defelt) = (yyvsp[(2) - (2)].defelt); (yyval.defelt)->defaction = DEFELEM_SET; } break; case 464: + +/* Line 1455 of yacc.c */ #line 2960 "gram.y" { - (yyval.defelt) = (yyvsp[0].defelt); + (yyval.defelt) = (yyvsp[(2) - (2)].defelt); (yyval.defelt)->defaction = DEFELEM_ADD; } break; case 465: + +/* Line 1455 of yacc.c */ #line 2965 "gram.y" { - (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP); + (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[(2) - (2)].str), NULL, DEFELEM_DROP); } break; case 466: + +/* Line 1455 of yacc.c */ #line 2972 "gram.y" { - (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node)); + (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node)); } break; case 467: + +/* Line 1455 of yacc.c */ #line 2978 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 468: + +/* Line 1455 of yacc.c */ #line 2983 "gram.y" - { (yyval.node) = (Node *) makeString((yyvsp[0].str)); } + { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); } break; case 469: + +/* Line 1455 of yacc.c */ #line 2995 "gram.y" { CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt); - 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); + 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); (yyval.node) = (Node *) n; } break; case 470: + +/* Line 1455 of yacc.c */ #line 3007 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(2) - (2)].str); } break; case 471: + +/* Line 1455 of yacc.c */ #line 3008 "gram.y" { (yyval.str) = NULL; } break; case 472: + +/* Line 1455 of yacc.c */ #line 3013 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(2) - (2)].str); } break; case 473: + +/* Line 1455 of yacc.c */ #line 3014 "gram.y" { (yyval.str) = NULL; } break; case 474: + +/* Line 1455 of yacc.c */ #line 3018 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 475: + +/* Line 1455 of yacc.c */ #line 3019 "gram.y" { (yyval.str) = NULL; } break; case 476: + +/* Line 1455 of yacc.c */ #line 3030 "gram.y" { DropForeignServerStmt *n = makeNode(DropForeignServerStmt); - n->servername = (yyvsp[-1].str); + n->servername = (yyvsp[(3) - (4)].str); n->missing_ok = false; - n->behavior = (yyvsp[0].dbehavior); + n->behavior = (yyvsp[(4) - (4)].dbehavior); (yyval.node) = (Node *) n; } break; case 477: + +/* Line 1455 of yacc.c */ #line 3038 "gram.y" { DropForeignServerStmt *n = makeNode(DropForeignServerStmt); - n->servername = (yyvsp[-1].str); + n->servername = (yyvsp[(5) - (6)].str); n->missing_ok = true; - n->behavior = (yyvsp[0].dbehavior); + n->behavior = (yyvsp[(6) - (6)].dbehavior); (yyval.node) = (Node *) n; } break; case 478: + +/* Line 1455 of yacc.c */ #line 3055 "gram.y" { AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt); - n->servername = (yyvsp[-2].str); - n->version = (yyvsp[-1].str); - n->options = (yyvsp[0].list); + n->servername = (yyvsp[(3) - (5)].str); + n->version = (yyvsp[(4) - (5)].str); + n->options = (yyvsp[(5) - (5)].list); n->has_version = true; (yyval.node) = (Node *) n; } break; case 479: + +/* Line 1455 of yacc.c */ #line 3064 "gram.y" { AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt); - n->servername = (yyvsp[-1].str); - n->version = (yyvsp[0].str); + n->servername = (yyvsp[(3) - (4)].str); + n->version = (yyvsp[(4) - (4)].str); n->has_version = true; (yyval.node) = (Node *) n; } break; case 480: + +/* Line 1455 of yacc.c */ #line 3072 "gram.y" { AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt); - n->servername = (yyvsp[-1].str); - n->options = (yyvsp[0].list); + n->servername = (yyvsp[(3) - (4)].str); + n->options = (yyvsp[(4) - (4)].list); (yyval.node) = (Node *) n; } break; case 481: + +/* Line 1455 of yacc.c */ #line 3088 "gram.y" { CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt); - n->username = (yyvsp[-3].str); - n->servername = (yyvsp[-1].str); - n->options = (yyvsp[0].list); + n->username = (yyvsp[(5) - (8)].str); + n->servername = (yyvsp[(7) - (8)].str); + n->options = (yyvsp[(8) - (8)].list); (yyval.node) = (Node *) n; } break; case 482: + +/* Line 1455 of yacc.c */ #line 3099 "gram.y" { (yyval.str) = "current_user"; } break; case 483: + +/* Line 1455 of yacc.c */ #line 3100 "gram.y" { (yyval.str) = "current_user"; } break; case 484: + +/* Line 1455 of yacc.c */ #line 3101 "gram.y" - { (yyval.str) = (strcmp((yyvsp[0].str), "public") == 0) ? NULL : (yyvsp[0].str); } + { (yyval.str) = (strcmp((yyvsp[(1) - (1)].str), "public") == 0) ? NULL : (yyvsp[(1) - (1)].str); } break; case 485: + +/* Line 1455 of yacc.c */ #line 3112 "gram.y" { DropUserMappingStmt *n = makeNode(DropUserMappingStmt); - n->username = (yyvsp[-2].str); - n->servername = (yyvsp[0].str); + n->username = (yyvsp[(5) - (7)].str); + n->servername = (yyvsp[(7) - (7)].str); n->missing_ok = false; (yyval.node) = (Node *) n; } break; case 486: + +/* Line 1455 of yacc.c */ #line 3120 "gram.y" { DropUserMappingStmt *n = makeNode(DropUserMappingStmt); - n->username = (yyvsp[-2].str); - n->servername = (yyvsp[0].str); + n->username = (yyvsp[(7) - (9)].str); + n->servername = (yyvsp[(9) - (9)].str); n->missing_ok = true; (yyval.node) = (Node *) n; } break; case 487: + +/* Line 1455 of yacc.c */ #line 3137 "gram.y" { AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt); - n->username = (yyvsp[-3].str); - n->servername = (yyvsp[-1].str); - n->options = (yyvsp[0].list); + n->username = (yyvsp[(5) - (8)].str); + n->servername = (yyvsp[(7) - (8)].str); + n->options = (yyvsp[(8) - (8)].list); (yyval.node) = (Node *) n; } break; case 488: + +/* Line 1455 of yacc.c */ #line 3158 "gram.y" { CreateTrigStmt *n = makeNode(CreateTrigStmt); - n->trigname = (yyvsp[-11].str); - n->relation = (yyvsp[-7].range); - n->funcname = (yyvsp[-3].list); - n->args = (yyvsp[-1].list); - n->before = (yyvsp[-10].boolean); - n->row = (yyvsp[-6].boolean); - n->events = (yyvsp[-9].ival); + n->trigname = (yyvsp[(3) - (14)].str); + n->relation = (yyvsp[(7) - (14)].range); + n->funcname = (yyvsp[(11) - (14)].list); + n->args = (yyvsp[(13) - (14)].list); + n->before = (yyvsp[(4) - (14)].boolean); + n->row = (yyvsp[(8) - (14)].boolean); + n->events = (yyvsp[(5) - (14)].ival); n->isconstraint = FALSE; n->deferrable = FALSE; n->initdeferred = FALSE; @@ -19363,76 +20374,98 @@ yyreduce: break; case 489: + +/* Line 1455 of yacc.c */ #line 3178 "gram.y" { CreateTrigStmt *n = makeNode(CreateTrigStmt); - n->trigname = (yyvsp[-15].str); - n->relation = (yyvsp[-11].range); - n->funcname = (yyvsp[-3].list); - n->args = (yyvsp[-1].list); + n->trigname = (yyvsp[(4) - (19)].str); + n->relation = (yyvsp[(8) - (19)].range); + n->funcname = (yyvsp[(16) - (19)].list); + n->args = (yyvsp[(18) - (19)].list); n->before = FALSE; n->row = TRUE; - n->events = (yyvsp[-13].ival); + n->events = (yyvsp[(6) - (19)].ival); n->isconstraint = TRUE; - n->deferrable = ((yyvsp[-9].ival) & 1) != 0; - n->initdeferred = ((yyvsp[-9].ival) & 2) != 0; - n->constrrel = (yyvsp[-10].range); + n->deferrable = ((yyvsp[(10) - (19)].ival) & 1) != 0; + n->initdeferred = ((yyvsp[(10) - (19)].ival) & 2) != 0; + n->constrrel = (yyvsp[(9) - (19)].range); (yyval.node) = (Node *)n; } break; case 490: + +/* Line 1455 of yacc.c */ #line 3196 "gram.y" { (yyval.boolean) = TRUE; } break; case 491: + +/* Line 1455 of yacc.c */ #line 3197 "gram.y" { (yyval.boolean) = FALSE; } break; case 492: + +/* Line 1455 of yacc.c */ #line 3202 "gram.y" - { (yyval.ival) = (yyvsp[0].ival); } + { (yyval.ival) = (yyvsp[(1) - (1)].ival); } break; case 493: + +/* Line 1455 of yacc.c */ #line 3204 "gram.y" { - if ((yyvsp[-2].ival) & (yyvsp[0].ival)) + if ((yyvsp[(1) - (3)].ival) & (yyvsp[(3) - (3)].ival)) yyerror("duplicate trigger events specified"); - (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); + (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); } break; case 494: + +/* Line 1455 of yacc.c */ #line 3212 "gram.y" { (yyval.ival) = TRIGGER_TYPE_INSERT; } break; case 495: + +/* Line 1455 of yacc.c */ #line 3213 "gram.y" { (yyval.ival) = TRIGGER_TYPE_DELETE; } break; case 496: + +/* Line 1455 of yacc.c */ #line 3214 "gram.y" { (yyval.ival) = TRIGGER_TYPE_UPDATE; } break; case 497: + +/* Line 1455 of yacc.c */ #line 3215 "gram.y" { (yyval.ival) = TRIGGER_TYPE_TRUNCATE; } break; case 498: + +/* Line 1455 of yacc.c */ #line 3220 "gram.y" { - (yyval.boolean) = (yyvsp[0].boolean); + (yyval.boolean) = (yyvsp[(3) - (3)].boolean); } break; case 499: + +/* Line 1455 of yacc.c */ #line 3224 "gram.y" { /* @@ -19444,105 +20477,141 @@ yyreduce: break; case 500: + +/* Line 1455 of yacc.c */ #line 3234 "gram.y" {} break; case 501: + +/* Line 1455 of yacc.c */ #line 3235 "gram.y" {} break; case 502: + +/* Line 1455 of yacc.c */ #line 3239 "gram.y" { (yyval.boolean) = TRUE; } break; case 503: + +/* Line 1455 of yacc.c */ #line 3240 "gram.y" { (yyval.boolean) = FALSE; } break; case 504: + +/* Line 1455 of yacc.c */ #line 3244 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].value)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); } break; case 505: + +/* Line 1455 of yacc.c */ #line 3245 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); } break; case 506: + +/* Line 1455 of yacc.c */ #line 3246 "gram.y" { (yyval.list) = NIL; } break; case 507: + +/* Line 1455 of yacc.c */ #line 3251 "gram.y" { char buf[64]; - snprintf(buf, sizeof(buf), "%d", (yyvsp[0].ival)); + snprintf(buf, sizeof(buf), "%d", (yyvsp[(1) - (1)].ival)); (yyval.value) = makeString(pstrdup(buf)); } break; case 508: + +/* Line 1455 of yacc.c */ #line 3256 "gram.y" - { (yyval.value) = makeString((yyvsp[0].str)); } + { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); } break; case 509: + +/* Line 1455 of yacc.c */ #line 3257 "gram.y" - { (yyval.value) = makeString((yyvsp[0].str)); } + { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); } break; case 510: + +/* Line 1455 of yacc.c */ #line 3258 "gram.y" - { (yyval.value) = makeString((yyvsp[0].str)); } + { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); } break; case 511: + +/* Line 1455 of yacc.c */ #line 3259 "gram.y" - { (yyval.value) = makeString((yyvsp[0].str)); } + { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); } break; case 512: + +/* Line 1455 of yacc.c */ #line 3260 "gram.y" - { (yyval.value) = makeString((yyvsp[0].str)); } + { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); } break; case 513: + +/* Line 1455 of yacc.c */ #line 3264 "gram.y" - { (yyval.range) = (yyvsp[0].range); } + { (yyval.range) = (yyvsp[(2) - (2)].range); } break; case 514: + +/* Line 1455 of yacc.c */ #line 3265 "gram.y" { (yyval.range) = NULL; } break; case 515: + +/* Line 1455 of yacc.c */ #line 3270 "gram.y" - { (yyval.ival) = (yyvsp[0].ival); } + { (yyval.ival) = (yyvsp[(1) - (1)].ival); } break; case 516: + +/* Line 1455 of yacc.c */ #line 3272 "gram.y" { - if ((yyvsp[-1].ival) == 0 && (yyvsp[0].ival) != 0) + if ((yyvsp[(1) - (2)].ival) == 0 && (yyvsp[(2) - (2)].ival) != 0) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"), - scanner_errposition((yylsp[-1])))); - (yyval.ival) = (yyvsp[-1].ival) | (yyvsp[0].ival); + scanner_errposition((yylsp[(1) - (2)])))); + (yyval.ival) = (yyvsp[(1) - (2)].ival) | (yyvsp[(2) - (2)].ival); } break; case 517: + +/* Line 1455 of yacc.c */ #line 3281 "gram.y" { - if ((yyvsp[0].ival) != 0) + if ((yyvsp[(1) - (1)].ival) != 0) (yyval.ival) = 3; else (yyval.ival) = 0; @@ -19550,49 +20619,63 @@ yyreduce: break; case 518: + +/* Line 1455 of yacc.c */ #line 3288 "gram.y" { - if ((yyvsp[0].ival) == 0 && (yyvsp[-1].ival) != 0) + if ((yyvsp[(2) - (2)].ival) == 0 && (yyvsp[(1) - (2)].ival) != 0) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"), - scanner_errposition((yylsp[-1])))); - (yyval.ival) = (yyvsp[-1].ival) | (yyvsp[0].ival); + scanner_errposition((yylsp[(1) - (2)])))); + (yyval.ival) = (yyvsp[(1) - (2)].ival) | (yyvsp[(2) - (2)].ival); } break; case 519: + +/* Line 1455 of yacc.c */ #line 3297 "gram.y" { (yyval.ival) = 0; } break; case 520: + +/* Line 1455 of yacc.c */ #line 3301 "gram.y" { (yyval.ival) = 0; } break; case 521: + +/* Line 1455 of yacc.c */ #line 3302 "gram.y" { (yyval.ival) = 1; } break; case 522: + +/* Line 1455 of yacc.c */ #line 3306 "gram.y" { (yyval.ival) = 0; } break; case 523: + +/* Line 1455 of yacc.c */ #line 3307 "gram.y" { (yyval.ival) = 2; } break; case 524: + +/* Line 1455 of yacc.c */ #line 3313 "gram.y" { DropPropertyStmt *n = makeNode(DropPropertyStmt); - n->relation = (yyvsp[-1].range); - n->property = (yyvsp[-3].str); - n->behavior = (yyvsp[0].dbehavior); + n->relation = (yyvsp[(5) - (6)].range); + n->property = (yyvsp[(3) - (6)].str); + n->behavior = (yyvsp[(6) - (6)].dbehavior); n->removeType = OBJECT_TRIGGER; n->missing_ok = false; (yyval.node) = (Node *) n; @@ -19600,12 +20683,14 @@ yyreduce: break; case 525: + +/* Line 1455 of yacc.c */ #line 3323 "gram.y" { DropPropertyStmt *n = makeNode(DropPropertyStmt); - n->relation = (yyvsp[-1].range); - n->property = (yyvsp[-3].str); - n->behavior = (yyvsp[0].dbehavior); + n->relation = (yyvsp[(7) - (8)].range); + n->property = (yyvsp[(5) - (8)].str); + n->behavior = (yyvsp[(8) - (8)].dbehavior); n->removeType = OBJECT_TRIGGER; n->missing_ok = true; (yyval.node) = (Node *) n; @@ -19613,14 +20698,16 @@ yyreduce: break; case 526: + +/* Line 1455 of yacc.c */ #line 3346 "gram.y" { CreateTrigStmt *n = makeNode(CreateTrigStmt); - n->trigname = (yyvsp[-5].str); - n->args = list_make1((yyvsp[-2].node)); + n->trigname = (yyvsp[(3) - (8)].str); + n->args = list_make1((yyvsp[(6) - (8)].node)); n->isconstraint = TRUE; - n->deferrable = ((yyvsp[0].ival) & 1) != 0; - n->initdeferred = ((yyvsp[0].ival) & 2) != 0; + n->deferrable = ((yyvsp[(8) - (8)].ival) & 1) != 0; + n->initdeferred = ((yyvsp[(8) - (8)].ival) & 2) != 0; ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -19631,12 +20718,14 @@ yyreduce: break; case 527: + +/* Line 1455 of yacc.c */ #line 3364 "gram.y" { DropPropertyStmt *n = makeNode(DropPropertyStmt); n->relation = NULL; - n->property = (yyvsp[-1].str); - n->behavior = (yyvsp[0].dbehavior); + n->property = (yyvsp[(3) - (4)].str); + n->behavior = (yyvsp[(4) - (4)].dbehavior); n->removeType = OBJECT_TRIGGER; /* XXX */ ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -19646,66 +20735,76 @@ yyreduce: break; case 528: + +/* Line 1455 of yacc.c */ #line 3387 "gram.y" { DefineStmt *n = makeNode(DefineStmt); n->kind = OBJECT_AGGREGATE; n->oldstyle = false; - n->defnames = (yyvsp[-2].list); - n->args = (yyvsp[-1].list); - n->definition = (yyvsp[0].list); + n->defnames = (yyvsp[(3) - (5)].list); + n->args = (yyvsp[(4) - (5)].list); + n->definition = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 529: + +/* Line 1455 of yacc.c */ #line 3397 "gram.y" { /* old-style (pre-8.2) syntax for CREATE AGGREGATE */ DefineStmt *n = makeNode(DefineStmt); n->kind = OBJECT_AGGREGATE; n->oldstyle = true; - n->defnames = (yyvsp[-1].list); + n->defnames = (yyvsp[(3) - (4)].list); n->args = NIL; - n->definition = (yyvsp[0].list); + n->definition = (yyvsp[(4) - (4)].list); (yyval.node) = (Node *)n; } break; case 530: + +/* Line 1455 of yacc.c */ #line 3408 "gram.y" { DefineStmt *n = makeNode(DefineStmt); n->kind = OBJECT_OPERATOR; n->oldstyle = false; - n->defnames = (yyvsp[-1].list); + n->defnames = (yyvsp[(3) - (4)].list); n->args = NIL; - n->definition = (yyvsp[0].list); + n->definition = (yyvsp[(4) - (4)].list); (yyval.node) = (Node *)n; } break; case 531: + +/* Line 1455 of yacc.c */ #line 3418 "gram.y" { DefineStmt *n = makeNode(DefineStmt); n->kind = OBJECT_TYPE; n->oldstyle = false; - n->defnames = (yyvsp[-1].list); + n->defnames = (yyvsp[(3) - (4)].list); n->args = NIL; - n->definition = (yyvsp[0].list); + n->definition = (yyvsp[(4) - (4)].list); (yyval.node) = (Node *)n; } break; case 532: + +/* Line 1455 of yacc.c */ #line 3428 "gram.y" { /* Shell type (identified by lack of definition) */ DefineStmt *n = makeNode(DefineStmt); n->kind = OBJECT_TYPE; n->oldstyle = false; - n->defnames = (yyvsp[0].list); + n->defnames = (yyvsp[(3) - (3)].list); n->args = NIL; n->definition = NIL; (yyval.node) = (Node *)n; @@ -19713,908 +20812,1130 @@ yyreduce: break; case 533: + +/* Line 1455 of yacc.c */ #line 3439 "gram.y" { CompositeTypeStmt *n = makeNode(CompositeTypeStmt); RangeVar *r = makeNode(RangeVar); /* can't use qualified_name, sigh */ - switch (list_length((yyvsp[-4].list))) + switch (list_length((yyvsp[(3) - (7)].list))) { case 1: r->catalogname = NULL; r->schemaname = NULL; - r->relname = strVal(linitial((yyvsp[-4].list))); + r->relname = strVal(linitial((yyvsp[(3) - (7)].list))); break; case 2: r->catalogname = NULL; - r->schemaname = strVal(linitial((yyvsp[-4].list))); - r->relname = strVal(lsecond((yyvsp[-4].list))); + r->schemaname = strVal(linitial((yyvsp[(3) - (7)].list))); + r->relname = strVal(lsecond((yyvsp[(3) - (7)].list))); break; case 3: - r->catalogname = strVal(linitial((yyvsp[-4].list))); - r->schemaname = strVal(lsecond((yyvsp[-4].list))); - r->relname = strVal(lthird((yyvsp[-4].list))); + r->catalogname = strVal(linitial((yyvsp[(3) - (7)].list))); + r->schemaname = strVal(lsecond((yyvsp[(3) - (7)].list))); + r->relname = strVal(lthird((yyvsp[(3) - (7)].list))); break; default: ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("improper qualified name (too many dotted names): %s", - NameListToString((yyvsp[-4].list))), - scanner_errposition((yylsp[-4])))); + NameListToString((yyvsp[(3) - (7)].list))), + scanner_errposition((yylsp[(3) - (7)])))); break; } - r->location = (yylsp[-4]); + r->location = (yylsp[(3) - (7)]); n->typevar = r; - n->coldeflist = (yyvsp[-1].list); + n->coldeflist = (yyvsp[(6) - (7)].list); (yyval.node) = (Node *)n; } break; case 534: + +/* Line 1455 of yacc.c */ #line 3475 "gram.y" { CreateEnumStmt *n = makeNode(CreateEnumStmt); - n->typename = (yyvsp[-5].list); - n->vals = (yyvsp[-1].list); + n->typename = (yyvsp[(3) - (8)].list); + n->vals = (yyvsp[(7) - (8)].list); (yyval.node) = (Node *)n; } break; case 535: + +/* Line 1455 of yacc.c */ #line 3482 "gram.y" { DefineStmt *n = makeNode(DefineStmt); n->kind = OBJECT_TSPARSER; n->args = NIL; - n->defnames = (yyvsp[-1].list); - n->definition = (yyvsp[0].list); + n->defnames = (yyvsp[(5) - (6)].list); + n->definition = (yyvsp[(6) - (6)].list); (yyval.node) = (Node *)n; } break; case 536: + +/* Line 1455 of yacc.c */ #line 3491 "gram.y" { DefineStmt *n = makeNode(DefineStmt); n->kind = OBJECT_TSDICTIONARY; n->args = NIL; - n->defnames = (yyvsp[-1].list); - n->definition = (yyvsp[0].list); + n->defnames = (yyvsp[(5) - (6)].list); + n->definition = (yyvsp[(6) - (6)].list); (yyval.node) = (Node *)n; } break; case 537: + +/* Line 1455 of yacc.c */ #line 3500 "gram.y" { DefineStmt *n = makeNode(DefineStmt); n->kind = OBJECT_TSTEMPLATE; n->args = NIL; - n->defnames = (yyvsp[-1].list); - n->definition = (yyvsp[0].list); + n->defnames = (yyvsp[(5) - (6)].list); + n->definition = (yyvsp[(6) - (6)].list); (yyval.node) = (Node *)n; } break; case 538: + +/* Line 1455 of yacc.c */ #line 3509 "gram.y" { DefineStmt *n = makeNode(DefineStmt); n->kind = OBJECT_TSCONFIGURATION; n->args = NIL; - n->defnames = (yyvsp[-1].list); - n->definition = (yyvsp[0].list); + n->defnames = (yyvsp[(5) - (6)].list); + n->definition = (yyvsp[(6) - (6)].list); (yyval.node) = (Node *)n; } break; case 539: + +/* Line 1455 of yacc.c */ #line 3519 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 540: + +/* Line 1455 of yacc.c */ #line 3522 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].defelt)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); } break; case 541: + +/* Line 1455 of yacc.c */ #line 3523 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); } break; case 542: + +/* Line 1455 of yacc.c */ #line 3527 "gram.y" { - (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node)); + (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node)); } break; case 543: + +/* Line 1455 of yacc.c */ #line 3531 "gram.y" { - (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL); + (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL); } break; case 544: + +/* Line 1455 of yacc.c */ #line 3537 "gram.y" - { (yyval.node) = (Node *)(yyvsp[0].typnam); } + { (yyval.node) = (Node *)(yyvsp[(1) - (1)].typnam); } break; case 545: + +/* Line 1455 of yacc.c */ #line 3538 "gram.y" - { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); } + { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[(1) - (1)].keyword))); } break; case 546: + +/* Line 1455 of yacc.c */ #line 3539 "gram.y" - { (yyval.node) = (Node *)(yyvsp[0].list); } + { (yyval.node) = (Node *)(yyvsp[(1) - (1)].list); } break; case 547: + +/* Line 1455 of yacc.c */ #line 3540 "gram.y" - { (yyval.node) = (Node *)(yyvsp[0].value); } + { (yyval.node) = (Node *)(yyvsp[(1) - (1)].value); } break; case 548: + +/* Line 1455 of yacc.c */ #line 3541 "gram.y" - { (yyval.node) = (Node *)makeString((yyvsp[0].str)); } + { (yyval.node) = (Node *)makeString((yyvsp[(1) - (1)].str)); } break; case 549: + +/* Line 1455 of yacc.c */ #line 3544 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 550: + +/* Line 1455 of yacc.c */ #line 3545 "gram.y" { (yyval.list) = NIL; } break; case 551: + +/* Line 1455 of yacc.c */ #line 3548 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 552: + +/* Line 1455 of yacc.c */ #line 3551 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].defelt)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); } break; case 553: + +/* Line 1455 of yacc.c */ #line 3552 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); } break; case 554: + +/* Line 1455 of yacc.c */ #line 3561 "gram.y" { - (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node)); + (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)(yyvsp[(3) - (3)].node)); } break; case 555: + +/* Line 1455 of yacc.c */ #line 3567 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); } break; case 556: + +/* Line 1455 of yacc.c */ #line 3569 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); } break; case 557: + +/* Line 1455 of yacc.c */ #line 3587 "gram.y" { CreateOpClassStmt *n = makeNode(CreateOpClassStmt); - 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); + 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); (yyval.node) = (Node *) n; } break; case 558: + +/* Line 1455 of yacc.c */ #line 3600 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 559: + +/* Line 1455 of yacc.c */ #line 3601 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 560: + +/* Line 1455 of yacc.c */ #line 3606 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); n->itemtype = OPCLASS_ITEM_OPERATOR; - n->name = (yyvsp[-1].list); + n->name = (yyvsp[(3) - (4)].list); n->args = NIL; - n->number = (yyvsp[-2].ival); + n->number = (yyvsp[(2) - (4)].ival); (yyval.node) = (Node *) n; } break; case 561: + +/* Line 1455 of yacc.c */ #line 3615 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); n->itemtype = OPCLASS_ITEM_OPERATOR; - n->name = (yyvsp[-2].list); - n->args = (yyvsp[-1].list); - n->number = (yyvsp[-3].ival); + n->name = (yyvsp[(3) - (5)].list); + n->args = (yyvsp[(4) - (5)].list); + n->number = (yyvsp[(2) - (5)].ival); (yyval.node) = (Node *) n; } break; case 562: + +/* Line 1455 of yacc.c */ #line 3624 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); n->itemtype = OPCLASS_ITEM_FUNCTION; - n->name = (yyvsp[-1].list); - n->args = extractArgTypes((yyvsp[0].list)); - n->number = (yyvsp[-2].ival); + n->name = (yyvsp[(3) - (4)].list); + n->args = extractArgTypes((yyvsp[(4) - (4)].list)); + n->number = (yyvsp[(2) - (4)].ival); (yyval.node) = (Node *) n; } break; case 563: + +/* Line 1455 of yacc.c */ #line 3633 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); n->itemtype = OPCLASS_ITEM_FUNCTION; - n->name = (yyvsp[-1].list); - n->args = extractArgTypes((yyvsp[0].list)); - n->number = (yyvsp[-5].ival); - n->class_args = (yyvsp[-3].list); + 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); (yyval.node) = (Node *) n; } break; case 564: + +/* Line 1455 of yacc.c */ #line 3643 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); n->itemtype = OPCLASS_ITEM_STORAGETYPE; - n->storedtype = (yyvsp[0].typnam); + n->storedtype = (yyvsp[(2) - (2)].typnam); (yyval.node) = (Node *) n; } break; case 565: + +/* Line 1455 of yacc.c */ #line 3651 "gram.y" { (yyval.boolean) = TRUE; } break; case 566: + +/* Line 1455 of yacc.c */ #line 3652 "gram.y" { (yyval.boolean) = FALSE; } break; case 567: + +/* Line 1455 of yacc.c */ #line 3655 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 568: + +/* Line 1455 of yacc.c */ #line 3656 "gram.y" { (yyval.list) = NIL; } break; case 569: + +/* Line 1455 of yacc.c */ #line 3660 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("RECHECK is no longer supported"), errhint("Update your data type."), - scanner_errposition((yylsp[0])))); + scanner_errposition((yylsp[(1) - (1)])))); (yyval.boolean) = TRUE; } break; case 570: + +/* Line 1455 of yacc.c */ #line 3668 "gram.y" { (yyval.boolean) = FALSE; } break; case 571: + +/* Line 1455 of yacc.c */ #line 3674 "gram.y" { CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt); - n->opfamilyname = (yyvsp[-2].list); - n->amname = (yyvsp[0].str); + n->opfamilyname = (yyvsp[(4) - (6)].list); + n->amname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *) n; } break; case 572: + +/* Line 1455 of yacc.c */ #line 3684 "gram.y" { AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt); - n->opfamilyname = (yyvsp[-4].list); - n->amname = (yyvsp[-2].str); + n->opfamilyname = (yyvsp[(4) - (8)].list); + n->amname = (yyvsp[(6) - (8)].str); n->isDrop = false; - n->items = (yyvsp[0].list); + n->items = (yyvsp[(8) - (8)].list); (yyval.node) = (Node *) n; } break; case 573: + +/* Line 1455 of yacc.c */ #line 3693 "gram.y" { AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt); - n->opfamilyname = (yyvsp[-4].list); - n->amname = (yyvsp[-2].str); + n->opfamilyname = (yyvsp[(4) - (8)].list); + n->amname = (yyvsp[(6) - (8)].str); n->isDrop = true; - n->items = (yyvsp[0].list); + n->items = (yyvsp[(8) - (8)].list); (yyval.node) = (Node *) n; } break; case 574: + +/* Line 1455 of yacc.c */ #line 3704 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 575: + +/* Line 1455 of yacc.c */ #line 3705 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 576: + +/* Line 1455 of yacc.c */ #line 3710 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); n->itemtype = OPCLASS_ITEM_OPERATOR; - n->number = (yyvsp[-3].ival); - n->args = (yyvsp[-1].list); + n->number = (yyvsp[(2) - (5)].ival); + n->args = (yyvsp[(4) - (5)].list); (yyval.node) = (Node *) n; } break; case 577: + +/* Line 1455 of yacc.c */ #line 3718 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); n->itemtype = OPCLASS_ITEM_FUNCTION; - n->number = (yyvsp[-3].ival); - n->args = (yyvsp[-1].list); + n->number = (yyvsp[(2) - (5)].ival); + n->args = (yyvsp[(4) - (5)].list); (yyval.node) = (Node *) n; } break; case 578: + +/* Line 1455 of yacc.c */ #line 3730 "gram.y" { RemoveOpClassStmt *n = makeNode(RemoveOpClassStmt); - n->opclassname = (yyvsp[-3].list); - n->amname = (yyvsp[-1].str); - n->behavior = (yyvsp[0].dbehavior); + n->opclassname = (yyvsp[(4) - (7)].list); + n->amname = (yyvsp[(6) - (7)].str); + n->behavior = (yyvsp[(7) - (7)].dbehavior); n->missing_ok = false; (yyval.node) = (Node *) n; } break; case 579: + +/* Line 1455 of yacc.c */ #line 3739 "gram.y" { RemoveOpClassStmt *n = makeNode(RemoveOpClassStmt); - n->opclassname = (yyvsp[-3].list); - n->amname = (yyvsp[-1].str); - n->behavior = (yyvsp[0].dbehavior); + n->opclassname = (yyvsp[(6) - (9)].list); + n->amname = (yyvsp[(8) - (9)].str); + n->behavior = (yyvsp[(9) - (9)].dbehavior); n->missing_ok = true; (yyval.node) = (Node *) n; } break; case 580: + +/* Line 1455 of yacc.c */ #line 3751 "gram.y" { RemoveOpFamilyStmt *n = makeNode(RemoveOpFamilyStmt); - n->opfamilyname = (yyvsp[-3].list); - n->amname = (yyvsp[-1].str); - n->behavior = (yyvsp[0].dbehavior); + n->opfamilyname = (yyvsp[(4) - (7)].list); + n->amname = (yyvsp[(6) - (7)].str); + n->behavior = (yyvsp[(7) - (7)].dbehavior); n->missing_ok = false; (yyval.node) = (Node *) n; } break; case 581: + +/* Line 1455 of yacc.c */ #line 3760 "gram.y" { RemoveOpFamilyStmt *n = makeNode(RemoveOpFamilyStmt); - n->opfamilyname = (yyvsp[-3].list); - n->amname = (yyvsp[-1].str); - n->behavior = (yyvsp[0].dbehavior); + n->opfamilyname = (yyvsp[(6) - (9)].list); + n->amname = (yyvsp[(8) - (9)].str); + n->behavior = (yyvsp[(9) - (9)].dbehavior); n->missing_ok = true; (yyval.node) = (Node *) n; } break; case 582: + +/* Line 1455 of yacc.c */ #line 3781 "gram.y" { DropOwnedStmt *n = makeNode(DropOwnedStmt); - n->roles = (yyvsp[-1].list); - n->behavior = (yyvsp[0].dbehavior); + n->roles = (yyvsp[(4) - (5)].list); + n->behavior = (yyvsp[(5) - (5)].dbehavior); (yyval.node) = (Node *)n; } break; case 583: + +/* Line 1455 of yacc.c */ #line 3791 "gram.y" { ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt); - n->roles = (yyvsp[-2].list); - n->newrole = (yyvsp[0].str); + n->roles = (yyvsp[(4) - (6)].list); + n->newrole = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 584: + +/* Line 1455 of yacc.c */ #line 3809 "gram.y" { DropStmt *n = makeNode(DropStmt); - n->removeType = (yyvsp[-4].objtype); + n->removeType = (yyvsp[(2) - (6)].objtype); n->missing_ok = TRUE; - n->objects = (yyvsp[-1].list); - n->behavior = (yyvsp[0].dbehavior); + n->objects = (yyvsp[(5) - (6)].list); + n->behavior = (yyvsp[(6) - (6)].dbehavior); (yyval.node) = (Node *)n; } break; case 585: + +/* Line 1455 of yacc.c */ #line 3818 "gram.y" { DropStmt *n = makeNode(DropStmt); - n->removeType = (yyvsp[-2].objtype); + n->removeType = (yyvsp[(2) - (4)].objtype); n->missing_ok = FALSE; - n->objects = (yyvsp[-1].list); - n->behavior = (yyvsp[0].dbehavior); + n->objects = (yyvsp[(3) - (4)].list); + n->behavior = (yyvsp[(4) - (4)].dbehavior); (yyval.node) = (Node *)n; } break; case 586: + +/* Line 1455 of yacc.c */ #line 3829 "gram.y" { (yyval.objtype) = OBJECT_TABLE; } break; case 587: + +/* Line 1455 of yacc.c */ #line 3830 "gram.y" { (yyval.objtype) = OBJECT_SEQUENCE; } break; case 588: + +/* Line 1455 of yacc.c */ #line 3831 "gram.y" { (yyval.objtype) = OBJECT_VIEW; } break; case 589: + +/* Line 1455 of yacc.c */ #line 3832 "gram.y" { (yyval.objtype) = OBJECT_INDEX; } break; case 590: + +/* Line 1455 of yacc.c */ #line 3833 "gram.y" { (yyval.objtype) = OBJECT_TYPE; } break; case 591: + +/* Line 1455 of yacc.c */ #line 3834 "gram.y" { (yyval.objtype) = OBJECT_DOMAIN; } break; case 592: + +/* Line 1455 of yacc.c */ #line 3835 "gram.y" { (yyval.objtype) = OBJECT_CONVERSION; } break; case 593: + +/* Line 1455 of yacc.c */ #line 3836 "gram.y" { (yyval.objtype) = OBJECT_SCHEMA; } break; case 594: + +/* Line 1455 of yacc.c */ #line 3837 "gram.y" { (yyval.objtype) = OBJECT_TSPARSER; } break; case 595: + +/* Line 1455 of yacc.c */ #line 3838 "gram.y" { (yyval.objtype) = OBJECT_TSDICTIONARY; } break; case 596: + +/* Line 1455 of yacc.c */ #line 3839 "gram.y" { (yyval.objtype) = OBJECT_TSTEMPLATE; } break; case 597: + +/* Line 1455 of yacc.c */ #line 3840 "gram.y" { (yyval.objtype) = OBJECT_TSCONFIGURATION; } break; case 598: + +/* Line 1455 of yacc.c */ #line 3844 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].list)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); } break; case 599: + +/* Line 1455 of yacc.c */ #line 3845 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); } break; case 600: + +/* Line 1455 of yacc.c */ #line 3848 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); } break; case 601: + +/* Line 1455 of yacc.c */ #line 3849 "gram.y" - { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); } + { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); } break; case 602: + +/* Line 1455 of yacc.c */ #line 3853 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); } break; case 603: + +/* Line 1455 of yacc.c */ #line 3855 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); } break; case 604: + +/* Line 1455 of yacc.c */ #line 3868 "gram.y" { TruncateStmt *n = makeNode(TruncateStmt); - n->relations = (yyvsp[-2].list); - n->restart_seqs = (yyvsp[-1].boolean); - n->behavior = (yyvsp[0].dbehavior); + n->relations = (yyvsp[(3) - (5)].list); + n->restart_seqs = (yyvsp[(4) - (5)].boolean); + n->behavior = (yyvsp[(5) - (5)].dbehavior); (yyval.node) = (Node *)n; } break; case 605: + +/* Line 1455 of yacc.c */ #line 3878 "gram.y" { (yyval.boolean) = false; } break; case 606: + +/* Line 1455 of yacc.c */ #line 3879 "gram.y" { (yyval.boolean) = true; } break; case 607: + +/* Line 1455 of yacc.c */ #line 3880 "gram.y" { (yyval.boolean) = false; } break; case 608: + +/* Line 1455 of yacc.c */ #line 3906 "gram.y" { CommentStmt *n = makeNode(CommentStmt); - n->objtype = (yyvsp[-3].objtype); - n->objname = (yyvsp[-2].list); + n->objtype = (yyvsp[(3) - (6)].objtype); + n->objname = (yyvsp[(4) - (6)].list); n->objargs = NIL; - n->comment = (yyvsp[0].str); + n->comment = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *) n; } break; case 609: + +/* Line 1455 of yacc.c */ #line 3915 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_AGGREGATE; - n->objname = (yyvsp[-3].list); - n->objargs = (yyvsp[-2].list); - n->comment = (yyvsp[0].str); + n->objname = (yyvsp[(4) - (7)].list); + n->objargs = (yyvsp[(5) - (7)].list); + n->comment = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *) n; } break; case 610: + +/* Line 1455 of yacc.c */ #line 3924 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_FUNCTION; - n->objname = (yyvsp[-3].list); - n->objargs = extractArgTypes((yyvsp[-2].list)); - n->comment = (yyvsp[0].str); + n->objname = (yyvsp[(4) - (7)].list); + n->objargs = extractArgTypes((yyvsp[(5) - (7)].list)); + n->comment = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *) n; } break; case 611: + +/* Line 1455 of yacc.c */ #line 3933 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_OPERATOR; - n->objname = (yyvsp[-3].list); - n->objargs = (yyvsp[-2].list); - n->comment = (yyvsp[0].str); + n->objname = (yyvsp[(4) - (7)].list); + n->objargs = (yyvsp[(5) - (7)].list); + n->comment = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *) n; } break; case 612: + +/* Line 1455 of yacc.c */ #line 3942 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_CONSTRAINT; - n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str))); + n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str))); n->objargs = NIL; - n->comment = (yyvsp[0].str); + n->comment = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *) n; } break; case 613: + +/* Line 1455 of yacc.c */ #line 3951 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_RULE; - n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str))); + n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str))); n->objargs = NIL; - n->comment = (yyvsp[0].str); + n->comment = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *) n; } break; case 614: + +/* Line 1455 of yacc.c */ #line 3960 "gram.y" { /* Obsolete syntax supported for awhile for compatibility */ CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_RULE; - n->objname = list_make1(makeString((yyvsp[-2].str))); + n->objname = list_make1(makeString((yyvsp[(4) - (6)].str))); n->objargs = NIL; - n->comment = (yyvsp[0].str); + n->comment = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *) n; } break; case 615: + +/* Line 1455 of yacc.c */ #line 3970 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_TRIGGER; - n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str))); + n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str))); n->objargs = NIL; - n->comment = (yyvsp[0].str); + n->comment = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *) n; } break; case 616: + +/* Line 1455 of yacc.c */ #line 3979 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_OPCLASS; - n->objname = (yyvsp[-4].list); - n->objargs = list_make1(makeString((yyvsp[-2].str))); - n->comment = (yyvsp[0].str); + n->objname = (yyvsp[(5) - (9)].list); + n->objargs = list_make1(makeString((yyvsp[(7) - (9)].str))); + n->comment = (yyvsp[(9) - (9)].str); (yyval.node) = (Node *) n; } break; case 617: + +/* Line 1455 of yacc.c */ #line 3988 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_OPFAMILY; - n->objname = (yyvsp[-4].list); - n->objargs = list_make1(makeString((yyvsp[-2].str))); - n->comment = (yyvsp[0].str); + n->objname = (yyvsp[(5) - (9)].list); + n->objargs = list_make1(makeString((yyvsp[(7) - (9)].str))); + n->comment = (yyvsp[(9) - (9)].str); (yyval.node) = (Node *) n; } break; case 618: + +/* Line 1455 of yacc.c */ #line 3997 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_LARGEOBJECT; - n->objname = list_make1((yyvsp[-2].value)); + n->objname = list_make1((yyvsp[(5) - (7)].value)); n->objargs = NIL; - n->comment = (yyvsp[0].str); + n->comment = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *) n; } break; case 619: + +/* Line 1455 of yacc.c */ #line 4006 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_CAST; - n->objname = list_make1((yyvsp[-5].typnam)); - n->objargs = list_make1((yyvsp[-3].typnam)); - n->comment = (yyvsp[0].str); + n->objname = list_make1((yyvsp[(5) - (10)].typnam)); + n->objargs = list_make1((yyvsp[(7) - (10)].typnam)); + n->comment = (yyvsp[(10) - (10)].str); (yyval.node) = (Node *) n; } break; case 620: + +/* Line 1455 of yacc.c */ #line 4015 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_LANGUAGE; - n->objname = (yyvsp[-2].list); + n->objname = (yyvsp[(5) - (7)].list); n->objargs = NIL; - n->comment = (yyvsp[0].str); + n->comment = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *) n; } break; case 621: + +/* Line 1455 of yacc.c */ #line 4024 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_TSPARSER; - n->objname = (yyvsp[-2].list); - n->comment = (yyvsp[0].str); + n->objname = (yyvsp[(6) - (8)].list); + n->comment = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *) n; } break; case 622: + +/* Line 1455 of yacc.c */ #line 4032 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_TSDICTIONARY; - n->objname = (yyvsp[-2].list); - n->comment = (yyvsp[0].str); + n->objname = (yyvsp[(6) - (8)].list); + n->comment = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *) n; } break; case 623: + +/* Line 1455 of yacc.c */ #line 4040 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_TSTEMPLATE; - n->objname = (yyvsp[-2].list); - n->comment = (yyvsp[0].str); + n->objname = (yyvsp[(6) - (8)].list); + n->comment = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *) n; } break; case 624: + +/* Line 1455 of yacc.c */ #line 4048 "gram.y" { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_TSCONFIGURATION; - n->objname = (yyvsp[-2].list); - n->comment = (yyvsp[0].str); + n->objname = (yyvsp[(6) - (8)].list); + n->comment = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *) n; } break; case 625: + +/* Line 1455 of yacc.c */ #line 4058 "gram.y" { (yyval.objtype) = OBJECT_COLUMN; } break; case 626: + +/* Line 1455 of yacc.c */ #line 4059 "gram.y" { (yyval.objtype) = OBJECT_DATABASE; } break; case 627: + +/* Line 1455 of yacc.c */ #line 4060 "gram.y" { (yyval.objtype) = OBJECT_SCHEMA; } break; case 628: + +/* Line 1455 of yacc.c */ #line 4061 "gram.y" { (yyval.objtype) = OBJECT_INDEX; } break; case 629: + +/* Line 1455 of yacc.c */ #line 4062 "gram.y" { (yyval.objtype) = OBJECT_SEQUENCE; } break; case 630: + +/* Line 1455 of yacc.c */ #line 4063 "gram.y" { (yyval.objtype) = OBJECT_TABLE; } break; case 631: + +/* Line 1455 of yacc.c */ #line 4064 "gram.y" { (yyval.objtype) = OBJECT_TYPE; } break; case 632: + +/* Line 1455 of yacc.c */ #line 4065 "gram.y" { (yyval.objtype) = OBJECT_TYPE; } break; case 633: + +/* Line 1455 of yacc.c */ #line 4066 "gram.y" { (yyval.objtype) = OBJECT_VIEW; } break; case 634: + +/* Line 1455 of yacc.c */ #line 4067 "gram.y" { (yyval.objtype) = OBJECT_CONVERSION; } break; case 635: + +/* Line 1455 of yacc.c */ #line 4068 "gram.y" { (yyval.objtype) = OBJECT_TABLESPACE; } break; case 636: + +/* Line 1455 of yacc.c */ #line 4069 "gram.y" { (yyval.objtype) = OBJECT_ROLE; } break; case 637: + +/* Line 1455 of yacc.c */ #line 4073 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 638: + +/* Line 1455 of yacc.c */ #line 4074 "gram.y" { (yyval.str) = NULL; } break; case 639: + +/* Line 1455 of yacc.c */ #line 4085 "gram.y" { - FetchStmt *n = (FetchStmt *) (yyvsp[-2].node); - n->portalname = (yyvsp[0].str); + FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (4)].node); + n->portalname = (yyvsp[(4) - (4)].str); n->ismove = FALSE; (yyval.node) = (Node *)n; } break; case 640: + +/* Line 1455 of yacc.c */ #line 4092 "gram.y" { FetchStmt *n = makeNode(FetchStmt); n->direction = FETCH_FORWARD; n->howMany = 1; - n->portalname = (yyvsp[0].str); + n->portalname = (yyvsp[(2) - (2)].str); n->ismove = FALSE; (yyval.node) = (Node *)n; } break; case 641: + +/* Line 1455 of yacc.c */ #line 4101 "gram.y" { - FetchStmt *n = (FetchStmt *) (yyvsp[-2].node); - n->portalname = (yyvsp[0].str); + FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (4)].node); + n->portalname = (yyvsp[(4) - (4)].str); n->ismove = TRUE; (yyval.node) = (Node *)n; } break; case 642: + +/* Line 1455 of yacc.c */ #line 4108 "gram.y" { FetchStmt *n = makeNode(FetchStmt); n->direction = FETCH_FORWARD; n->howMany = 1; - n->portalname = (yyvsp[0].str); + n->portalname = (yyvsp[(2) - (2)].str); n->ismove = TRUE; (yyval.node) = (Node *)n; } break; case 643: + +/* Line 1455 of yacc.c */ #line 4120 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -20625,6 +21946,8 @@ yyreduce: break; case 644: + +/* Line 1455 of yacc.c */ #line 4127 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -20635,6 +21958,8 @@ yyreduce: break; case 645: + +/* Line 1455 of yacc.c */ #line 4134 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -20645,6 +21970,8 @@ yyreduce: break; case 646: + +/* Line 1455 of yacc.c */ #line 4141 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -20655,6 +21982,8 @@ yyreduce: break; case 647: + +/* Line 1455 of yacc.c */ #line 4148 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -20665,36 +21994,44 @@ yyreduce: break; case 648: + +/* Line 1455 of yacc.c */ #line 4155 "gram.y" { FetchStmt *n = makeNode(FetchStmt); n->direction = FETCH_ABSOLUTE; - n->howMany = (yyvsp[0].ival); + n->howMany = (yyvsp[(2) - (2)].ival); (yyval.node) = (Node *)n; } break; case 649: + +/* Line 1455 of yacc.c */ #line 4162 "gram.y" { FetchStmt *n = makeNode(FetchStmt); n->direction = FETCH_RELATIVE; - n->howMany = (yyvsp[0].ival); + n->howMany = (yyvsp[(2) - (2)].ival); (yyval.node) = (Node *)n; } break; case 650: + +/* Line 1455 of yacc.c */ #line 4169 "gram.y" { FetchStmt *n = makeNode(FetchStmt); n->direction = FETCH_FORWARD; - n->howMany = (yyvsp[0].ival); + n->howMany = (yyvsp[(1) - (1)].ival); (yyval.node) = (Node *)n; } break; case 651: + +/* Line 1455 of yacc.c */ #line 4176 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -20705,6 +22042,8 @@ yyreduce: break; case 652: + +/* Line 1455 of yacc.c */ #line 4183 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -20715,16 +22054,20 @@ yyreduce: break; case 653: + +/* Line 1455 of yacc.c */ #line 4190 "gram.y" { FetchStmt *n = makeNode(FetchStmt); n->direction = FETCH_FORWARD; - n->howMany = (yyvsp[0].ival); + n->howMany = (yyvsp[(2) - (2)].ival); (yyval.node) = (Node *)n; } break; case 654: + +/* Line 1455 of yacc.c */ #line 4197 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -20735,6 +22078,8 @@ yyreduce: break; case 655: + +/* Line 1455 of yacc.c */ #line 4204 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -20745,16 +22090,20 @@ yyreduce: break; case 656: + +/* Line 1455 of yacc.c */ #line 4211 "gram.y" { FetchStmt *n = makeNode(FetchStmt); n->direction = FETCH_BACKWARD; - n->howMany = (yyvsp[0].ival); + n->howMany = (yyvsp[(2) - (2)].ival); (yyval.node) = (Node *)n; } break; case 657: + +/* Line 1455 of yacc.c */ #line 4218 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -20765,637 +22114,793 @@ yyreduce: break; case 658: + +/* Line 1455 of yacc.c */ #line 4226 "gram.y" {} break; case 659: + +/* Line 1455 of yacc.c */ #line 4227 "gram.y" {} break; case 660: + +/* Line 1455 of yacc.c */ #line 4239 "gram.y" { GrantStmt *n = makeNode(GrantStmt); n->is_grant = true; - n->privileges = (yyvsp[-5].list); - n->objtype = ((yyvsp[-3].privtarget))->objtype; - n->objects = ((yyvsp[-3].privtarget))->objs; - n->grantees = (yyvsp[-1].list); - n->grant_option = (yyvsp[0].boolean); + n->privileges = (yyvsp[(2) - (7)].list); + 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); (yyval.node) = (Node*)n; } break; case 661: + +/* Line 1455 of yacc.c */ #line 4254 "gram.y" { GrantStmt *n = makeNode(GrantStmt); n->is_grant = false; n->grant_option = false; - n->privileges = (yyvsp[-5].list); - n->objtype = ((yyvsp[-3].privtarget))->objtype; - n->objects = ((yyvsp[-3].privtarget))->objs; - n->grantees = (yyvsp[-1].list); - n->behavior = (yyvsp[0].dbehavior); + n->privileges = (yyvsp[(2) - (7)].list); + 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); (yyval.node) = (Node *)n; } break; case 662: + +/* Line 1455 of yacc.c */ #line 4267 "gram.y" { GrantStmt *n = makeNode(GrantStmt); n->is_grant = false; n->grant_option = true; - n->privileges = (yyvsp[-5].list); - n->objtype = ((yyvsp[-3].privtarget))->objtype; - n->objects = ((yyvsp[-3].privtarget))->objs; - n->grantees = (yyvsp[-1].list); - n->behavior = (yyvsp[0].dbehavior); + n->privileges = (yyvsp[(5) - (10)].list); + 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); (yyval.node) = (Node *)n; } break; case 663: + +/* Line 1455 of yacc.c */ #line 4291 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 664: + +/* Line 1455 of yacc.c */ #line 4293 "gram.y" { (yyval.list) = NIL; } break; case 665: + +/* Line 1455 of yacc.c */ #line 4295 "gram.y" { (yyval.list) = NIL; } break; case 666: + +/* Line 1455 of yacc.c */ #line 4297 "gram.y" { AccessPriv *n = makeNode(AccessPriv); n->priv_name = NULL; - n->cols = (yyvsp[-1].list); + n->cols = (yyvsp[(3) - (4)].list); (yyval.list) = list_make1(n); } break; case 667: + +/* Line 1455 of yacc.c */ #line 4304 "gram.y" { AccessPriv *n = makeNode(AccessPriv); n->priv_name = NULL; - n->cols = (yyvsp[-1].list); + n->cols = (yyvsp[(4) - (5)].list); (yyval.list) = list_make1(n); } break; case 668: + +/* Line 1455 of yacc.c */ #line 4312 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].accesspriv)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].accesspriv)); } break; case 669: + +/* Line 1455 of yacc.c */ #line 4313 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].accesspriv)); } break; case 670: + +/* Line 1455 of yacc.c */ #line 4317 "gram.y" { AccessPriv *n = makeNode(AccessPriv); - n->priv_name = pstrdup((yyvsp[-1].keyword)); - n->cols = (yyvsp[0].list); + n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword)); + n->cols = (yyvsp[(2) - (2)].list); (yyval.accesspriv) = n; } break; case 671: + +/* Line 1455 of yacc.c */ #line 4324 "gram.y" { AccessPriv *n = makeNode(AccessPriv); - n->priv_name = pstrdup((yyvsp[-1].keyword)); - n->cols = (yyvsp[0].list); + n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword)); + n->cols = (yyvsp[(2) - (2)].list); (yyval.accesspriv) = n; } break; case 672: + +/* Line 1455 of yacc.c */ #line 4331 "gram.y" { AccessPriv *n = makeNode(AccessPriv); - n->priv_name = pstrdup((yyvsp[-1].keyword)); - n->cols = (yyvsp[0].list); + n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword)); + n->cols = (yyvsp[(2) - (2)].list); (yyval.accesspriv) = n; } break; case 673: + +/* Line 1455 of yacc.c */ #line 4338 "gram.y" { AccessPriv *n = makeNode(AccessPriv); - n->priv_name = (yyvsp[-1].str); - n->cols = (yyvsp[0].list); + n->priv_name = (yyvsp[(1) - (2)].str); + n->cols = (yyvsp[(2) - (2)].list); (yyval.accesspriv) = n; } break; case 674: + +/* Line 1455 of yacc.c */ #line 4352 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->objtype = ACL_OBJECT_RELATION; - n->objs = (yyvsp[0].list); + n->objs = (yyvsp[(1) - (1)].list); (yyval.privtarget) = n; } break; case 675: + +/* Line 1455 of yacc.c */ #line 4359 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->objtype = ACL_OBJECT_RELATION; - n->objs = (yyvsp[0].list); + n->objs = (yyvsp[(2) - (2)].list); (yyval.privtarget) = n; } break; case 676: + +/* Line 1455 of yacc.c */ #line 4366 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->objtype = ACL_OBJECT_SEQUENCE; - n->objs = (yyvsp[0].list); + n->objs = (yyvsp[(2) - (2)].list); (yyval.privtarget) = n; } break; case 677: + +/* Line 1455 of yacc.c */ #line 4373 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->objtype = ACL_OBJECT_FDW; - n->objs = (yyvsp[0].list); + n->objs = (yyvsp[(4) - (4)].list); (yyval.privtarget) = n; } break; case 678: + +/* Line 1455 of yacc.c */ #line 4380 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->objtype = ACL_OBJECT_FOREIGN_SERVER; - n->objs = (yyvsp[0].list); + n->objs = (yyvsp[(3) - (3)].list); (yyval.privtarget) = n; } break; case 679: + +/* Line 1455 of yacc.c */ #line 4387 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->objtype = ACL_OBJECT_FUNCTION; - n->objs = (yyvsp[0].list); + n->objs = (yyvsp[(2) - (2)].list); (yyval.privtarget) = n; } break; case 680: + +/* Line 1455 of yacc.c */ #line 4394 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->objtype = ACL_OBJECT_DATABASE; - n->objs = (yyvsp[0].list); + n->objs = (yyvsp[(2) - (2)].list); (yyval.privtarget) = n; } break; case 681: + +/* Line 1455 of yacc.c */ #line 4401 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->objtype = ACL_OBJECT_LANGUAGE; - n->objs = (yyvsp[0].list); + n->objs = (yyvsp[(2) - (2)].list); (yyval.privtarget) = n; } break; case 682: + +/* Line 1455 of yacc.c */ #line 4408 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->objtype = ACL_OBJECT_NAMESPACE; - n->objs = (yyvsp[0].list); + n->objs = (yyvsp[(2) - (2)].list); (yyval.privtarget) = n; } break; case 683: + +/* Line 1455 of yacc.c */ #line 4415 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->objtype = ACL_OBJECT_TABLESPACE; - n->objs = (yyvsp[0].list); + n->objs = (yyvsp[(2) - (2)].list); (yyval.privtarget) = n; } break; case 684: + +/* Line 1455 of yacc.c */ #line 4425 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 685: + +/* Line 1455 of yacc.c */ #line 4426 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 686: + +/* Line 1455 of yacc.c */ #line 4430 "gram.y" { PrivGrantee *n = makeNode(PrivGrantee); /* This hack lets us avoid reserving PUBLIC as a keyword*/ - if (strcmp((yyvsp[0].str), "public") == 0) + if (strcmp((yyvsp[(1) - (1)].str), "public") == 0) n->rolname = NULL; else - n->rolname = (yyvsp[0].str); + n->rolname = (yyvsp[(1) - (1)].str); (yyval.node) = (Node *)n; } break; case 687: + +/* Line 1455 of yacc.c */ #line 4440 "gram.y" { PrivGrantee *n = makeNode(PrivGrantee); /* Treat GROUP PUBLIC as a synonym for PUBLIC */ - if (strcmp((yyvsp[0].str), "public") == 0) + if (strcmp((yyvsp[(2) - (2)].str), "public") == 0) n->rolname = NULL; else - n->rolname = (yyvsp[0].str); + n->rolname = (yyvsp[(2) - (2)].str); (yyval.node) = (Node *)n; } break; case 688: + +/* Line 1455 of yacc.c */ #line 4453 "gram.y" { (yyval.boolean) = TRUE; } break; case 689: + +/* Line 1455 of yacc.c */ #line 4454 "gram.y" { (yyval.boolean) = FALSE; } break; case 690: + +/* Line 1455 of yacc.c */ #line 4458 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].funwithargs)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].funwithargs)); } break; case 691: + +/* Line 1455 of yacc.c */ #line 4460 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].funwithargs)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].funwithargs)); } break; case 692: + +/* Line 1455 of yacc.c */ #line 4465 "gram.y" { FuncWithArgs *n = makeNode(FuncWithArgs); - n->funcname = (yyvsp[-1].list); - n->funcargs = extractArgTypes((yyvsp[0].list)); + n->funcname = (yyvsp[(1) - (2)].list); + n->funcargs = extractArgTypes((yyvsp[(2) - (2)].list)); (yyval.funwithargs) = n; } break; case 693: + +/* Line 1455 of yacc.c */ #line 4481 "gram.y" { GrantRoleStmt *n = makeNode(GrantRoleStmt); n->is_grant = true; - n->granted_roles = (yyvsp[-4].list); - n->grantee_roles = (yyvsp[-2].list); - n->admin_opt = (yyvsp[-1].boolean); - n->grantor = (yyvsp[0].str); + 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)].str); (yyval.node) = (Node*)n; } break; case 694: + +/* Line 1455 of yacc.c */ #line 4494 "gram.y" { GrantRoleStmt *n = makeNode(GrantRoleStmt); n->is_grant = false; n->admin_opt = false; - n->granted_roles = (yyvsp[-4].list); - n->grantee_roles = (yyvsp[-2].list); - n->behavior = (yyvsp[0].dbehavior); + n->granted_roles = (yyvsp[(2) - (6)].list); + n->grantee_roles = (yyvsp[(4) - (6)].list); + n->behavior = (yyvsp[(6) - (6)].dbehavior); (yyval.node) = (Node*)n; } break; case 695: + +/* Line 1455 of yacc.c */ #line 4504 "gram.y" { GrantRoleStmt *n = makeNode(GrantRoleStmt); n->is_grant = false; n->admin_opt = true; - n->granted_roles = (yyvsp[-4].list); - n->grantee_roles = (yyvsp[-2].list); - n->behavior = (yyvsp[0].dbehavior); + n->granted_roles = (yyvsp[(5) - (9)].list); + n->grantee_roles = (yyvsp[(7) - (9)].list); + n->behavior = (yyvsp[(9) - (9)].dbehavior); (yyval.node) = (Node*)n; } break; case 696: + +/* Line 1455 of yacc.c */ #line 4515 "gram.y" { (yyval.boolean) = TRUE; } break; case 697: + +/* Line 1455 of yacc.c */ #line 4516 "gram.y" { (yyval.boolean) = FALSE; } break; case 698: + +/* Line 1455 of yacc.c */ #line 4519 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(3) - (3)].str); } break; case 699: + +/* Line 1455 of yacc.c */ #line 4520 "gram.y" { (yyval.str) = NULL; } break; case 700: + +/* Line 1455 of yacc.c */ #line 4538 "gram.y" { IndexStmt *n = makeNode(IndexStmt); - n->unique = (yyvsp[-11].boolean); + n->unique = (yyvsp[(2) - (13)].boolean); n->concurrent = false; - 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->idxname = (yyvsp[(4) - (13)].str); + n->relation = (yyvsp[(6) - (13)].range); + n->accessMethod = (yyvsp[(7) - (13)].str); + n->indexParams = (yyvsp[(9) - (13)].list); + n->options = (yyvsp[(11) - (13)].list); + n->tableSpace = (yyvsp[(12) - (13)].str); + n->whereClause = (yyvsp[(13) - (13)].node); (yyval.node) = (Node *)n; } break; case 701: + +/* Line 1455 of yacc.c */ #line 4554 "gram.y" { IndexStmt *n = makeNode(IndexStmt); - n->unique = (yyvsp[-12].boolean); + n->unique = (yyvsp[(2) - (14)].boolean); n->concurrent = true; - 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->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); (yyval.node) = (Node *)n; } break; case 702: + +/* Line 1455 of yacc.c */ #line 4570 "gram.y" { (yyval.boolean) = TRUE; } break; case 703: + +/* Line 1455 of yacc.c */ #line 4571 "gram.y" { (yyval.boolean) = FALSE; } break; case 704: + +/* Line 1455 of yacc.c */ #line 4575 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(2) - (2)].str); } break; case 705: + +/* Line 1455 of yacc.c */ #line 4576 "gram.y" { (yyval.str) = DEFAULT_INDEX_TYPE; } break; case 706: + +/* Line 1455 of yacc.c */ #line 4579 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].ielem)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); } break; case 707: + +/* Line 1455 of yacc.c */ #line 4580 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); } break; case 708: + +/* Line 1455 of yacc.c */ #line 4589 "gram.y" { (yyval.ielem) = makeNode(IndexElem); - (yyval.ielem)->name = (yyvsp[-3].str); + (yyval.ielem)->name = (yyvsp[(1) - (4)].str); (yyval.ielem)->expr = NULL; - (yyval.ielem)->opclass = (yyvsp[-2].list); - (yyval.ielem)->ordering = (yyvsp[-1].ival); - (yyval.ielem)->nulls_ordering = (yyvsp[0].ival); + (yyval.ielem)->opclass = (yyvsp[(2) - (4)].list); + (yyval.ielem)->ordering = (yyvsp[(3) - (4)].ival); + (yyval.ielem)->nulls_ordering = (yyvsp[(4) - (4)].ival); } break; case 709: + +/* Line 1455 of yacc.c */ #line 4598 "gram.y" { (yyval.ielem) = makeNode(IndexElem); (yyval.ielem)->name = NULL; - (yyval.ielem)->expr = (yyvsp[-3].node); - (yyval.ielem)->opclass = (yyvsp[-2].list); - (yyval.ielem)->ordering = (yyvsp[-1].ival); - (yyval.ielem)->nulls_ordering = (yyvsp[0].ival); + (yyval.ielem)->expr = (yyvsp[(1) - (4)].node); + (yyval.ielem)->opclass = (yyvsp[(2) - (4)].list); + (yyval.ielem)->ordering = (yyvsp[(3) - (4)].ival); + (yyval.ielem)->nulls_ordering = (yyvsp[(4) - (4)].ival); } break; case 710: + +/* Line 1455 of yacc.c */ #line 4607 "gram.y" { (yyval.ielem) = makeNode(IndexElem); (yyval.ielem)->name = NULL; - (yyval.ielem)->expr = (yyvsp[-4].node); - (yyval.ielem)->opclass = (yyvsp[-2].list); - (yyval.ielem)->ordering = (yyvsp[-1].ival); - (yyval.ielem)->nulls_ordering = (yyvsp[0].ival); + (yyval.ielem)->expr = (yyvsp[(2) - (6)].node); + (yyval.ielem)->opclass = (yyvsp[(4) - (6)].list); + (yyval.ielem)->ordering = (yyvsp[(5) - (6)].ival); + (yyval.ielem)->nulls_ordering = (yyvsp[(6) - (6)].ival); } break; case 711: + +/* Line 1455 of yacc.c */ #line 4617 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 712: + +/* Line 1455 of yacc.c */ #line 4618 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 713: + +/* Line 1455 of yacc.c */ #line 4619 "gram.y" { (yyval.list) = NIL; } break; case 714: + +/* Line 1455 of yacc.c */ #line 4622 "gram.y" { (yyval.ival) = SORTBY_ASC; } break; case 715: + +/* Line 1455 of yacc.c */ #line 4623 "gram.y" { (yyval.ival) = SORTBY_DESC; } break; case 716: + +/* Line 1455 of yacc.c */ #line 4624 "gram.y" { (yyval.ival) = SORTBY_DEFAULT; } break; case 717: + +/* Line 1455 of yacc.c */ #line 4627 "gram.y" { (yyval.ival) = SORTBY_NULLS_FIRST; } break; case 718: + +/* Line 1455 of yacc.c */ #line 4628 "gram.y" { (yyval.ival) = SORTBY_NULLS_LAST; } break; case 719: + +/* Line 1455 of yacc.c */ #line 4629 "gram.y" { (yyval.ival) = SORTBY_NULLS_DEFAULT; } break; case 720: + +/* Line 1455 of yacc.c */ #line 4647 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); - 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); + 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); (yyval.node) = (Node *)n; } break; case 721: + +/* Line 1455 of yacc.c */ #line 4659 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); - 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); + 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); (yyval.node) = (Node *)n; } break; case 722: + +/* Line 1455 of yacc.c */ #line 4672 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); - n->replace = (yyvsp[-5].boolean); - n->funcname = (yyvsp[-3].list); - n->parameters = (yyvsp[-2].list); + n->replace = (yyvsp[(2) - (7)].boolean); + n->funcname = (yyvsp[(4) - (7)].list); + n->parameters = (yyvsp[(5) - (7)].list); n->returnType = NULL; - n->options = (yyvsp[-1].list); - n->withClause = (yyvsp[0].list); + n->options = (yyvsp[(6) - (7)].list); + n->withClause = (yyvsp[(7) - (7)].list); (yyval.node) = (Node *)n; } break; case 723: + +/* Line 1455 of yacc.c */ #line 4685 "gram.y" { (yyval.boolean) = TRUE; } break; case 724: + +/* Line 1455 of yacc.c */ #line 4686 "gram.y" { (yyval.boolean) = FALSE; } break; case 725: + +/* Line 1455 of yacc.c */ #line 4689 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 726: + +/* Line 1455 of yacc.c */ #line 4690 "gram.y" { (yyval.list) = NIL; } break; case 727: + +/* Line 1455 of yacc.c */ #line 4694 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].fun_param)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); } break; case 728: + +/* Line 1455 of yacc.c */ #line 4695 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); } break; case 729: + +/* Line 1455 of yacc.c */ #line 4703 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 730: + +/* Line 1455 of yacc.c */ #line 4704 "gram.y" { (yyval.list) = NIL; } break; case 731: + +/* Line 1455 of yacc.c */ #line 4708 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].fun_param)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); } break; case 732: + +/* Line 1455 of yacc.c */ #line 4710 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); } break; case 733: + +/* Line 1455 of yacc.c */ #line 4725 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); - n->name = (yyvsp[-1].str); - n->argType = (yyvsp[0].typnam); - n->mode = (yyvsp[-2].fun_param_mode); + n->name = (yyvsp[(2) - (3)].str); + n->argType = (yyvsp[(3) - (3)].typnam); + n->mode = (yyvsp[(1) - (3)].fun_param_mode); n->defexpr = NULL; (yyval.fun_param) = n; } break; case 734: + +/* Line 1455 of yacc.c */ #line 4734 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); - n->name = (yyvsp[-2].str); - n->argType = (yyvsp[0].typnam); - n->mode = (yyvsp[-1].fun_param_mode); + n->name = (yyvsp[(1) - (3)].str); + n->argType = (yyvsp[(3) - (3)].typnam); + n->mode = (yyvsp[(2) - (3)].fun_param_mode); n->defexpr = NULL; (yyval.fun_param) = n; } break; case 735: + +/* Line 1455 of yacc.c */ #line 4743 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); - n->name = (yyvsp[-1].str); - n->argType = (yyvsp[0].typnam); + n->name = (yyvsp[(1) - (2)].str); + n->argType = (yyvsp[(2) - (2)].typnam); n->mode = FUNC_PARAM_IN; n->defexpr = NULL; (yyval.fun_param) = n; @@ -21403,23 +22908,27 @@ yyreduce: break; case 736: + +/* Line 1455 of yacc.c */ #line 4752 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); n->name = NULL; - n->argType = (yyvsp[0].typnam); - n->mode = (yyvsp[-1].fun_param_mode); + n->argType = (yyvsp[(2) - (2)].typnam); + n->mode = (yyvsp[(1) - (2)].fun_param_mode); n->defexpr = NULL; (yyval.fun_param) = n; } break; case 737: + +/* Line 1455 of yacc.c */ #line 4761 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); n->name = NULL; - n->argType = (yyvsp[0].typnam); + n->argType = (yyvsp[(1) - (1)].typnam); n->mode = FUNC_PARAM_IN; n->defexpr = NULL; (yyval.fun_param) = n; @@ -21427,99 +22936,129 @@ yyreduce: break; case 738: + +/* Line 1455 of yacc.c */ #line 4772 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_IN; } break; case 739: + +/* Line 1455 of yacc.c */ #line 4773 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_OUT; } break; case 740: + +/* Line 1455 of yacc.c */ #line 4774 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; } break; case 741: + +/* Line 1455 of yacc.c */ #line 4775 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; } break; case 742: + +/* Line 1455 of yacc.c */ #line 4776 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; } break; case 744: + +/* Line 1455 of yacc.c */ #line 4787 "gram.y" { /* 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[0].typnam); + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 745: + +/* Line 1455 of yacc.c */ #line 4801 "gram.y" - { (yyval.typnam) = (yyvsp[0].typnam); } + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 746: + +/* Line 1455 of yacc.c */ #line 4803 "gram.y" { - (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list))); + (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (4)].str)), (yyvsp[(2) - (4)].list))); (yyval.typnam)->pct_type = true; - (yyval.typnam)->location = (yylsp[-3]); + (yyval.typnam)->location = (yylsp[(1) - (4)]); } break; case 747: + +/* Line 1455 of yacc.c */ #line 4809 "gram.y" { - (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list))); + (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(2) - (5)].str)), (yyvsp[(3) - (5)].list))); (yyval.typnam)->pct_type = true; (yyval.typnam)->setof = TRUE; - (yyval.typnam)->location = (yylsp[-3]); + (yyval.typnam)->location = (yylsp[(2) - (5)]); } break; case 748: + +/* Line 1455 of yacc.c */ #line 4819 "gram.y" { - (yyval.fun_param) = (yyvsp[0].fun_param); + (yyval.fun_param) = (yyvsp[(1) - (1)].fun_param); } break; case 749: + +/* Line 1455 of yacc.c */ #line 4823 "gram.y" { - (yyval.fun_param) = (yyvsp[-2].fun_param); - (yyval.fun_param)->defexpr = (yyvsp[0].node); + (yyval.fun_param) = (yyvsp[(1) - (3)].fun_param); + (yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node); } break; case 750: + +/* Line 1455 of yacc.c */ #line 4828 "gram.y" { - (yyval.fun_param) = (yyvsp[-2].fun_param); - (yyval.fun_param)->defexpr = (yyvsp[0].node); + (yyval.fun_param) = (yyvsp[(1) - (3)].fun_param); + (yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node); } break; case 751: + +/* Line 1455 of yacc.c */ #line 4837 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].defelt)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); } break; case 752: + +/* Line 1455 of yacc.c */ #line 4838 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); } break; case 753: + +/* Line 1455 of yacc.c */ #line 4846 "gram.y" { (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(FALSE)); @@ -21527,6 +23066,8 @@ yyreduce: break; case 754: + +/* Line 1455 of yacc.c */ #line 4850 "gram.y" { (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE)); @@ -21534,6 +23075,8 @@ yyreduce: break; case 755: + +/* Line 1455 of yacc.c */ #line 4854 "gram.y" { (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE)); @@ -21541,6 +23084,8 @@ yyreduce: break; case 756: + +/* Line 1455 of yacc.c */ #line 4858 "gram.y" { (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable")); @@ -21548,6 +23093,8 @@ yyreduce: break; case 757: + +/* Line 1455 of yacc.c */ #line 4862 "gram.y" { (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable")); @@ -21555,6 +23102,8 @@ yyreduce: break; case 758: + +/* Line 1455 of yacc.c */ #line 4866 "gram.y" { (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile")); @@ -21562,6 +23111,8 @@ yyreduce: break; case 759: + +/* Line 1455 of yacc.c */ #line 4870 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE)); @@ -21569,6 +23120,8 @@ yyreduce: break; case 760: + +/* Line 1455 of yacc.c */ #line 4874 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE)); @@ -21576,6 +23129,8 @@ yyreduce: break; case 761: + +/* Line 1455 of yacc.c */ #line 4878 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE)); @@ -21583,6 +23138,8 @@ yyreduce: break; case 762: + +/* Line 1455 of yacc.c */ #line 4882 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE)); @@ -21590,42 +23147,54 @@ yyreduce: break; case 763: + +/* Line 1455 of yacc.c */ #line 4886 "gram.y" { - (yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value)); + (yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[(2) - (2)].value)); } break; case 764: + +/* Line 1455 of yacc.c */ #line 4890 "gram.y" { - (yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value)); + (yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[(2) - (2)].value)); } break; case 765: + +/* Line 1455 of yacc.c */ #line 4894 "gram.y" { /* we abuse the normal content of a DefElem here */ - (yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt)); + (yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[(1) - (1)].vsetstmt)); } break; case 766: + +/* Line 1455 of yacc.c */ #line 4902 "gram.y" { - (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list)); + (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[(2) - (2)].list)); } break; case 767: + +/* Line 1455 of yacc.c */ #line 4906 "gram.y" { - (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str))); } break; case 768: + +/* Line 1455 of yacc.c */ #line 4910 "gram.y" { (yyval.defelt) = makeDefElem("window", (Node *)makeInteger(TRUE)); @@ -21633,40 +23202,52 @@ yyreduce: break; case 769: + +/* Line 1455 of yacc.c */ #line 4914 "gram.y" { - (yyval.defelt) = (yyvsp[0].defelt); + (yyval.defelt) = (yyvsp[(1) - (1)].defelt); } break; case 770: + +/* Line 1455 of yacc.c */ #line 4919 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); } break; case 771: + +/* Line 1455 of yacc.c */ #line 4921 "gram.y" { - (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str))); + (yyval.list) = list_make2(makeString((yyvsp[(1) - (3)].str)), makeString((yyvsp[(3) - (3)].str))); } break; case 772: + +/* Line 1455 of yacc.c */ #line 4927 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 773: + +/* Line 1455 of yacc.c */ #line 4928 "gram.y" { (yyval.list) = NIL; } break; case 774: + +/* Line 1455 of yacc.c */ #line 4932 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); - n->name = (yyvsp[-1].str); - n->argType = (yyvsp[0].typnam); + n->name = (yyvsp[(1) - (2)].str); + n->argType = (yyvsp[(2) - (2)].typnam); n->mode = FUNC_PARAM_TABLE; n->defexpr = NULL; (yyval.fun_param) = n; @@ -21674,246 +23255,302 @@ yyreduce: break; case 775: + +/* Line 1455 of yacc.c */ #line 4944 "gram.y" { - (yyval.list) = list_make1((yyvsp[0].fun_param)); + (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); } break; case 776: + +/* Line 1455 of yacc.c */ #line 4948 "gram.y" { - (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); + (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); } break; case 777: + +/* Line 1455 of yacc.c */ #line 4963 "gram.y" { AlterFunctionStmt *n = makeNode(AlterFunctionStmt); - n->func = (yyvsp[-2].funwithargs); - n->actions = (yyvsp[-1].list); + n->func = (yyvsp[(3) - (5)].funwithargs); + n->actions = (yyvsp[(4) - (5)].list); (yyval.node) = (Node *) n; } break; case 778: + +/* Line 1455 of yacc.c */ #line 4973 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].defelt)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); } break; case 779: + +/* Line 1455 of yacc.c */ #line 4974 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); } break; case 782: + +/* Line 1455 of yacc.c */ #line 4996 "gram.y" { RemoveFuncStmt *n = makeNode(RemoveFuncStmt); n->kind = OBJECT_FUNCTION; - n->name = (yyvsp[-2].list); - n->args = extractArgTypes((yyvsp[-1].list)); - n->behavior = (yyvsp[0].dbehavior); + n->name = (yyvsp[(3) - (5)].list); + n->args = extractArgTypes((yyvsp[(4) - (5)].list)); + n->behavior = (yyvsp[(5) - (5)].dbehavior); n->missing_ok = false; (yyval.node) = (Node *)n; } break; case 783: + +/* Line 1455 of yacc.c */ #line 5006 "gram.y" { RemoveFuncStmt *n = makeNode(RemoveFuncStmt); n->kind = OBJECT_FUNCTION; - n->name = (yyvsp[-2].list); - n->args = extractArgTypes((yyvsp[-1].list)); - n->behavior = (yyvsp[0].dbehavior); + n->name = (yyvsp[(5) - (7)].list); + n->args = extractArgTypes((yyvsp[(6) - (7)].list)); + n->behavior = (yyvsp[(7) - (7)].dbehavior); n->missing_ok = true; (yyval.node) = (Node *)n; } break; case 784: + +/* Line 1455 of yacc.c */ #line 5019 "gram.y" { RemoveFuncStmt *n = makeNode(RemoveFuncStmt); n->kind = OBJECT_AGGREGATE; - n->name = (yyvsp[-2].list); - n->args = (yyvsp[-1].list); - n->behavior = (yyvsp[0].dbehavior); + n->name = (yyvsp[(3) - (5)].list); + n->args = (yyvsp[(4) - (5)].list); + n->behavior = (yyvsp[(5) - (5)].dbehavior); n->missing_ok = false; (yyval.node) = (Node *)n; } break; case 785: + +/* Line 1455 of yacc.c */ #line 5029 "gram.y" { RemoveFuncStmt *n = makeNode(RemoveFuncStmt); n->kind = OBJECT_AGGREGATE; - n->name = (yyvsp[-2].list); - n->args = (yyvsp[-1].list); - n->behavior = (yyvsp[0].dbehavior); + n->name = (yyvsp[(5) - (7)].list); + n->args = (yyvsp[(6) - (7)].list); + n->behavior = (yyvsp[(7) - (7)].dbehavior); n->missing_ok = true; (yyval.node) = (Node *)n; } break; case 786: + +/* Line 1455 of yacc.c */ #line 5042 "gram.y" { RemoveFuncStmt *n = makeNode(RemoveFuncStmt); n->kind = OBJECT_OPERATOR; - n->name = (yyvsp[-2].list); - n->args = (yyvsp[-1].list); - n->behavior = (yyvsp[0].dbehavior); + n->name = (yyvsp[(3) - (5)].list); + n->args = (yyvsp[(4) - (5)].list); + n->behavior = (yyvsp[(5) - (5)].dbehavior); n->missing_ok = false; (yyval.node) = (Node *)n; } break; case 787: + +/* Line 1455 of yacc.c */ #line 5052 "gram.y" { RemoveFuncStmt *n = makeNode(RemoveFuncStmt); n->kind = OBJECT_OPERATOR; - n->name = (yyvsp[-2].list); - n->args = (yyvsp[-1].list); - n->behavior = (yyvsp[0].dbehavior); + n->name = (yyvsp[(5) - (7)].list); + n->args = (yyvsp[(6) - (7)].list); + n->behavior = (yyvsp[(7) - (7)].dbehavior); n->missing_ok = true; (yyval.node) = (Node *)n; } break; case 788: + +/* Line 1455 of yacc.c */ #line 5065 "gram.y" { ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("missing argument"), errhint("Use NONE to denote the missing argument of a unary operator."), - scanner_errposition((yylsp[0])))); + scanner_errposition((yylsp[(3) - (3)])))); } break; case 789: + +/* Line 1455 of yacc.c */ #line 5073 "gram.y" - { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); } + { (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), (yyvsp[(4) - (5)].typnam)); } break; case 790: + +/* Line 1455 of yacc.c */ #line 5075 "gram.y" - { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); } + { (yyval.list) = list_make2(NULL, (yyvsp[(4) - (5)].typnam)); } break; case 791: + +/* Line 1455 of yacc.c */ #line 5077 "gram.y" - { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); } + { (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), NULL); } break; case 792: + +/* Line 1455 of yacc.c */ #line 5082 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); } break; case 793: + +/* Line 1455 of yacc.c */ #line 5084 "gram.y" - { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); } + { (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); } break; case 794: + +/* Line 1455 of yacc.c */ #line 5096 "gram.y" { CreateCastStmt *n = makeNode(CreateCastStmt); - n->sourcetype = (yyvsp[-7].typnam); - n->targettype = (yyvsp[-5].typnam); - n->func = (yyvsp[-1].funwithargs); - n->context = (CoercionContext) (yyvsp[0].ival); + 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->inout = false; (yyval.node) = (Node *)n; } break; case 795: + +/* Line 1455 of yacc.c */ #line 5107 "gram.y" { CreateCastStmt *n = makeNode(CreateCastStmt); - n->sourcetype = (yyvsp[-6].typnam); - n->targettype = (yyvsp[-4].typnam); + n->sourcetype = (yyvsp[(4) - (10)].typnam); + n->targettype = (yyvsp[(6) - (10)].typnam); n->func = NULL; - n->context = (CoercionContext) (yyvsp[0].ival); + n->context = (CoercionContext) (yyvsp[(10) - (10)].ival); n->inout = false; (yyval.node) = (Node *)n; } break; case 796: + +/* Line 1455 of yacc.c */ #line 5118 "gram.y" { CreateCastStmt *n = makeNode(CreateCastStmt); - n->sourcetype = (yyvsp[-6].typnam); - n->targettype = (yyvsp[-4].typnam); + n->sourcetype = (yyvsp[(4) - (10)].typnam); + n->targettype = (yyvsp[(6) - (10)].typnam); n->func = NULL; - n->context = (CoercionContext) (yyvsp[0].ival); + n->context = (CoercionContext) (yyvsp[(10) - (10)].ival); n->inout = true; (yyval.node) = (Node *)n; } break; case 797: + +/* Line 1455 of yacc.c */ #line 5129 "gram.y" { (yyval.ival) = COERCION_IMPLICIT; } break; case 798: + +/* Line 1455 of yacc.c */ #line 5130 "gram.y" { (yyval.ival) = COERCION_ASSIGNMENT; } break; case 799: + +/* Line 1455 of yacc.c */ #line 5131 "gram.y" { (yyval.ival) = COERCION_EXPLICIT; } break; case 800: + +/* Line 1455 of yacc.c */ #line 5136 "gram.y" { DropCastStmt *n = makeNode(DropCastStmt); - n->sourcetype = (yyvsp[-4].typnam); - n->targettype = (yyvsp[-2].typnam); - n->behavior = (yyvsp[0].dbehavior); - n->missing_ok = (yyvsp[-6].boolean); + n->sourcetype = (yyvsp[(5) - (9)].typnam); + n->targettype = (yyvsp[(7) - (9)].typnam); + n->behavior = (yyvsp[(9) - (9)].dbehavior); + n->missing_ok = (yyvsp[(3) - (9)].boolean); (yyval.node) = (Node *)n; } break; case 801: + +/* Line 1455 of yacc.c */ #line 5146 "gram.y" { (yyval.boolean) = TRUE; } break; case 802: + +/* Line 1455 of yacc.c */ #line 5147 "gram.y" { (yyval.boolean) = FALSE; } break; case 803: + +/* Line 1455 of yacc.c */ #line 5162 "gram.y" { ReindexStmt *n = makeNode(ReindexStmt); - n->kind = (yyvsp[-2].objtype); - n->relation = (yyvsp[-1].range); + n->kind = (yyvsp[(2) - (4)].objtype); + n->relation = (yyvsp[(3) - (4)].range); n->name = NULL; (yyval.node) = (Node *)n; } break; case 804: + +/* Line 1455 of yacc.c */ #line 5170 "gram.y" { ReindexStmt *n = makeNode(ReindexStmt); n->kind = OBJECT_DATABASE; - n->name = (yyvsp[-1].str); + n->name = (yyvsp[(3) - (4)].str); n->relation = NULL; n->do_system = true; n->do_user = false; @@ -21922,11 +23559,13 @@ yyreduce: break; case 805: + +/* Line 1455 of yacc.c */ #line 5180 "gram.y" { ReindexStmt *n = makeNode(ReindexStmt); n->kind = OBJECT_DATABASE; - n->name = (yyvsp[-1].str); + n->name = (yyvsp[(3) - (4)].str); n->relation = NULL; n->do_system = true; n->do_user = true; @@ -21935,674 +23574,816 @@ yyreduce: break; case 806: + +/* Line 1455 of yacc.c */ #line 5192 "gram.y" { (yyval.objtype) = OBJECT_INDEX; } break; case 807: + +/* Line 1455 of yacc.c */ #line 5193 "gram.y" { (yyval.objtype) = OBJECT_TABLE; } break; case 808: + +/* Line 1455 of yacc.c */ #line 5196 "gram.y" { (yyval.boolean) = TRUE; } break; case 809: + +/* Line 1455 of yacc.c */ #line 5197 "gram.y" { (yyval.boolean) = FALSE; } break; case 810: + +/* Line 1455 of yacc.c */ #line 5208 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_AGGREGATE; - n->object = (yyvsp[-4].list); - n->objarg = (yyvsp[-3].list); - n->newname = (yyvsp[0].str); + n->object = (yyvsp[(3) - (7)].list); + n->objarg = (yyvsp[(4) - (7)].list); + n->newname = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *)n; } break; case 811: + +/* Line 1455 of yacc.c */ #line 5217 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_CONVERSION; - n->object = (yyvsp[-3].list); - n->newname = (yyvsp[0].str); + n->object = (yyvsp[(3) - (6)].list); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 812: + +/* Line 1455 of yacc.c */ #line 5225 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_DATABASE; - n->subname = (yyvsp[-3].str); - n->newname = (yyvsp[0].str); + n->subname = (yyvsp[(3) - (6)].str); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 813: + +/* Line 1455 of yacc.c */ #line 5233 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_FUNCTION; - n->object = (yyvsp[-3].funwithargs)->funcname; - n->objarg = (yyvsp[-3].funwithargs)->funcargs; - n->newname = (yyvsp[0].str); + n->object = (yyvsp[(3) - (6)].funwithargs)->funcname; + n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs; + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 814: + +/* Line 1455 of yacc.c */ #line 5242 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_ROLE; - n->subname = (yyvsp[-3].str); - n->newname = (yyvsp[0].str); + n->subname = (yyvsp[(3) - (6)].str); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 815: + +/* Line 1455 of yacc.c */ #line 5250 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_LANGUAGE; - n->subname = (yyvsp[-3].str); - n->newname = (yyvsp[0].str); + n->subname = (yyvsp[(4) - (7)].str); + n->newname = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *)n; } break; case 816: + +/* Line 1455 of yacc.c */ #line 5258 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_OPCLASS; - n->object = (yyvsp[-5].list); - n->subname = (yyvsp[-3].str); - n->newname = (yyvsp[0].str); + n->object = (yyvsp[(4) - (9)].list); + n->subname = (yyvsp[(6) - (9)].str); + n->newname = (yyvsp[(9) - (9)].str); (yyval.node) = (Node *)n; } break; case 817: + +/* Line 1455 of yacc.c */ #line 5267 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_OPFAMILY; - n->object = (yyvsp[-5].list); - n->subname = (yyvsp[-3].str); - n->newname = (yyvsp[0].str); + n->object = (yyvsp[(4) - (9)].list); + n->subname = (yyvsp[(6) - (9)].str); + n->newname = (yyvsp[(9) - (9)].str); (yyval.node) = (Node *)n; } break; case 818: + +/* Line 1455 of yacc.c */ #line 5276 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_SCHEMA; - n->subname = (yyvsp[-3].str); - n->newname = (yyvsp[0].str); + n->subname = (yyvsp[(3) - (6)].str); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 819: + +/* Line 1455 of yacc.c */ #line 5284 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_TABLE; - n->relation = (yyvsp[-3].range); + n->relation = (yyvsp[(3) - (6)].range); n->subname = NULL; - n->newname = (yyvsp[0].str); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 820: + +/* Line 1455 of yacc.c */ #line 5293 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_SEQUENCE; - n->relation = (yyvsp[-3].range); + n->relation = (yyvsp[(3) - (6)].range); n->subname = NULL; - n->newname = (yyvsp[0].str); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 821: + +/* Line 1455 of yacc.c */ #line 5302 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_VIEW; - n->relation = (yyvsp[-3].range); + n->relation = (yyvsp[(3) - (6)].range); n->subname = NULL; - n->newname = (yyvsp[0].str); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 822: + +/* Line 1455 of yacc.c */ #line 5311 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_INDEX; - n->relation = (yyvsp[-3].range); + n->relation = (yyvsp[(3) - (6)].range); n->subname = NULL; - n->newname = (yyvsp[0].str); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 823: + +/* Line 1455 of yacc.c */ #line 5320 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_COLUMN; - n->relation = (yyvsp[-5].range); - n->subname = (yyvsp[-2].str); - n->newname = (yyvsp[0].str); + n->relation = (yyvsp[(3) - (8)].range); + n->subname = (yyvsp[(6) - (8)].str); + n->newname = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *)n; } break; case 824: + +/* Line 1455 of yacc.c */ #line 5329 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_TRIGGER; - n->relation = (yyvsp[-3].range); - n->subname = (yyvsp[-5].str); - n->newname = (yyvsp[0].str); + n->relation = (yyvsp[(5) - (8)].range); + n->subname = (yyvsp[(3) - (8)].str); + n->newname = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *)n; } break; case 825: + +/* Line 1455 of yacc.c */ #line 5338 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_ROLE; - n->subname = (yyvsp[-3].str); - n->newname = (yyvsp[0].str); + n->subname = (yyvsp[(3) - (6)].str); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 826: + +/* Line 1455 of yacc.c */ #line 5346 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_ROLE; - n->subname = (yyvsp[-3].str); - n->newname = (yyvsp[0].str); + n->subname = (yyvsp[(3) - (6)].str); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 827: + +/* Line 1455 of yacc.c */ #line 5354 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_TABLESPACE; - n->subname = (yyvsp[-3].str); - n->newname = (yyvsp[0].str); + n->subname = (yyvsp[(3) - (6)].str); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 828: + +/* Line 1455 of yacc.c */ #line 5362 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_TSPARSER; - n->object = (yyvsp[-3].list); - n->newname = (yyvsp[0].str); + n->object = (yyvsp[(5) - (8)].list); + n->newname = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *)n; } break; case 829: + +/* Line 1455 of yacc.c */ #line 5370 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_TSDICTIONARY; - n->object = (yyvsp[-3].list); - n->newname = (yyvsp[0].str); + n->object = (yyvsp[(5) - (8)].list); + n->newname = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *)n; } break; case 830: + +/* Line 1455 of yacc.c */ #line 5378 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_TSTEMPLATE; - n->object = (yyvsp[-3].list); - n->newname = (yyvsp[0].str); + n->object = (yyvsp[(5) - (8)].list); + n->newname = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *)n; } break; case 831: + +/* Line 1455 of yacc.c */ #line 5386 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_TSCONFIGURATION; - n->object = (yyvsp[-3].list); - n->newname = (yyvsp[0].str); + n->object = (yyvsp[(5) - (8)].list); + n->newname = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *)n; } break; case 832: + +/* Line 1455 of yacc.c */ #line 5394 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_TYPE; - n->object = (yyvsp[-3].list); - n->newname = (yyvsp[0].str); + n->object = (yyvsp[(3) - (6)].list); + n->newname = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 833: + +/* Line 1455 of yacc.c */ #line 5403 "gram.y" { (yyval.ival) = COLUMN; } break; case 834: + +/* Line 1455 of yacc.c */ #line 5404 "gram.y" { (yyval.ival) = 0; } break; case 835: + +/* Line 1455 of yacc.c */ #line 5407 "gram.y" { (yyval.ival) = 1; } break; case 836: + +/* Line 1455 of yacc.c */ #line 5408 "gram.y" { (yyval.ival) = 0; } break; case 837: + +/* Line 1455 of yacc.c */ #line 5419 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); n->objectType = OBJECT_AGGREGATE; - n->object = (yyvsp[-4].list); - n->objarg = (yyvsp[-3].list); - n->newschema = (yyvsp[0].str); + n->object = (yyvsp[(3) - (7)].list); + n->objarg = (yyvsp[(4) - (7)].list); + n->newschema = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *)n; } break; case 838: + +/* Line 1455 of yacc.c */ #line 5428 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); n->objectType = OBJECT_DOMAIN; - n->object = (yyvsp[-3].list); - n->newschema = (yyvsp[0].str); + n->object = (yyvsp[(3) - (6)].list); + n->newschema = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 839: + +/* Line 1455 of yacc.c */ #line 5436 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); n->objectType = OBJECT_FUNCTION; - n->object = (yyvsp[-3].funwithargs)->funcname; - n->objarg = (yyvsp[-3].funwithargs)->funcargs; - n->newschema = (yyvsp[0].str); + n->object = (yyvsp[(3) - (6)].funwithargs)->funcname; + n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs; + n->newschema = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 840: + +/* Line 1455 of yacc.c */ #line 5445 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); n->objectType = OBJECT_TABLE; - n->relation = (yyvsp[-3].range); - n->newschema = (yyvsp[0].str); + n->relation = (yyvsp[(3) - (6)].range); + n->newschema = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 841: + +/* Line 1455 of yacc.c */ #line 5453 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); n->objectType = OBJECT_SEQUENCE; - n->relation = (yyvsp[-3].range); - n->newschema = (yyvsp[0].str); + n->relation = (yyvsp[(3) - (6)].range); + n->newschema = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 842: + +/* Line 1455 of yacc.c */ #line 5461 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); n->objectType = OBJECT_VIEW; - n->relation = (yyvsp[-3].range); - n->newschema = (yyvsp[0].str); + n->relation = (yyvsp[(3) - (6)].range); + n->newschema = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 843: + +/* Line 1455 of yacc.c */ #line 5469 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); n->objectType = OBJECT_TYPE; - n->object = (yyvsp[-3].list); - n->newschema = (yyvsp[0].str); + n->object = (yyvsp[(3) - (6)].list); + n->newschema = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 844: + +/* Line 1455 of yacc.c */ #line 5485 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_AGGREGATE; - n->object = (yyvsp[-4].list); - n->objarg = (yyvsp[-3].list); - n->newowner = (yyvsp[0].str); + n->object = (yyvsp[(3) - (7)].list); + n->objarg = (yyvsp[(4) - (7)].list); + n->newowner = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *)n; } break; case 845: + +/* Line 1455 of yacc.c */ #line 5494 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_CONVERSION; - n->object = (yyvsp[-3].list); - n->newowner = (yyvsp[0].str); + n->object = (yyvsp[(3) - (6)].list); + n->newowner = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 846: + +/* Line 1455 of yacc.c */ #line 5502 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_DATABASE; - n->object = list_make1(makeString((yyvsp[-3].str))); - n->newowner = (yyvsp[0].str); + n->object = list_make1(makeString((yyvsp[(3) - (6)].str))); + n->newowner = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 847: + +/* Line 1455 of yacc.c */ #line 5510 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_DOMAIN; - n->object = (yyvsp[-3].list); - n->newowner = (yyvsp[0].str); + n->object = (yyvsp[(3) - (6)].list); + n->newowner = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 848: + +/* Line 1455 of yacc.c */ #line 5518 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_FUNCTION; - n->object = (yyvsp[-3].funwithargs)->funcname; - n->objarg = (yyvsp[-3].funwithargs)->funcargs; - n->newowner = (yyvsp[0].str); + n->object = (yyvsp[(3) - (6)].funwithargs)->funcname; + n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs; + n->newowner = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 849: + +/* Line 1455 of yacc.c */ #line 5527 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_LANGUAGE; - n->object = list_make1(makeString((yyvsp[-3].str))); - n->newowner = (yyvsp[0].str); + n->object = list_make1(makeString((yyvsp[(4) - (7)].str))); + n->newowner = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *)n; } break; case 850: + +/* Line 1455 of yacc.c */ #line 5535 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_OPERATOR; - n->object = (yyvsp[-4].list); - n->objarg = (yyvsp[-3].list); - n->newowner = (yyvsp[0].str); + n->object = (yyvsp[(3) - (7)].list); + n->objarg = (yyvsp[(4) - (7)].list); + n->newowner = (yyvsp[(7) - (7)].str); (yyval.node) = (Node *)n; } break; case 851: + +/* Line 1455 of yacc.c */ #line 5544 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_OPCLASS; - n->object = (yyvsp[-5].list); - n->addname = (yyvsp[-3].str); - n->newowner = (yyvsp[0].str); + n->object = (yyvsp[(4) - (9)].list); + n->addname = (yyvsp[(6) - (9)].str); + n->newowner = (yyvsp[(9) - (9)].str); (yyval.node) = (Node *)n; } break; case 852: + +/* Line 1455 of yacc.c */ #line 5553 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_OPFAMILY; - n->object = (yyvsp[-5].list); - n->addname = (yyvsp[-3].str); - n->newowner = (yyvsp[0].str); + n->object = (yyvsp[(4) - (9)].list); + n->addname = (yyvsp[(6) - (9)].str); + n->newowner = (yyvsp[(9) - (9)].str); (yyval.node) = (Node *)n; } break; case 853: + +/* Line 1455 of yacc.c */ #line 5562 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_SCHEMA; - n->object = list_make1(makeString((yyvsp[-3].str))); - n->newowner = (yyvsp[0].str); + n->object = list_make1(makeString((yyvsp[(3) - (6)].str))); + n->newowner = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 854: + +/* Line 1455 of yacc.c */ #line 5570 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_TYPE; - n->object = (yyvsp[-3].list); - n->newowner = (yyvsp[0].str); + n->object = (yyvsp[(3) - (6)].list); + n->newowner = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 855: + +/* Line 1455 of yacc.c */ #line 5578 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_TABLESPACE; - n->object = list_make1(makeString((yyvsp[-3].str))); - n->newowner = (yyvsp[0].str); + n->object = list_make1(makeString((yyvsp[(3) - (6)].str))); + n->newowner = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 856: + +/* Line 1455 of yacc.c */ #line 5586 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_TSDICTIONARY; - n->object = (yyvsp[-3].list); - n->newowner = (yyvsp[0].str); + n->object = (yyvsp[(5) - (8)].list); + n->newowner = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *)n; } break; case 857: + +/* Line 1455 of yacc.c */ #line 5594 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_TSCONFIGURATION; - n->object = (yyvsp[-3].list); - n->newowner = (yyvsp[0].str); + n->object = (yyvsp[(5) - (8)].list); + n->newowner = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *)n; } break; case 858: + +/* Line 1455 of yacc.c */ #line 5602 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_FDW; - n->object = list_make1(makeString((yyvsp[-3].str))); - n->newowner = (yyvsp[0].str); + n->object = list_make1(makeString((yyvsp[(5) - (8)].str))); + n->newowner = (yyvsp[(8) - (8)].str); (yyval.node) = (Node *)n; } break; case 859: + +/* Line 1455 of yacc.c */ #line 5610 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_FOREIGN_SERVER; - n->object = list_make1(makeString((yyvsp[-3].str))); - n->newowner = (yyvsp[0].str); + n->object = list_make1(makeString((yyvsp[(3) - (6)].str))); + n->newowner = (yyvsp[(6) - (6)].str); (yyval.node) = (Node *)n; } break; case 860: + +/* Line 1455 of yacc.c */ #line 5627 "gram.y" { QueryIsRule=TRUE; } break; case 861: + +/* Line 1455 of yacc.c */ #line 5630 "gram.y" { RuleStmt *n = makeNode(RuleStmt); - n->replace = (yyvsp[-12].boolean); - n->relation = (yyvsp[-4].range); - n->rulename = (yyvsp[-10].str); - n->whereClause = (yyvsp[-3].node); - n->event = (yyvsp[-6].ival); - n->instead = (yyvsp[-1].boolean); - n->actions = (yyvsp[0].list); + n->replace = (yyvsp[(2) - (14)].boolean); + n->relation = (yyvsp[(10) - (14)].range); + n->rulename = (yyvsp[(4) - (14)].str); + n->whereClause = (yyvsp[(11) - (14)].node); + n->event = (yyvsp[(8) - (14)].ival); + n->instead = (yyvsp[(13) - (14)].boolean); + n->actions = (yyvsp[(14) - (14)].list); (yyval.node) = (Node *)n; QueryIsRule=FALSE; } break; case 862: + +/* Line 1455 of yacc.c */ #line 5645 "gram.y" { (yyval.list) = NIL; } break; case 863: + +/* Line 1455 of yacc.c */ #line 5646 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 864: + +/* Line 1455 of yacc.c */ #line 5647 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 865: + +/* Line 1455 of yacc.c */ #line 5653 "gram.y" - { if ((yyvsp[0].node) != NULL) - (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); + { if ((yyvsp[(3) - (3)].node) != NULL) + (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); else - (yyval.list) = (yyvsp[-2].list); + (yyval.list) = (yyvsp[(1) - (3)].list); } break; case 866: + +/* Line 1455 of yacc.c */ #line 5659 "gram.y" - { if ((yyvsp[0].node) != NULL) - (yyval.list) = list_make1((yyvsp[0].node)); + { if ((yyvsp[(1) - (1)].node) != NULL) + (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); else (yyval.list) = NIL; } break; case 872: + +/* Line 1455 of yacc.c */ #line 5675 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 873: + +/* Line 1455 of yacc.c */ #line 5676 "gram.y" { (yyval.node) = NULL; } break; case 874: + +/* Line 1455 of yacc.c */ #line 5679 "gram.y" { (yyval.ival) = CMD_SELECT; } break; case 875: + +/* Line 1455 of yacc.c */ #line 5680 "gram.y" { (yyval.ival) = CMD_UPDATE; } break; case 876: + +/* Line 1455 of yacc.c */ #line 5681 "gram.y" { (yyval.ival) = CMD_DELETE; } break; case 877: + +/* Line 1455 of yacc.c */ #line 5682 "gram.y" { (yyval.ival) = CMD_INSERT; } break; case 878: + +/* Line 1455 of yacc.c */ #line 5686 "gram.y" { (yyval.boolean) = TRUE; } break; case 879: + +/* Line 1455 of yacc.c */ #line 5687 "gram.y" { (yyval.boolean) = FALSE; } break; case 880: + +/* Line 1455 of yacc.c */ #line 5688 "gram.y" { (yyval.boolean) = FALSE; } break; case 881: + +/* Line 1455 of yacc.c */ #line 5694 "gram.y" { DropPropertyStmt *n = makeNode(DropPropertyStmt); - n->relation = (yyvsp[-1].range); - n->property = (yyvsp[-3].str); - n->behavior = (yyvsp[0].dbehavior); + n->relation = (yyvsp[(5) - (6)].range); + n->property = (yyvsp[(3) - (6)].str); + n->behavior = (yyvsp[(6) - (6)].dbehavior); n->removeType = OBJECT_RULE; n->missing_ok = false; (yyval.node) = (Node *) n; @@ -22610,12 +24391,14 @@ yyreduce: break; case 882: + +/* Line 1455 of yacc.c */ #line 5704 "gram.y" { DropPropertyStmt *n = makeNode(DropPropertyStmt); - n->relation = (yyvsp[-1].range); - n->property = (yyvsp[-3].str); - n->behavior = (yyvsp[0].dbehavior); + n->relation = (yyvsp[(7) - (8)].range); + n->property = (yyvsp[(5) - (8)].str); + n->behavior = (yyvsp[(8) - (8)].dbehavior); n->removeType = OBJECT_RULE; n->missing_ok = true; (yyval.node) = (Node *) n; @@ -22623,33 +24406,41 @@ yyreduce: break; case 883: + +/* Line 1455 of yacc.c */ #line 5725 "gram.y" { NotifyStmt *n = makeNode(NotifyStmt); - n->conditionname = (yyvsp[0].str); + n->conditionname = (yyvsp[(2) - (2)].str); (yyval.node) = (Node *)n; } break; case 884: + +/* Line 1455 of yacc.c */ #line 5733 "gram.y" { ListenStmt *n = makeNode(ListenStmt); - n->conditionname = (yyvsp[0].str); + n->conditionname = (yyvsp[(2) - (2)].str); (yyval.node) = (Node *)n; } break; case 885: + +/* Line 1455 of yacc.c */ #line 5742 "gram.y" { UnlistenStmt *n = makeNode(UnlistenStmt); - n->conditionname = (yyvsp[0].str); + n->conditionname = (yyvsp[(2) - (2)].str); (yyval.node) = (Node *)n; } break; case 886: + +/* Line 1455 of yacc.c */ #line 5748 "gram.y" { UnlistenStmt *n = makeNode(UnlistenStmt); @@ -22659,6 +24450,8 @@ yyreduce: break; case 887: + +/* Line 1455 of yacc.c */ #line 5767 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); @@ -22669,26 +24462,32 @@ yyreduce: break; case 888: + +/* Line 1455 of yacc.c */ #line 5774 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_BEGIN; - n->options = (yyvsp[0].list); + n->options = (yyvsp[(3) - (3)].list); (yyval.node) = (Node *)n; } break; case 889: + +/* Line 1455 of yacc.c */ #line 5781 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_START; - n->options = (yyvsp[0].list); + n->options = (yyvsp[(3) - (3)].list); (yyval.node) = (Node *)n; } break; case 890: + +/* Line 1455 of yacc.c */ #line 5788 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); @@ -22699,6 +24498,8 @@ yyreduce: break; case 891: + +/* Line 1455 of yacc.c */ #line 5795 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); @@ -22709,6 +24510,8 @@ yyreduce: break; case 892: + +/* Line 1455 of yacc.c */ #line 5802 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); @@ -22719,170 +24522,212 @@ yyreduce: break; case 893: + +/* Line 1455 of yacc.c */ #line 5809 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_SAVEPOINT; n->options = list_make1(makeDefElem("savepoint_name", - (Node *)makeString((yyvsp[0].str)))); + (Node *)makeString((yyvsp[(2) - (2)].str)))); (yyval.node) = (Node *)n; } break; case 894: + +/* Line 1455 of yacc.c */ #line 5817 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_RELEASE; n->options = list_make1(makeDefElem("savepoint_name", - (Node *)makeString((yyvsp[0].str)))); + (Node *)makeString((yyvsp[(3) - (3)].str)))); (yyval.node) = (Node *)n; } break; case 895: + +/* Line 1455 of yacc.c */ #line 5825 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_RELEASE; n->options = list_make1(makeDefElem("savepoint_name", - (Node *)makeString((yyvsp[0].str)))); + (Node *)makeString((yyvsp[(2) - (2)].str)))); (yyval.node) = (Node *)n; } break; case 896: + +/* Line 1455 of yacc.c */ #line 5833 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK_TO; n->options = list_make1(makeDefElem("savepoint_name", - (Node *)makeString((yyvsp[0].str)))); + (Node *)makeString((yyvsp[(5) - (5)].str)))); (yyval.node) = (Node *)n; } break; case 897: + +/* Line 1455 of yacc.c */ #line 5841 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK_TO; n->options = list_make1(makeDefElem("savepoint_name", - (Node *)makeString((yyvsp[0].str)))); + (Node *)makeString((yyvsp[(4) - (4)].str)))); (yyval.node) = (Node *)n; } break; case 898: + +/* Line 1455 of yacc.c */ #line 5849 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_PREPARE; - n->gid = (yyvsp[0].str); + n->gid = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 899: + +/* Line 1455 of yacc.c */ #line 5856 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_COMMIT_PREPARED; - n->gid = (yyvsp[0].str); + n->gid = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 900: + +/* Line 1455 of yacc.c */ #line 5863 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK_PREPARED; - n->gid = (yyvsp[0].str); + n->gid = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *)n; } break; case 901: + +/* Line 1455 of yacc.c */ #line 5871 "gram.y" {} break; case 902: + +/* Line 1455 of yacc.c */ #line 5872 "gram.y" {} break; case 903: + +/* Line 1455 of yacc.c */ #line 5873 "gram.y" {} break; case 904: + +/* Line 1455 of yacc.c */ #line 5878 "gram.y" { (yyval.defelt) = makeDefElem("transaction_isolation", - makeStringConst((yyvsp[0].str), (yylsp[0]))); } + makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)]))); } break; case 905: + +/* Line 1455 of yacc.c */ #line 5881 "gram.y" { (yyval.defelt) = makeDefElem("transaction_read_only", - makeIntConst(TRUE, (yylsp[-1]))); } + makeIntConst(TRUE, (yylsp[(1) - (2)]))); } break; case 906: + +/* Line 1455 of yacc.c */ #line 5884 "gram.y" { (yyval.defelt) = makeDefElem("transaction_read_only", - makeIntConst(FALSE, (yylsp[-1]))); } + makeIntConst(FALSE, (yylsp[(1) - (2)]))); } break; case 907: + +/* Line 1455 of yacc.c */ #line 5891 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].defelt)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); } break; case 908: + +/* Line 1455 of yacc.c */ #line 5893 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); } break; case 909: + +/* Line 1455 of yacc.c */ #line 5895 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); } break; case 911: + +/* Line 1455 of yacc.c */ #line 5901 "gram.y" { (yyval.list) = NIL; } break; case 912: + +/* Line 1455 of yacc.c */ #line 5915 "gram.y" { ViewStmt *n = makeNode(ViewStmt); - n->view = (yyvsp[-4].range); - n->view->istemp = (yyvsp[-6].boolean); - n->aliases = (yyvsp[-3].list); - n->query = (yyvsp[-1].node); + n->view = (yyvsp[(4) - (8)].range); + n->view->istemp = (yyvsp[(2) - (8)].boolean); + n->aliases = (yyvsp[(5) - (8)].list); + n->query = (yyvsp[(7) - (8)].node); n->replace = false; (yyval.node) = (Node *) n; } break; case 913: + +/* Line 1455 of yacc.c */ #line 5926 "gram.y" { ViewStmt *n = makeNode(ViewStmt); - n->view = (yyvsp[-4].range); - n->view->istemp = (yyvsp[-6].boolean); - n->aliases = (yyvsp[-3].list); - n->query = (yyvsp[-1].node); + n->view = (yyvsp[(6) - (10)].range); + n->view->istemp = (yyvsp[(4) - (10)].boolean); + n->aliases = (yyvsp[(7) - (10)].list); + n->query = (yyvsp[(9) - (10)].node); n->replace = true; (yyval.node) = (Node *) n; } break; case 914: + +/* Line 1455 of yacc.c */ #line 5939 "gram.y" { ereport(ERROR, @@ -22892,6 +24737,8 @@ yyreduce: break; case 915: + +/* Line 1455 of yacc.c */ #line 5945 "gram.y" { ereport(ERROR, @@ -22901,6 +24748,8 @@ yyreduce: break; case 916: + +/* Line 1455 of yacc.c */ #line 5951 "gram.y" { ereport(ERROR, @@ -22910,47 +24759,61 @@ yyreduce: break; case 917: + +/* Line 1455 of yacc.c */ #line 5956 "gram.y" { (yyval.list) = NIL; } break; case 918: + +/* Line 1455 of yacc.c */ #line 5967 "gram.y" { LoadStmt *n = makeNode(LoadStmt); - n->filename = (yyvsp[0].str); + n->filename = (yyvsp[(2) - (2)].str); (yyval.node) = (Node *)n; } break; case 919: + +/* Line 1455 of yacc.c */ #line 5983 "gram.y" { CreatedbStmt *n = makeNode(CreatedbStmt); - n->dbname = (yyvsp[-2].str); - n->options = (yyvsp[0].list); + n->dbname = (yyvsp[(3) - (5)].str); + n->options = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 920: + +/* Line 1455 of yacc.c */ #line 5992 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); } break; case 921: + +/* Line 1455 of yacc.c */ #line 5993 "gram.y" { (yyval.list) = NIL; } break; case 922: + +/* Line 1455 of yacc.c */ #line 5998 "gram.y" { - (yyval.defelt) = makeDefElem("tablespace", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("tablespace", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 923: + +/* Line 1455 of yacc.c */ #line 6002 "gram.y" { (yyval.defelt) = makeDefElem("tablespace", NULL); @@ -22958,13 +24821,17 @@ yyreduce: break; case 924: + +/* Line 1455 of yacc.c */ #line 6006 "gram.y" { - (yyval.defelt) = makeDefElem("location", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("location", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 925: + +/* Line 1455 of yacc.c */ #line 6010 "gram.y" { (yyval.defelt) = makeDefElem("location", NULL); @@ -22972,13 +24839,17 @@ yyreduce: break; case 926: + +/* Line 1455 of yacc.c */ #line 6014 "gram.y" { - (yyval.defelt) = makeDefElem("template", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("template", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 927: + +/* Line 1455 of yacc.c */ #line 6018 "gram.y" { (yyval.defelt) = makeDefElem("template", NULL); @@ -22986,20 +24857,26 @@ yyreduce: break; case 928: + +/* Line 1455 of yacc.c */ #line 6022 "gram.y" { - (yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 929: + +/* Line 1455 of yacc.c */ #line 6026 "gram.y" { - (yyval.defelt) = makeDefElem("encoding", (Node *)makeInteger((yyvsp[0].ival))); + (yyval.defelt) = makeDefElem("encoding", (Node *)makeInteger((yyvsp[(3) - (3)].ival))); } break; case 930: + +/* Line 1455 of yacc.c */ #line 6030 "gram.y" { (yyval.defelt) = makeDefElem("encoding", NULL); @@ -23007,13 +24884,17 @@ yyreduce: break; case 931: + +/* Line 1455 of yacc.c */ #line 6034 "gram.y" { - (yyval.defelt) = makeDefElem("lc_collate", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("lc_collate", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 932: + +/* Line 1455 of yacc.c */ #line 6038 "gram.y" { (yyval.defelt) = makeDefElem("lc_collate", NULL); @@ -23021,13 +24902,17 @@ yyreduce: break; case 933: + +/* Line 1455 of yacc.c */ #line 6042 "gram.y" { - (yyval.defelt) = makeDefElem("lc_ctype", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("lc_ctype", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 934: + +/* Line 1455 of yacc.c */ #line 6046 "gram.y" { (yyval.defelt) = makeDefElem("lc_ctype", NULL); @@ -23035,20 +24920,26 @@ yyreduce: break; case 935: + +/* Line 1455 of yacc.c */ #line 6050 "gram.y" { - (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival))); + (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[(4) - (4)].ival))); } break; case 936: + +/* Line 1455 of yacc.c */ #line 6054 "gram.y" { - (yyval.defelt) = makeDefElem("owner", (Node *)makeString((yyvsp[0].str))); + (yyval.defelt) = makeDefElem("owner", (Node *)makeString((yyvsp[(3) - (3)].str))); } break; case 937: + +/* Line 1455 of yacc.c */ #line 6058 "gram.y" { (yyval.defelt) = makeDefElem("owner", NULL); @@ -23056,175 +24947,215 @@ yyreduce: break; case 938: + +/* Line 1455 of yacc.c */ #line 6067 "gram.y" {} break; case 939: + +/* Line 1455 of yacc.c */ #line 6068 "gram.y" {} break; case 940: + +/* Line 1455 of yacc.c */ #line 6080 "gram.y" { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); - n->dbname = (yyvsp[-2].str); - n->options = (yyvsp[0].list); + n->dbname = (yyvsp[(3) - (5)].str); + n->options = (yyvsp[(5) - (5)].list); (yyval.node) = (Node *)n; } break; case 941: + +/* Line 1455 of yacc.c */ #line 6087 "gram.y" { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); - n->dbname = (yyvsp[-3].str); + n->dbname = (yyvsp[(3) - (6)].str); n->options = list_make1(makeDefElem("tablespace", - (Node *)makeString((yyvsp[0].str)))); + (Node *)makeString((yyvsp[(6) - (6)].str)))); (yyval.node) = (Node *)n; } break; case 942: + +/* Line 1455 of yacc.c */ #line 6098 "gram.y" { AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt); - n->dbname = (yyvsp[-1].str); - n->setstmt = (yyvsp[0].vsetstmt); + n->dbname = (yyvsp[(3) - (4)].str); + n->setstmt = (yyvsp[(4) - (4)].vsetstmt); (yyval.node) = (Node *)n; } break; case 943: + +/* Line 1455 of yacc.c */ #line 6108 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); } break; case 944: + +/* Line 1455 of yacc.c */ #line 6109 "gram.y" { (yyval.list) = NIL; } break; case 945: + +/* Line 1455 of yacc.c */ #line 6114 "gram.y" { - (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival))); + (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[(4) - (4)].ival))); } break; case 946: + +/* Line 1455 of yacc.c */ #line 6128 "gram.y" { DropdbStmt *n = makeNode(DropdbStmt); - n->dbname = (yyvsp[0].str); + n->dbname = (yyvsp[(3) - (3)].str); n->missing_ok = FALSE; (yyval.node) = (Node *)n; } break; case 947: + +/* Line 1455 of yacc.c */ #line 6135 "gram.y" { DropdbStmt *n = makeNode(DropdbStmt); - n->dbname = (yyvsp[0].str); + n->dbname = (yyvsp[(5) - (5)].str); n->missing_ok = TRUE; (yyval.node) = (Node *)n; } break; case 948: + +/* Line 1455 of yacc.c */ #line 6152 "gram.y" { CreateDomainStmt *n = makeNode(CreateDomainStmt); - n->domainname = (yyvsp[-3].list); - n->typename = (yyvsp[-1].typnam); - n->constraints = (yyvsp[0].list); + n->domainname = (yyvsp[(3) - (6)].list); + n->typename = (yyvsp[(5) - (6)].typnam); + n->constraints = (yyvsp[(6) - (6)].list); (yyval.node) = (Node *)n; } break; case 949: + +/* Line 1455 of yacc.c */ #line 6164 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); n->subtype = 'T'; - n->typename = (yyvsp[-1].list); - n->def = (yyvsp[0].node); + n->typename = (yyvsp[(3) - (4)].list); + n->def = (yyvsp[(4) - (4)].node); (yyval.node) = (Node *)n; } break; case 950: + +/* Line 1455 of yacc.c */ #line 6173 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); n->subtype = 'N'; - n->typename = (yyvsp[-3].list); + n->typename = (yyvsp[(3) - (6)].list); (yyval.node) = (Node *)n; } break; case 951: + +/* Line 1455 of yacc.c */ #line 6181 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); n->subtype = 'O'; - n->typename = (yyvsp[-3].list); + n->typename = (yyvsp[(3) - (6)].list); (yyval.node) = (Node *)n; } break; case 952: + +/* Line 1455 of yacc.c */ #line 6189 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); n->subtype = 'C'; - n->typename = (yyvsp[-2].list); - n->def = (yyvsp[0].node); + n->typename = (yyvsp[(3) - (5)].list); + n->def = (yyvsp[(5) - (5)].node); (yyval.node) = (Node *)n; } break; case 953: + +/* Line 1455 of yacc.c */ #line 6198 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); n->subtype = 'X'; - n->typename = (yyvsp[-4].list); - n->name = (yyvsp[-1].str); - n->behavior = (yyvsp[0].dbehavior); + n->typename = (yyvsp[(3) - (7)].list); + n->name = (yyvsp[(6) - (7)].str); + n->behavior = (yyvsp[(7) - (7)].dbehavior); (yyval.node) = (Node *)n; } break; case 954: + +/* Line 1455 of yacc.c */ #line 6208 "gram.y" {} break; case 955: + +/* Line 1455 of yacc.c */ #line 6209 "gram.y" {} break; case 956: + +/* Line 1455 of yacc.c */ #line 6221 "gram.y" { AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt); - n->dictname = (yyvsp[-1].list); - n->options = (yyvsp[0].list); + n->dictname = (yyvsp[(5) - (6)].list); + n->options = (yyvsp[(6) - (6)].list); (yyval.node) = (Node *)n; } break; case 957: + +/* Line 1455 of yacc.c */ #line 6231 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); - n->cfgname = (yyvsp[-6].list); - n->tokentype = (yyvsp[-2].list); - n->dicts = (yyvsp[0].list); + n->cfgname = (yyvsp[(5) - (11)].list); + n->tokentype = (yyvsp[(9) - (11)].list); + n->dicts = (yyvsp[(11) - (11)].list); n->override = false; n->replace = false; (yyval.node) = (Node*)n; @@ -23232,12 +25163,14 @@ yyreduce: break; case 958: + +/* Line 1455 of yacc.c */ #line 6241 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); - n->cfgname = (yyvsp[-6].list); - n->tokentype = (yyvsp[-2].list); - n->dicts = (yyvsp[0].list); + n->cfgname = (yyvsp[(5) - (11)].list); + n->tokentype = (yyvsp[(9) - (11)].list); + n->dicts = (yyvsp[(11) - (11)].list); n->override = true; n->replace = false; (yyval.node) = (Node*)n; @@ -23245,12 +25178,14 @@ yyreduce: break; case 959: + +/* Line 1455 of yacc.c */ #line 6251 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); - n->cfgname = (yyvsp[-6].list); + n->cfgname = (yyvsp[(5) - (11)].list); n->tokentype = NIL; - n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list)); + n->dicts = list_make2((yyvsp[(9) - (11)].list),(yyvsp[(11) - (11)].list)); n->override = false; n->replace = true; (yyval.node) = (Node*)n; @@ -23258,12 +25193,14 @@ yyreduce: break; case 960: + +/* Line 1455 of yacc.c */ #line 6261 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); - n->cfgname = (yyvsp[-8].list); - n->tokentype = (yyvsp[-4].list); - n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list)); + 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->override = false; n->replace = true; (yyval.node) = (Node*)n; @@ -23271,94 +25208,112 @@ yyreduce: break; case 961: + +/* Line 1455 of yacc.c */ #line 6271 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); - n->cfgname = (yyvsp[-4].list); - n->tokentype = (yyvsp[0].list); + n->cfgname = (yyvsp[(5) - (9)].list); + n->tokentype = (yyvsp[(9) - (9)].list); n->missing_ok = false; (yyval.node) = (Node*)n; } break; case 962: + +/* Line 1455 of yacc.c */ #line 6279 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); - n->cfgname = (yyvsp[-6].list); - n->tokentype = (yyvsp[0].list); + n->cfgname = (yyvsp[(5) - (11)].list); + n->tokentype = (yyvsp[(11) - (11)].list); n->missing_ok = true; (yyval.node) = (Node*)n; } break; case 963: + +/* Line 1455 of yacc.c */ #line 6301 "gram.y" { CreateConversionStmt *n = makeNode(CreateConversionStmt); - 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); + 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); (yyval.node) = (Node *)n; } break; case 964: + +/* Line 1455 of yacc.c */ #line 6323 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); - n->relation = (yyvsp[-1].range); - n->indexname = (yyvsp[0].str); - n->verbose = (yyvsp[-2].boolean); + n->relation = (yyvsp[(3) - (4)].range); + n->indexname = (yyvsp[(4) - (4)].str); + n->verbose = (yyvsp[(2) - (4)].boolean); (yyval.node) = (Node*)n; } break; case 965: + +/* Line 1455 of yacc.c */ #line 6331 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); n->relation = NULL; n->indexname = NULL; - n->verbose = (yyvsp[0].boolean); + n->verbose = (yyvsp[(2) - (2)].boolean); (yyval.node) = (Node*)n; } break; case 966: + +/* Line 1455 of yacc.c */ #line 6340 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); - n->relation = (yyvsp[0].range); - n->indexname = (yyvsp[-2].str); - n->verbose = (yyvsp[-3].boolean); + n->relation = (yyvsp[(5) - (5)].range); + n->indexname = (yyvsp[(3) - (5)].str); + n->verbose = (yyvsp[(2) - (5)].boolean); (yyval.node) = (Node*)n; } break; case 967: + +/* Line 1455 of yacc.c */ #line 6350 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(2) - (2)].str); } break; case 968: + +/* Line 1455 of yacc.c */ #line 6351 "gram.y" { (yyval.str) = NULL; } break; case 969: + +/* Line 1455 of yacc.c */ #line 6364 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); n->options = VACOPT_VACUUM; - if ((yyvsp[-2].boolean)) + if ((yyvsp[(2) - (4)].boolean)) n->options |= VACOPT_FULL; - if ((yyvsp[0].boolean)) + if ((yyvsp[(4) - (4)].boolean)) n->options |= VACOPT_VERBOSE; - n->freeze_min_age = (yyvsp[-1].boolean) ? 0 : -1; - n->freeze_table_age = (yyvsp[-1].boolean) ? 0 : -1; + n->freeze_min_age = (yyvsp[(3) - (4)].boolean) ? 0 : -1; + n->freeze_table_age = (yyvsp[(3) - (4)].boolean) ? 0 : -1; n->relation = NULL; n->va_cols = NIL; (yyval.node) = (Node *)n; @@ -23366,42 +25321,48 @@ yyreduce: break; case 970: + +/* Line 1455 of yacc.c */ #line 6378 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); n->options = VACOPT_VACUUM; - if ((yyvsp[-3].boolean)) + if ((yyvsp[(2) - (5)].boolean)) n->options |= VACOPT_FULL; - if ((yyvsp[-1].boolean)) + if ((yyvsp[(4) - (5)].boolean)) n->options |= VACOPT_VERBOSE; - n->freeze_min_age = (yyvsp[-2].boolean) ? 0 : -1; - n->freeze_table_age = (yyvsp[-2].boolean) ? 0 : -1; - n->relation = (yyvsp[0].range); + n->freeze_min_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1; + n->freeze_table_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1; + n->relation = (yyvsp[(5) - (5)].range); n->va_cols = NIL; (yyval.node) = (Node *)n; } break; case 971: + +/* Line 1455 of yacc.c */ #line 6392 "gram.y" { - VacuumStmt *n = (VacuumStmt *) (yyvsp[0].node); + VacuumStmt *n = (VacuumStmt *) (yyvsp[(5) - (5)].node); n->options |= VACOPT_VACUUM; - if ((yyvsp[-3].boolean)) + if ((yyvsp[(2) - (5)].boolean)) n->options |= VACOPT_FULL; - if ((yyvsp[-1].boolean)) + if ((yyvsp[(4) - (5)].boolean)) n->options |= VACOPT_VERBOSE; - n->freeze_min_age = (yyvsp[-2].boolean) ? 0 : -1; - n->freeze_table_age = (yyvsp[-2].boolean) ? 0 : -1; + n->freeze_min_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1; + n->freeze_table_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1; (yyval.node) = (Node *)n; } break; case 972: + +/* Line 1455 of yacc.c */ #line 6404 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); - n->options = VACOPT_VACUUM | (yyvsp[-1].ival); + n->options = VACOPT_VACUUM | (yyvsp[(3) - (4)].ival); if (n->options & VACOPT_FREEZE) n->freeze_min_age = n->freeze_table_age = 0; else @@ -23413,16 +25374,18 @@ yyreduce: break; case 973: + +/* Line 1455 of yacc.c */ #line 6416 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); - n->options = VACOPT_VACUUM | (yyvsp[-3].ival); + n->options = VACOPT_VACUUM | (yyvsp[(3) - (6)].ival); if (n->options & VACOPT_FREEZE) n->freeze_min_age = n->freeze_table_age = 0; else n->freeze_min_age = n->freeze_table_age = -1; - n->relation = (yyvsp[-1].range); - n->va_cols = (yyvsp[0].list); + n->relation = (yyvsp[(5) - (6)].range); + n->va_cols = (yyvsp[(6) - (6)].list); if (n->va_cols != NIL) /* implies analyze */ n->options |= VACOPT_ANALYZE; (yyval.node) = (Node *) n; @@ -23430,41 +25393,55 @@ yyreduce: break; case 974: + +/* Line 1455 of yacc.c */ #line 6432 "gram.y" - { (yyval.ival) = (yyvsp[0].ival); } + { (yyval.ival) = (yyvsp[(1) - (1)].ival); } break; case 975: + +/* Line 1455 of yacc.c */ #line 6433 "gram.y" - { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); } + { (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); } break; case 976: + +/* Line 1455 of yacc.c */ #line 6437 "gram.y" { (yyval.ival) = VACOPT_ANALYZE; } break; case 977: + +/* Line 1455 of yacc.c */ #line 6438 "gram.y" { (yyval.ival) = VACOPT_VERBOSE; } break; case 978: + +/* Line 1455 of yacc.c */ #line 6439 "gram.y" { (yyval.ival) = VACOPT_FREEZE; } break; case 979: + +/* Line 1455 of yacc.c */ #line 6440 "gram.y" { (yyval.ival) = VACOPT_FULL; } break; case 980: + +/* Line 1455 of yacc.c */ #line 6445 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); n->options = VACOPT_ANALYZE; - if ((yyvsp[0].boolean)) + if ((yyvsp[(2) - (2)].boolean)) n->options |= VACOPT_VERBOSE; n->freeze_min_age = -1; n->freeze_table_age = -1; @@ -23475,132 +25452,170 @@ yyreduce: break; case 981: + +/* Line 1455 of yacc.c */ #line 6457 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); n->options = VACOPT_ANALYZE; - if ((yyvsp[-2].boolean)) + if ((yyvsp[(2) - (4)].boolean)) n->options |= VACOPT_VERBOSE; n->freeze_min_age = -1; n->freeze_table_age = -1; - n->relation = (yyvsp[-1].range); - n->va_cols = (yyvsp[0].list); + n->relation = (yyvsp[(3) - (4)].range); + n->va_cols = (yyvsp[(4) - (4)].list); (yyval.node) = (Node *)n; } break; case 982: + +/* Line 1455 of yacc.c */ #line 6471 "gram.y" {} break; case 983: + +/* Line 1455 of yacc.c */ #line 6472 "gram.y" {} break; case 984: + +/* Line 1455 of yacc.c */ #line 6476 "gram.y" { (yyval.boolean) = TRUE; } break; case 985: + +/* Line 1455 of yacc.c */ #line 6477 "gram.y" { (yyval.boolean) = FALSE; } break; case 986: + +/* Line 1455 of yacc.c */ #line 6480 "gram.y" { (yyval.boolean) = TRUE; } break; case 987: + +/* Line 1455 of yacc.c */ #line 6481 "gram.y" { (yyval.boolean) = FALSE; } break; case 988: + +/* Line 1455 of yacc.c */ #line 6484 "gram.y" { (yyval.boolean) = TRUE; } break; case 989: + +/* Line 1455 of yacc.c */ #line 6485 "gram.y" { (yyval.boolean) = FALSE; } break; case 990: + +/* Line 1455 of yacc.c */ #line 6489 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 991: + +/* Line 1455 of yacc.c */ #line 6490 "gram.y" { (yyval.list) = NIL; } break; case 992: + +/* Line 1455 of yacc.c */ #line 6502 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); - n->analyze = (yyvsp[-2].boolean); - n->verbose = (yyvsp[-1].boolean); - n->query = (yyvsp[0].node); + n->analyze = (yyvsp[(2) - (4)].boolean); + n->verbose = (yyvsp[(3) - (4)].boolean); + n->query = (yyvsp[(4) - (4)].node); (yyval.node) = (Node *)n; } break; case 1000: + +/* Line 1455 of yacc.c */ #line 6522 "gram.y" { (yyval.boolean) = TRUE; } break; case 1001: + +/* Line 1455 of yacc.c */ #line 6523 "gram.y" { (yyval.boolean) = FALSE; } break; case 1002: + +/* Line 1455 of yacc.c */ #line 6534 "gram.y" { PrepareStmt *n = makeNode(PrepareStmt); - n->name = (yyvsp[-3].str); - n->argtypes = (yyvsp[-2].list); - n->query = (yyvsp[0].node); + n->name = (yyvsp[(2) - (5)].str); + n->argtypes = (yyvsp[(3) - (5)].list); + n->query = (yyvsp[(5) - (5)].node); (yyval.node) = (Node *) n; } break; case 1003: + +/* Line 1455 of yacc.c */ #line 6543 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 1004: + +/* Line 1455 of yacc.c */ #line 6544 "gram.y" { (yyval.list) = NIL; } break; case 1009: + +/* Line 1455 of yacc.c */ #line 6562 "gram.y" { ExecuteStmt *n = makeNode(ExecuteStmt); - n->name = (yyvsp[-1].str); - n->params = (yyvsp[0].list); + n->name = (yyvsp[(2) - (3)].str); + n->params = (yyvsp[(3) - (3)].list); n->into = NULL; (yyval.node) = (Node *) n; } break; case 1010: + +/* Line 1455 of yacc.c */ #line 6571 "gram.y" { ExecuteStmt *n = makeNode(ExecuteStmt); - n->name = (yyvsp[-1].str); - n->params = (yyvsp[0].list); - (yyvsp[-4].into)->rel->istemp = (yyvsp[-6].boolean); - n->into = (yyvsp[-4].into); - if ((yyvsp[-4].into)->colNames) + n->name = (yyvsp[(7) - (8)].str); + n->params = (yyvsp[(8) - (8)].list); + (yyvsp[(4) - (8)].into)->rel->istemp = (yyvsp[(2) - (8)].boolean); + n->into = (yyvsp[(4) - (8)].into); + if ((yyvsp[(4) - (8)].into)->colNames) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("column name list not allowed in CREATE TABLE / AS EXECUTE"))); @@ -23610,34 +25625,44 @@ yyreduce: break; case 1011: + +/* Line 1455 of yacc.c */ #line 6586 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 1012: + +/* Line 1455 of yacc.c */ #line 6587 "gram.y" { (yyval.list) = NIL; } break; case 1013: + +/* Line 1455 of yacc.c */ #line 6598 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); - n->name = (yyvsp[0].str); + n->name = (yyvsp[(2) - (2)].str); (yyval.node) = (Node *) n; } break; case 1014: + +/* Line 1455 of yacc.c */ #line 6604 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); - n->name = (yyvsp[0].str); + n->name = (yyvsp[(3) - (3)].str); (yyval.node) = (Node *) n; } break; case 1015: + +/* Line 1455 of yacc.c */ #line 6610 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); @@ -23647,6 +25672,8 @@ yyreduce: break; case 1016: + +/* Line 1455 of yacc.c */ #line 6616 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); @@ -23656,33 +25683,41 @@ yyreduce: break; case 1017: + +/* Line 1455 of yacc.c */ #line 6632 "gram.y" { - (yyvsp[-1].istmt)->relation = (yyvsp[-2].range); - (yyvsp[-1].istmt)->returningList = (yyvsp[0].list); - (yyval.node) = (Node *) (yyvsp[-1].istmt); + (yyvsp[(4) - (5)].istmt)->relation = (yyvsp[(3) - (5)].range); + (yyvsp[(4) - (5)].istmt)->returningList = (yyvsp[(5) - (5)].list); + (yyval.node) = (Node *) (yyvsp[(4) - (5)].istmt); } break; case 1018: + +/* Line 1455 of yacc.c */ #line 6641 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = NIL; - (yyval.istmt)->selectStmt = (yyvsp[0].node); + (yyval.istmt)->selectStmt = (yyvsp[(1) - (1)].node); } break; case 1019: + +/* Line 1455 of yacc.c */ #line 6647 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); - (yyval.istmt)->cols = (yyvsp[-2].list); - (yyval.istmt)->selectStmt = (yyvsp[0].node); + (yyval.istmt)->cols = (yyvsp[(2) - (4)].list); + (yyval.istmt)->selectStmt = (yyvsp[(4) - (4)].node); } break; case 1020: + +/* Line 1455 of yacc.c */ #line 6653 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); @@ -23692,172 +25727,228 @@ yyreduce: break; case 1021: + +/* Line 1455 of yacc.c */ #line 6662 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].target)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); } break; case 1022: + +/* Line 1455 of yacc.c */ #line 6664 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); } break; case 1023: + +/* Line 1455 of yacc.c */ #line 6669 "gram.y" { (yyval.target) = makeNode(ResTarget); - (yyval.target)->name = (yyvsp[-1].str); - (yyval.target)->indirection = check_indirection((yyvsp[0].list)); + (yyval.target)->name = (yyvsp[(1) - (2)].str); + (yyval.target)->indirection = check_indirection((yyvsp[(2) - (2)].list)); (yyval.target)->val = NULL; - (yyval.target)->location = (yylsp[-1]); + (yyval.target)->location = (yylsp[(1) - (2)]); } break; case 1024: + +/* Line 1455 of yacc.c */ #line 6679 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 1025: + +/* Line 1455 of yacc.c */ #line 6680 "gram.y" { (yyval.list) = NIL; } break; case 1026: + +/* Line 1455 of yacc.c */ #line 6693 "gram.y" { DeleteStmt *n = makeNode(DeleteStmt); - n->relation = (yyvsp[-3].range); - n->usingClause = (yyvsp[-2].list); - n->whereClause = (yyvsp[-1].node); - n->returningList = (yyvsp[0].list); + n->relation = (yyvsp[(3) - (6)].range); + n->usingClause = (yyvsp[(4) - (6)].list); + n->whereClause = (yyvsp[(5) - (6)].node); + n->returningList = (yyvsp[(6) - (6)].list); (yyval.node) = (Node *)n; } break; case 1027: + +/* Line 1455 of yacc.c */ #line 6704 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 1028: + +/* Line 1455 of yacc.c */ #line 6705 "gram.y" { (yyval.list) = NIL; } break; case 1029: + +/* Line 1455 of yacc.c */ #line 6717 "gram.y" { LockStmt *n = makeNode(LockStmt); - n->relations = (yyvsp[-2].list); - n->mode = (yyvsp[-1].ival); - n->nowait = (yyvsp[0].boolean); + n->relations = (yyvsp[(3) - (5)].list); + n->mode = (yyvsp[(4) - (5)].ival); + n->nowait = (yyvsp[(5) - (5)].boolean); (yyval.node) = (Node *)n; } break; case 1030: + +/* Line 1455 of yacc.c */ #line 6727 "gram.y" - { (yyval.ival) = (yyvsp[-1].ival); } + { (yyval.ival) = (yyvsp[(2) - (3)].ival); } break; case 1031: + +/* Line 1455 of yacc.c */ #line 6728 "gram.y" { (yyval.ival) = AccessExclusiveLock; } break; case 1032: + +/* Line 1455 of yacc.c */ #line 6731 "gram.y" { (yyval.ival) = AccessShareLock; } break; case 1033: + +/* Line 1455 of yacc.c */ #line 6732 "gram.y" { (yyval.ival) = RowShareLock; } break; case 1034: + +/* Line 1455 of yacc.c */ #line 6733 "gram.y" { (yyval.ival) = RowExclusiveLock; } break; case 1035: + +/* Line 1455 of yacc.c */ #line 6734 "gram.y" { (yyval.ival) = ShareUpdateExclusiveLock; } break; case 1036: + +/* Line 1455 of yacc.c */ #line 6735 "gram.y" { (yyval.ival) = ShareLock; } break; case 1037: + +/* Line 1455 of yacc.c */ #line 6736 "gram.y" { (yyval.ival) = ShareRowExclusiveLock; } break; case 1038: + +/* Line 1455 of yacc.c */ #line 6737 "gram.y" { (yyval.ival) = ExclusiveLock; } break; case 1039: + +/* Line 1455 of yacc.c */ #line 6738 "gram.y" { (yyval.ival) = AccessExclusiveLock; } break; case 1040: + +/* Line 1455 of yacc.c */ #line 6741 "gram.y" { (yyval.boolean) = TRUE; } break; case 1041: + +/* Line 1455 of yacc.c */ #line 6742 "gram.y" { (yyval.boolean) = FALSE; } break; case 1042: + +/* Line 1455 of yacc.c */ #line 6758 "gram.y" { UpdateStmt *n = makeNode(UpdateStmt); - 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->relation = (yyvsp[(2) - (7)].range); + n->targetList = (yyvsp[(4) - (7)].list); + n->fromClause = (yyvsp[(5) - (7)].list); + n->whereClause = (yyvsp[(6) - (7)].node); + n->returningList = (yyvsp[(7) - (7)].list); (yyval.node) = (Node *)n; } break; case 1043: + +/* Line 1455 of yacc.c */ #line 6770 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 1044: + +/* Line 1455 of yacc.c */ #line 6771 "gram.y" - { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); } + { (yyval.list) = list_concat((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].list)); } break; case 1045: + +/* Line 1455 of yacc.c */ #line 6775 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].target)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); } break; case 1046: + +/* Line 1455 of yacc.c */ #line 6776 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 1047: + +/* Line 1455 of yacc.c */ #line 6781 "gram.y" { - (yyval.target) = (yyvsp[-2].target); - (yyval.target)->val = (Node *) (yyvsp[0].node); + (yyval.target) = (yyvsp[(1) - (3)].target); + (yyval.target)->val = (Node *) (yyvsp[(3) - (3)].node); } break; case 1048: + +/* Line 1455 of yacc.c */ #line 6789 "gram.y" { ListCell *col_cell; @@ -23868,12 +25959,12 @@ yyreduce: * into the destination ResTargets. XXX this approach * cannot work for general row expressions as sources. */ - if (list_length((yyvsp[-3].list)) != list_length((yyvsp[0].list))) + if (list_length((yyvsp[(2) - (5)].list)) != list_length((yyvsp[(5) - (5)].list))) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("number of columns does not match number of values"), - scanner_errposition((yylsp[-4])))); - forboth(col_cell, (yyvsp[-3].list), val_cell, (yyvsp[0].list)) + scanner_errposition((yylsp[(1) - (5)])))); + forboth(col_cell, (yyvsp[(2) - (5)].list), val_cell, (yyvsp[(5) - (5)].list)) { ResTarget *res_col = (ResTarget *) lfirst(col_cell); Node *res_val = (Node *) lfirst(val_cell); @@ -23881,199 +25972,253 @@ yyreduce: res_col->val = res_val; } - (yyval.list) = (yyvsp[-3].list); + (yyval.list) = (yyvsp[(2) - (5)].list); } break; case 1049: + +/* Line 1455 of yacc.c */ #line 6817 "gram.y" { (yyval.target) = makeNode(ResTarget); - (yyval.target)->name = (yyvsp[-1].str); - (yyval.target)->indirection = check_indirection((yyvsp[0].list)); + (yyval.target)->name = (yyvsp[(1) - (2)].str); + (yyval.target)->indirection = check_indirection((yyvsp[(2) - (2)].list)); (yyval.target)->val = NULL; /* upper production sets this */ - (yyval.target)->location = (yylsp[-1]); + (yyval.target)->location = (yylsp[(1) - (2)]); } break; case 1050: + +/* Line 1455 of yacc.c */ #line 6827 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].target)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); } break; case 1051: + +/* Line 1455 of yacc.c */ #line 6828 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].target)); } break; case 1052: + +/* Line 1455 of yacc.c */ #line 6839 "gram.y" { DeclareCursorStmt *n = makeNode(DeclareCursorStmt); - n->portalname = (yyvsp[-5].str); + n->portalname = (yyvsp[(2) - (7)].str); /* currently we always set FAST_PLAN option */ - n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN; - n->query = (yyvsp[0].node); + n->options = (yyvsp[(3) - (7)].ival) | (yyvsp[(5) - (7)].ival) | CURSOR_OPT_FAST_PLAN; + n->query = (yyvsp[(7) - (7)].node); (yyval.node) = (Node *)n; } break; case 1053: + +/* Line 1455 of yacc.c */ #line 6849 "gram.y" { (yyval.ival) = 0; } break; case 1054: + +/* Line 1455 of yacc.c */ #line 6850 "gram.y" - { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; } + { (yyval.ival) = (yyvsp[(1) - (3)].ival) | CURSOR_OPT_NO_SCROLL; } break; case 1055: + +/* Line 1455 of yacc.c */ #line 6851 "gram.y" - { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; } + { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_SCROLL; } break; case 1056: + +/* Line 1455 of yacc.c */ #line 6852 "gram.y" - { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; } + { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_BINARY; } break; case 1057: + +/* Line 1455 of yacc.c */ #line 6853 "gram.y" - { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; } + { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_INSENSITIVE; } break; case 1058: + +/* Line 1455 of yacc.c */ #line 6856 "gram.y" { (yyval.ival) = 0; } break; case 1059: + +/* Line 1455 of yacc.c */ #line 6857 "gram.y" { (yyval.ival) = CURSOR_OPT_HOLD; } break; case 1060: + +/* Line 1455 of yacc.c */ #line 6858 "gram.y" { (yyval.ival) = 0; } break; case 1063: + +/* Line 1455 of yacc.c */ #line 6911 "gram.y" - { (yyval.node) = (yyvsp[-1].node); } + { (yyval.node) = (yyvsp[(2) - (3)].node); } break; case 1064: + +/* Line 1455 of yacc.c */ #line 6912 "gram.y" - { (yyval.node) = (yyvsp[-1].node); } + { (yyval.node) = (yyvsp[(2) - (3)].node); } break; case 1065: + +/* Line 1455 of yacc.c */ #line 6926 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1066: + +/* Line 1455 of yacc.c */ #line 6928 "gram.y" { - insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL, + insertSelectOptions((SelectStmt *) (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list), NIL, NULL, NULL, NULL); - (yyval.node) = (yyvsp[-1].node); + (yyval.node) = (yyvsp[(1) - (2)].node); } break; case 1067: + +/* Line 1455 of yacc.c */ #line 6934 "gram.y" { - insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list), - list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1), + 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), NULL); - (yyval.node) = (yyvsp[-3].node); + (yyval.node) = (yyvsp[(1) - (4)].node); } break; case 1068: + +/* Line 1455 of yacc.c */ #line 6941 "gram.y" { - insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list), - list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1), + 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), NULL); - (yyval.node) = (yyvsp[-3].node); + (yyval.node) = (yyvsp[(1) - (4)].node); } break; case 1069: + +/* Line 1455 of yacc.c */ #line 6948 "gram.y" { - insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL, + insertSelectOptions((SelectStmt *) (yyvsp[(2) - (2)].node), NULL, NIL, NULL, NULL, - (yyvsp[-1].with)); - (yyval.node) = (yyvsp[0].node); + (yyvsp[(1) - (2)].with)); + (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 1070: + +/* Line 1455 of yacc.c */ #line 6955 "gram.y" { - insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL, + insertSelectOptions((SelectStmt *) (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].list), NIL, NULL, NULL, - (yyvsp[-2].with)); - (yyval.node) = (yyvsp[-1].node); + (yyvsp[(1) - (3)].with)); + (yyval.node) = (yyvsp[(2) - (3)].node); } break; case 1071: + +/* Line 1455 of yacc.c */ #line 6962 "gram.y" { - 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)); - (yyval.node) = (yyvsp[-3].node); + 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)); + (yyval.node) = (yyvsp[(2) - (5)].node); } break; case 1072: + +/* Line 1455 of yacc.c */ #line 6969 "gram.y" { - 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)); - (yyval.node) = (yyvsp[-3].node); + 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)); + (yyval.node) = (yyvsp[(2) - (5)].node); } break; case 1073: + +/* Line 1455 of yacc.c */ #line 6978 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1074: + +/* Line 1455 of yacc.c */ #line 6979 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1075: + +/* Line 1455 of yacc.c */ #line 7009 "gram.y" { SelectStmt *n = makeNode(SelectStmt); - 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); + 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); (yyval.node) = (Node *)n; } break; case 1076: + +/* Line 1455 of yacc.c */ #line 7021 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1077: + +/* Line 1455 of yacc.c */ #line 7023 "gram.y" { /* same as SELECT * FROM relation_expr */ @@ -24090,79 +26235,97 @@ yyreduce: rt->location = -1; n->targetList = list_make1(rt); - n->fromClause = list_make1((yyvsp[0].range)); + n->fromClause = list_make1((yyvsp[(2) - (2)].range)); (yyval.node) = (Node *)n; } break; case 1078: + +/* Line 1455 of yacc.c */ #line 7042 "gram.y" { - (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node)); + (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); } break; case 1079: + +/* Line 1455 of yacc.c */ #line 7046 "gram.y" { - (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node)); + (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); } break; case 1080: + +/* Line 1455 of yacc.c */ #line 7050 "gram.y" { - (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node)); + (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); } break; case 1081: + +/* Line 1455 of yacc.c */ #line 7065 "gram.y" { (yyval.with) = makeNode(WithClause); - (yyval.with)->ctes = (yyvsp[0].list); + (yyval.with)->ctes = (yyvsp[(2) - (2)].list); (yyval.with)->recursive = false; - (yyval.with)->location = (yylsp[-1]); + (yyval.with)->location = (yylsp[(1) - (2)]); } break; case 1082: + +/* Line 1455 of yacc.c */ #line 7072 "gram.y" { (yyval.with) = makeNode(WithClause); - (yyval.with)->ctes = (yyvsp[0].list); + (yyval.with)->ctes = (yyvsp[(3) - (3)].list); (yyval.with)->recursive = true; - (yyval.with)->location = (yylsp[-2]); + (yyval.with)->location = (yylsp[(1) - (3)]); } break; case 1083: + +/* Line 1455 of yacc.c */ #line 7081 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 1084: + +/* Line 1455 of yacc.c */ #line 7082 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 1085: + +/* Line 1455 of yacc.c */ #line 7086 "gram.y" { CommonTableExpr *n = makeNode(CommonTableExpr); - n->ctename = (yyvsp[-3].str); - n->aliascolnames = (yyvsp[-2].list); - n->ctequery = (yyvsp[0].node); - n->location = (yylsp[-3]); + n->ctename = (yyvsp[(1) - (4)].str); + n->aliascolnames = (yyvsp[(2) - (4)].list); + n->ctequery = (yyvsp[(4) - (4)].node); + n->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *) n; } break; case 1086: + +/* Line 1455 of yacc.c */ #line 7098 "gram.y" { (yyval.into) = makeNode(IntoClause); - (yyval.into)->rel = (yyvsp[0].range); + (yyval.into)->rel = (yyvsp[(2) - (2)].range); (yyval.into)->colNames = NIL; (yyval.into)->options = NIL; (yyval.into)->onCommit = ONCOMMIT_NOOP; @@ -24171,189 +26334,249 @@ yyreduce: break; case 1087: + +/* Line 1455 of yacc.c */ #line 7107 "gram.y" { (yyval.into) = NULL; } break; case 1088: + +/* Line 1455 of yacc.c */ #line 7116 "gram.y" { - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(3) - (3)].range); (yyval.range)->istemp = true; } break; case 1089: + +/* Line 1455 of yacc.c */ #line 7121 "gram.y" { - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(3) - (3)].range); (yyval.range)->istemp = true; } break; case 1090: + +/* Line 1455 of yacc.c */ #line 7126 "gram.y" { - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(4) - (4)].range); (yyval.range)->istemp = true; } break; case 1091: + +/* Line 1455 of yacc.c */ #line 7131 "gram.y" { - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(4) - (4)].range); (yyval.range)->istemp = true; } break; case 1092: + +/* Line 1455 of yacc.c */ #line 7136 "gram.y" { - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(4) - (4)].range); (yyval.range)->istemp = true; } break; case 1093: + +/* Line 1455 of yacc.c */ #line 7141 "gram.y" { - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(4) - (4)].range); (yyval.range)->istemp = true; } break; case 1094: + +/* Line 1455 of yacc.c */ #line 7146 "gram.y" { - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(2) - (2)].range); (yyval.range)->istemp = false; } break; case 1095: + +/* Line 1455 of yacc.c */ #line 7151 "gram.y" { - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(1) - (1)].range); (yyval.range)->istemp = false; } break; case 1096: + +/* Line 1455 of yacc.c */ #line 7157 "gram.y" {} break; case 1097: + +/* Line 1455 of yacc.c */ #line 7158 "gram.y" {} break; case 1098: + +/* Line 1455 of yacc.c */ #line 7161 "gram.y" { (yyval.boolean) = TRUE; } break; case 1099: + +/* Line 1455 of yacc.c */ #line 7162 "gram.y" { (yyval.boolean) = FALSE; } break; case 1100: + +/* Line 1455 of yacc.c */ #line 7163 "gram.y" { (yyval.boolean) = FALSE; } break; case 1101: + +/* Line 1455 of yacc.c */ #line 7170 "gram.y" { (yyval.list) = list_make1(NIL); } break; case 1102: + +/* Line 1455 of yacc.c */ #line 7171 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(4) - (5)].list); } break; case 1103: + +/* Line 1455 of yacc.c */ #line 7172 "gram.y" { (yyval.list) = NIL; } break; case 1104: + +/* Line 1455 of yacc.c */ #line 7173 "gram.y" { (yyval.list) = NIL; } break; case 1105: + +/* Line 1455 of yacc.c */ #line 7177 "gram.y" - { (yyval.list) = (yyvsp[0].list);} + { (yyval.list) = (yyvsp[(1) - (1)].list);} break; case 1106: + +/* Line 1455 of yacc.c */ #line 7178 "gram.y" { (yyval.list) = NIL; } break; case 1107: + +/* Line 1455 of yacc.c */ #line 7182 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(3) - (3)].list); } break; case 1108: + +/* Line 1455 of yacc.c */ #line 7186 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].sortby)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].sortby)); } break; case 1109: + +/* Line 1455 of yacc.c */ #line 7187 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].sortby)); } break; case 1110: + +/* Line 1455 of yacc.c */ #line 7191 "gram.y" { (yyval.sortby) = makeNode(SortBy); - (yyval.sortby)->node = (yyvsp[-3].node); + (yyval.sortby)->node = (yyvsp[(1) - (4)].node); (yyval.sortby)->sortby_dir = SORTBY_USING; - (yyval.sortby)->sortby_nulls = (yyvsp[0].ival); - (yyval.sortby)->useOp = (yyvsp[-1].list); - (yyval.sortby)->location = (yylsp[-1]); + (yyval.sortby)->sortby_nulls = (yyvsp[(4) - (4)].ival); + (yyval.sortby)->useOp = (yyvsp[(3) - (4)].list); + (yyval.sortby)->location = (yylsp[(3) - (4)]); } break; case 1111: + +/* Line 1455 of yacc.c */ #line 7200 "gram.y" { (yyval.sortby) = makeNode(SortBy); - (yyval.sortby)->node = (yyvsp[-2].node); - (yyval.sortby)->sortby_dir = (yyvsp[-1].ival); - (yyval.sortby)->sortby_nulls = (yyvsp[0].ival); + (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)->useOp = NIL; (yyval.sortby)->location = -1; /* no operator */ } break; case 1112: + +/* Line 1455 of yacc.c */ #line 7213 "gram.y" - { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); } + { (yyval.list) = list_make2((yyvsp[(4) - (4)].node), (yyvsp[(2) - (4)].node)); } break; case 1113: + +/* Line 1455 of yacc.c */ #line 7215 "gram.y" - { (yyval.list) = list_make2((yyvsp[-2].node), (yyvsp[0].node)); } + { (yyval.list) = list_make2((yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); } break; case 1114: + +/* Line 1455 of yacc.c */ #line 7217 "gram.y" - { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); } + { (yyval.list) = list_make2(NULL, (yyvsp[(2) - (2)].node)); } break; case 1115: + +/* Line 1455 of yacc.c */ #line 7219 "gram.y" - { (yyval.list) = list_make2((yyvsp[0].node), NULL); } + { (yyval.list) = list_make2((yyvsp[(2) - (2)].node), NULL); } break; case 1116: + +/* Line 1455 of yacc.c */ #line 7221 "gram.y" { /* Disabled because it was too confusing, bjm 2002-02-18 */ @@ -24361,286 +26584,374 @@ yyreduce: (errcode(ERRCODE_SYNTAX_ERROR), errmsg("LIMIT #,# syntax is not supported"), errhint("Use separate LIMIT and OFFSET clauses."), - scanner_errposition((yylsp[-3])))); + scanner_errposition((yylsp[(1) - (4)])))); } break; case 1117: + +/* Line 1455 of yacc.c */ #line 7231 "gram.y" - { (yyval.list) = list_make2((yyvsp[-1].node), NULL); } + { (yyval.list) = list_make2((yyvsp[(2) - (3)].node), NULL); } break; case 1118: + +/* Line 1455 of yacc.c */ #line 7233 "gram.y" - { (yyval.list) = list_make2(NULL, (yyvsp[-2].node)); } + { (yyval.list) = list_make2(NULL, (yyvsp[(3) - (5)].node)); } break; case 1119: + +/* Line 1455 of yacc.c */ #line 7235 "gram.y" - { (yyval.list) = list_make2((yyvsp[-6].node), (yyvsp[-2].node)); } + { (yyval.list) = list_make2((yyvsp[(2) - (8)].node), (yyvsp[(6) - (8)].node)); } break; case 1120: + +/* Line 1455 of yacc.c */ #line 7239 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 1121: + +/* Line 1455 of yacc.c */ #line 7241 "gram.y" { (yyval.list) = list_make2(NULL,NULL); } break; case 1122: + +/* Line 1455 of yacc.c */ #line 7245 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1123: + +/* Line 1455 of yacc.c */ #line 7247 "gram.y" { /* LIMIT ALL is represented as a NULL constant */ - (yyval.node) = makeNullAConst((yylsp[0])); + (yyval.node) = makeNullAConst((yylsp[(1) - (1)])); } break; case 1124: + +/* Line 1455 of yacc.c */ #line 7259 "gram.y" - { (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0])); } + { (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); } break; case 1125: + +/* Line 1455 of yacc.c */ #line 7260 "gram.y" - { (yyval.node) = (yyvsp[-1].node); } + { (yyval.node) = (yyvsp[(2) - (3)].node); } break; case 1126: + +/* Line 1455 of yacc.c */ #line 7261 "gram.y" { (yyval.node) = makeIntConst(1, -1); } break; case 1127: + +/* Line 1455 of yacc.c */ #line 7265 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1128: + +/* Line 1455 of yacc.c */ #line 7273 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1129: + +/* Line 1455 of yacc.c */ #line 7278 "gram.y" { (yyval.ival) = 0; } break; case 1130: + +/* Line 1455 of yacc.c */ #line 7279 "gram.y" { (yyval.ival) = 0; } break; case 1131: + +/* Line 1455 of yacc.c */ #line 7284 "gram.y" { (yyval.ival) = 0; } break; case 1132: + +/* Line 1455 of yacc.c */ #line 7285 "gram.y" { (yyval.ival) = 0; } break; case 1133: + +/* Line 1455 of yacc.c */ #line 7289 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(3) - (3)].list); } break; case 1134: + +/* Line 1455 of yacc.c */ #line 7290 "gram.y" { (yyval.list) = NIL; } break; case 1135: + +/* Line 1455 of yacc.c */ #line 7294 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 1136: + +/* Line 1455 of yacc.c */ #line 7295 "gram.y" { (yyval.node) = NULL; } break; case 1137: + +/* Line 1455 of yacc.c */ #line 7299 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 1138: + +/* Line 1455 of yacc.c */ #line 7300 "gram.y" { (yyval.list) = NIL; } break; case 1139: + +/* Line 1455 of yacc.c */ #line 7304 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 1140: + +/* Line 1455 of yacc.c */ #line 7305 "gram.y" { (yyval.list) = NIL; } break; case 1141: + +/* Line 1455 of yacc.c */ #line 7309 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 1142: + +/* Line 1455 of yacc.c */ #line 7310 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); } break; case 1143: + +/* Line 1455 of yacc.c */ #line 7315 "gram.y" { LockingClause *n = makeNode(LockingClause); - n->lockedRels = (yyvsp[-1].list); + n->lockedRels = (yyvsp[(3) - (4)].list); n->forUpdate = TRUE; - n->noWait = (yyvsp[0].boolean); + n->noWait = (yyvsp[(4) - (4)].boolean); (yyval.node) = (Node *) n; } break; case 1144: + +/* Line 1455 of yacc.c */ #line 7323 "gram.y" { LockingClause *n = makeNode(LockingClause); - n->lockedRels = (yyvsp[-1].list); + n->lockedRels = (yyvsp[(3) - (4)].list); n->forUpdate = FALSE; - n->noWait = (yyvsp[0].boolean); + n->noWait = (yyvsp[(4) - (4)].boolean); (yyval.node) = (Node *) n; } break; case 1145: + +/* Line 1455 of yacc.c */ #line 7333 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 1146: + +/* Line 1455 of yacc.c */ #line 7334 "gram.y" { (yyval.list) = NIL; } break; case 1147: + +/* Line 1455 of yacc.c */ #line 7340 "gram.y" { SelectStmt *n = makeNode(SelectStmt); - n->valuesLists = list_make1((yyvsp[0].list)); + n->valuesLists = list_make1((yyvsp[(2) - (2)].list)); (yyval.node) = (Node *) n; } break; case 1148: + +/* Line 1455 of yacc.c */ #line 7346 "gram.y" { - SelectStmt *n = (SelectStmt *) (yyvsp[-2].node); - n->valuesLists = lappend(n->valuesLists, (yyvsp[0].list)); + SelectStmt *n = (SelectStmt *) (yyvsp[(1) - (3)].node); + n->valuesLists = lappend(n->valuesLists, (yyvsp[(3) - (3)].list)); (yyval.node) = (Node *) n; } break; case 1149: + +/* Line 1455 of yacc.c */ #line 7363 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 1150: + +/* Line 1455 of yacc.c */ #line 7364 "gram.y" { (yyval.list) = NIL; } break; case 1151: + +/* Line 1455 of yacc.c */ #line 7368 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 1152: + +/* Line 1455 of yacc.c */ #line 7369 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 1153: + +/* Line 1455 of yacc.c */ #line 7380 "gram.y" { - (yyval.node) = (Node *) (yyvsp[0].range); + (yyval.node) = (Node *) (yyvsp[(1) - (1)].range); } break; case 1154: + +/* Line 1455 of yacc.c */ #line 7384 "gram.y" { - (yyvsp[-1].range)->alias = (yyvsp[0].alias); - (yyval.node) = (Node *) (yyvsp[-1].range); + (yyvsp[(1) - (2)].range)->alias = (yyvsp[(2) - (2)].alias); + (yyval.node) = (Node *) (yyvsp[(1) - (2)].range); } break; case 1155: + +/* Line 1455 of yacc.c */ #line 7389 "gram.y" { RangeFunction *n = makeNode(RangeFunction); - n->funccallnode = (yyvsp[0].node); + n->funccallnode = (yyvsp[(1) - (1)].node); n->coldeflist = NIL; (yyval.node) = (Node *) n; } break; case 1156: + +/* Line 1455 of yacc.c */ #line 7396 "gram.y" { RangeFunction *n = makeNode(RangeFunction); - n->funccallnode = (yyvsp[-1].node); - n->alias = (yyvsp[0].alias); + n->funccallnode = (yyvsp[(1) - (2)].node); + n->alias = (yyvsp[(2) - (2)].alias); n->coldeflist = NIL; (yyval.node) = (Node *) n; } break; case 1157: + +/* Line 1455 of yacc.c */ #line 7404 "gram.y" { RangeFunction *n = makeNode(RangeFunction); - n->funccallnode = (yyvsp[-4].node); - n->coldeflist = (yyvsp[-1].list); + n->funccallnode = (yyvsp[(1) - (5)].node); + n->coldeflist = (yyvsp[(4) - (5)].list); (yyval.node) = (Node *) n; } break; case 1158: + +/* Line 1455 of yacc.c */ #line 7411 "gram.y" { RangeFunction *n = makeNode(RangeFunction); Alias *a = makeNode(Alias); - n->funccallnode = (yyvsp[-5].node); - a->aliasname = (yyvsp[-3].str); + n->funccallnode = (yyvsp[(1) - (6)].node); + a->aliasname = (yyvsp[(3) - (6)].str); n->alias = a; - n->coldeflist = (yyvsp[-1].list); + n->coldeflist = (yyvsp[(5) - (6)].list); (yyval.node) = (Node *) n; } break; case 1159: + +/* Line 1455 of yacc.c */ #line 7421 "gram.y" { RangeFunction *n = makeNode(RangeFunction); Alias *a = makeNode(Alias); - n->funccallnode = (yyvsp[-4].node); - a->aliasname = (yyvsp[-3].str); + n->funccallnode = (yyvsp[(1) - (5)].node); + a->aliasname = (yyvsp[(2) - (5)].str); n->alias = a; - n->coldeflist = (yyvsp[-1].list); + n->coldeflist = (yyvsp[(4) - (5)].list); (yyval.node) = (Node *) n; } break; case 1160: + +/* Line 1455 of yacc.c */ #line 7431 "gram.y" { /* @@ -24654,64 +26965,74 @@ yyreduce: * However, it does seem like a good idea to emit * an error message that's better than "syntax error". */ - if (IsA((yyvsp[0].node), SelectStmt) && - ((SelectStmt *) (yyvsp[0].node))->valuesLists) + if (IsA((yyvsp[(1) - (1)].node), SelectStmt) && + ((SelectStmt *) (yyvsp[(1) - (1)].node))->valuesLists) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("VALUES in FROM must have an alias"), errhint("For example, FROM (VALUES ...) [AS] foo."), - scanner_errposition((yylsp[0])))); + scanner_errposition((yylsp[(1) - (1)])))); else ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("subquery in FROM must have an alias"), errhint("For example, FROM (SELECT ...) [AS] foo."), - scanner_errposition((yylsp[0])))); + scanner_errposition((yylsp[(1) - (1)])))); (yyval.node) = NULL; } break; case 1161: + +/* Line 1455 of yacc.c */ #line 7459 "gram.y" { RangeSubselect *n = makeNode(RangeSubselect); - n->subquery = (yyvsp[-1].node); - n->alias = (yyvsp[0].alias); + n->subquery = (yyvsp[(1) - (2)].node); + n->alias = (yyvsp[(2) - (2)].alias); (yyval.node) = (Node *) n; } break; case 1162: + +/* Line 1455 of yacc.c */ #line 7466 "gram.y" { - (yyval.node) = (Node *) (yyvsp[0].jexpr); + (yyval.node) = (Node *) (yyvsp[(1) - (1)].jexpr); } break; case 1163: + +/* Line 1455 of yacc.c */ #line 7470 "gram.y" { - (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias); - (yyval.node) = (Node *) (yyvsp[-2].jexpr); + (yyvsp[(2) - (4)].jexpr)->alias = (yyvsp[(4) - (4)].alias); + (yyval.node) = (Node *) (yyvsp[(2) - (4)].jexpr); } break; case 1164: + +/* Line 1455 of yacc.c */ #line 7496 "gram.y" { - (yyval.jexpr) = (yyvsp[-1].jexpr); + (yyval.jexpr) = (yyvsp[(2) - (3)].jexpr); } break; case 1165: + +/* Line 1455 of yacc.c */ #line 7500 "gram.y" { /* CROSS JOIN is same as unqualified inner join */ JoinExpr *n = makeNode(JoinExpr); n->jointype = JOIN_INNER; n->isNatural = FALSE; - n->larg = (yyvsp[-3].node); - n->rarg = (yyvsp[0].node); + n->larg = (yyvsp[(1) - (4)].node); + n->rarg = (yyvsp[(4) - (4)].node); n->using = NIL; n->quals = NULL; (yyval.jexpr) = n; @@ -24719,46 +27040,52 @@ yyreduce: break; case 1166: + +/* Line 1455 of yacc.c */ #line 7512 "gram.y" { JoinExpr *n = makeNode(JoinExpr); - n->jointype = (yyvsp[-3].jtype); + n->jointype = (yyvsp[(2) - (5)].jtype); n->isNatural = FALSE; - n->larg = (yyvsp[-4].node); - n->rarg = (yyvsp[-1].node); - if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List)) - n->using = (List *) (yyvsp[0].node); /* USING clause */ + 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->using = (List *) (yyvsp[(5) - (5)].node); /* USING clause */ else - n->quals = (yyvsp[0].node); /* ON clause */ + n->quals = (yyvsp[(5) - (5)].node); /* ON clause */ (yyval.jexpr) = n; } break; case 1167: + +/* Line 1455 of yacc.c */ #line 7525 "gram.y" { /* letting join_type reduce to empty doesn't work */ JoinExpr *n = makeNode(JoinExpr); n->jointype = JOIN_INNER; n->isNatural = FALSE; - n->larg = (yyvsp[-3].node); - n->rarg = (yyvsp[-1].node); - if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List)) - n->using = (List *) (yyvsp[0].node); /* USING clause */ + 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->using = (List *) (yyvsp[(4) - (4)].node); /* USING clause */ else - n->quals = (yyvsp[0].node); /* ON clause */ + n->quals = (yyvsp[(4) - (4)].node); /* ON clause */ (yyval.jexpr) = n; } break; case 1168: + +/* Line 1455 of yacc.c */ #line 7539 "gram.y" { JoinExpr *n = makeNode(JoinExpr); - n->jointype = (yyvsp[-2].jtype); + n->jointype = (yyvsp[(3) - (5)].jtype); n->isNatural = TRUE; - n->larg = (yyvsp[-4].node); - n->rarg = (yyvsp[0].node); + n->larg = (yyvsp[(1) - (5)].node); + n->rarg = (yyvsp[(5) - (5)].node); n->using = NIL; /* figure out which columns later... */ n->quals = NULL; /* fill later */ (yyval.jexpr) = n; @@ -24766,14 +27093,16 @@ yyreduce: break; case 1169: + +/* Line 1455 of yacc.c */ #line 7550 "gram.y" { /* letting join_type reduce to empty doesn't work */ JoinExpr *n = makeNode(JoinExpr); n->jointype = JOIN_INNER; n->isNatural = TRUE; - n->larg = (yyvsp[-3].node); - n->rarg = (yyvsp[0].node); + n->larg = (yyvsp[(1) - (4)].node); + n->rarg = (yyvsp[(4) - (4)].node); n->using = NIL; /* figure out which columns later... */ n->quals = NULL; /* fill later */ (yyval.jexpr) = n; @@ -24781,223 +27110,285 @@ yyreduce: break; case 1170: + +/* Line 1455 of yacc.c */ #line 7565 "gram.y" { (yyval.alias) = makeNode(Alias); - (yyval.alias)->aliasname = (yyvsp[-3].str); - (yyval.alias)->colnames = (yyvsp[-1].list); + (yyval.alias)->aliasname = (yyvsp[(2) - (5)].str); + (yyval.alias)->colnames = (yyvsp[(4) - (5)].list); } break; case 1171: + +/* Line 1455 of yacc.c */ #line 7571 "gram.y" { (yyval.alias) = makeNode(Alias); - (yyval.alias)->aliasname = (yyvsp[0].str); + (yyval.alias)->aliasname = (yyvsp[(2) - (2)].str); } break; case 1172: + +/* Line 1455 of yacc.c */ #line 7576 "gram.y" { (yyval.alias) = makeNode(Alias); - (yyval.alias)->aliasname = (yyvsp[-3].str); - (yyval.alias)->colnames = (yyvsp[-1].list); + (yyval.alias)->aliasname = (yyvsp[(1) - (4)].str); + (yyval.alias)->colnames = (yyvsp[(3) - (4)].list); } break; case 1173: + +/* Line 1455 of yacc.c */ #line 7582 "gram.y" { (yyval.alias) = makeNode(Alias); - (yyval.alias)->aliasname = (yyvsp[0].str); + (yyval.alias)->aliasname = (yyvsp[(1) - (1)].str); } break; case 1174: + +/* Line 1455 of yacc.c */ #line 7588 "gram.y" { (yyval.jtype) = JOIN_FULL; } break; case 1175: + +/* Line 1455 of yacc.c */ #line 7589 "gram.y" { (yyval.jtype) = JOIN_LEFT; } break; case 1176: + +/* Line 1455 of yacc.c */ #line 7590 "gram.y" { (yyval.jtype) = JOIN_RIGHT; } break; case 1177: + +/* Line 1455 of yacc.c */ #line 7591 "gram.y" { (yyval.jtype) = JOIN_INNER; } break; case 1178: + +/* Line 1455 of yacc.c */ #line 7595 "gram.y" { (yyval.node) = NULL; } break; case 1179: + +/* Line 1455 of yacc.c */ #line 7596 "gram.y" { (yyval.node) = NULL; } break; case 1180: + +/* Line 1455 of yacc.c */ #line 7608 "gram.y" - { (yyval.node) = (Node *) (yyvsp[-1].list); } + { (yyval.node) = (Node *) (yyvsp[(3) - (4)].list); } break; case 1181: + +/* Line 1455 of yacc.c */ #line 7609 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 1182: + +/* Line 1455 of yacc.c */ #line 7615 "gram.y" { /* default inheritance */ - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(1) - (1)].range); (yyval.range)->inhOpt = INH_DEFAULT; (yyval.range)->alias = NULL; } break; case 1183: + +/* Line 1455 of yacc.c */ #line 7622 "gram.y" { /* inheritance query */ - (yyval.range) = (yyvsp[-1].range); + (yyval.range) = (yyvsp[(1) - (2)].range); (yyval.range)->inhOpt = INH_YES; (yyval.range)->alias = NULL; } break; case 1184: + +/* Line 1455 of yacc.c */ #line 7629 "gram.y" { /* no inheritance */ - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(2) - (2)].range); (yyval.range)->inhOpt = INH_NO; (yyval.range)->alias = NULL; } break; case 1185: + +/* Line 1455 of yacc.c */ #line 7636 "gram.y" { /* no inheritance, SQL99-style syntax */ - (yyval.range) = (yyvsp[-1].range); + (yyval.range) = (yyvsp[(3) - (4)].range); (yyval.range)->inhOpt = INH_NO; (yyval.range)->alias = NULL; } break; case 1186: + +/* Line 1455 of yacc.c */ #line 7646 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].range)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); } break; case 1187: + +/* Line 1455 of yacc.c */ #line 7647 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); } break; case 1188: + +/* Line 1455 of yacc.c */ #line 7661 "gram.y" { - (yyval.range) = (yyvsp[0].range); + (yyval.range) = (yyvsp[(1) - (1)].range); } break; case 1189: + +/* Line 1455 of yacc.c */ #line 7665 "gram.y" { Alias *alias = makeNode(Alias); - alias->aliasname = (yyvsp[0].str); - (yyvsp[-1].range)->alias = alias; - (yyval.range) = (yyvsp[-1].range); + alias->aliasname = (yyvsp[(2) - (2)].str); + (yyvsp[(1) - (2)].range)->alias = alias; + (yyval.range) = (yyvsp[(1) - (2)].range); } break; case 1190: + +/* Line 1455 of yacc.c */ #line 7672 "gram.y" { Alias *alias = makeNode(Alias); - alias->aliasname = (yyvsp[0].str); - (yyvsp[-2].range)->alias = alias; - (yyval.range) = (yyvsp[-2].range); + alias->aliasname = (yyvsp[(3) - (3)].str); + (yyvsp[(1) - (3)].range)->alias = alias; + (yyval.range) = (yyvsp[(1) - (3)].range); } break; case 1191: + +/* Line 1455 of yacc.c */ #line 7681 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1192: + +/* Line 1455 of yacc.c */ #line 7686 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 1193: + +/* Line 1455 of yacc.c */ #line 7687 "gram.y" { (yyval.node) = NULL; } break; case 1194: + +/* Line 1455 of yacc.c */ #line 7692 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 1195: + +/* Line 1455 of yacc.c */ #line 7694 "gram.y" { CurrentOfExpr *n = makeNode(CurrentOfExpr); /* cvarno is filled in by parse analysis */ - n->cursor_name = (yyvsp[0].str); + n->cursor_name = (yyvsp[(4) - (4)].str); n->cursor_param = 0; (yyval.node) = (Node *) n; } break; case 1196: + +/* Line 1455 of yacc.c */ #line 7702 "gram.y" { CurrentOfExpr *n = makeNode(CurrentOfExpr); /* cvarno is filled in by parse analysis */ n->cursor_name = NULL; - n->cursor_param = (yyvsp[0].ival); + n->cursor_param = (yyvsp[(4) - (4)].ival); (yyval.node) = (Node *) n; } break; case 1197: + +/* Line 1455 of yacc.c */ #line 7709 "gram.y" { (yyval.node) = NULL; } break; case 1198: + +/* Line 1455 of yacc.c */ #line 7715 "gram.y" { - (yyval.list) = list_make1((yyvsp[0].node)); + (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 1199: + +/* Line 1455 of yacc.c */ #line 7719 "gram.y" { - (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); + (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 1200: + +/* Line 1455 of yacc.c */ #line 7725 "gram.y" { ColumnDef *n = makeNode(ColumnDef); - n->colname = (yyvsp[-1].str); - n->typename = (yyvsp[0].typnam); + n->colname = (yyvsp[(1) - (2)].str); + n->typename = (yyvsp[(2) - (2)].typnam); n->constraints = NIL; n->is_local = true; (yyval.node) = (Node *)n; @@ -25005,287 +27396,361 @@ yyreduce: break; case 1201: + +/* Line 1455 of yacc.c */ #line 7746 "gram.y" { - (yyval.typnam) = (yyvsp[-1].typnam); - (yyval.typnam)->arrayBounds = (yyvsp[0].list); + (yyval.typnam) = (yyvsp[(1) - (2)].typnam); + (yyval.typnam)->arrayBounds = (yyvsp[(2) - (2)].list); } break; case 1202: + +/* Line 1455 of yacc.c */ #line 7751 "gram.y" { - (yyval.typnam) = (yyvsp[-1].typnam); - (yyval.typnam)->arrayBounds = (yyvsp[0].list); + (yyval.typnam) = (yyvsp[(2) - (3)].typnam); + (yyval.typnam)->arrayBounds = (yyvsp[(3) - (3)].list); (yyval.typnam)->setof = TRUE; } break; case 1203: + +/* Line 1455 of yacc.c */ #line 7758 "gram.y" { - (yyval.typnam) = (yyvsp[-4].typnam); - (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival))); + (yyval.typnam) = (yyvsp[(1) - (5)].typnam); + (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(4) - (5)].ival))); } break; case 1204: + +/* Line 1455 of yacc.c */ #line 7763 "gram.y" { - (yyval.typnam) = (yyvsp[-4].typnam); - (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival))); + (yyval.typnam) = (yyvsp[(2) - (6)].typnam); + (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(5) - (6)].ival))); (yyval.typnam)->setof = TRUE; } break; case 1205: + +/* Line 1455 of yacc.c */ #line 7769 "gram.y" { - (yyval.typnam) = (yyvsp[-1].typnam); + (yyval.typnam) = (yyvsp[(1) - (2)].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1)); } break; case 1206: + +/* Line 1455 of yacc.c */ #line 7774 "gram.y" { - (yyval.typnam) = (yyvsp[-1].typnam); + (yyval.typnam) = (yyvsp[(2) - (3)].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1)); (yyval.typnam)->setof = TRUE; } break; case 1207: + +/* Line 1455 of yacc.c */ #line 7783 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeInteger(-1)); } break; case 1208: + +/* Line 1455 of yacc.c */ #line 7785 "gram.y" - { (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); } + { (yyval.list) = lappend((yyvsp[(1) - (4)].list), makeInteger((yyvsp[(3) - (4)].ival))); } break; case 1209: + +/* Line 1455 of yacc.c */ #line 7787 "gram.y" { (yyval.list) = NIL; } break; case 1210: + +/* Line 1455 of yacc.c */ #line 7791 "gram.y" - { (yyval.typnam) = (yyvsp[0].typnam); } + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1211: + +/* Line 1455 of yacc.c */ #line 7792 "gram.y" - { (yyval.typnam) = (yyvsp[0].typnam); } + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1212: + +/* Line 1455 of yacc.c */ #line 7793 "gram.y" - { (yyval.typnam) = (yyvsp[0].typnam); } + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1213: + +/* Line 1455 of yacc.c */ #line 7794 "gram.y" - { (yyval.typnam) = (yyvsp[0].typnam); } + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1214: + +/* Line 1455 of yacc.c */ #line 7795 "gram.y" - { (yyval.typnam) = (yyvsp[0].typnam); } + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1215: + +/* Line 1455 of yacc.c */ #line 7797 "gram.y" { - (yyval.typnam) = (yyvsp[-1].typnam); - (yyval.typnam)->typmods = (yyvsp[0].list); + (yyval.typnam) = (yyvsp[(1) - (2)].typnam); + (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); } break; case 1216: + +/* Line 1455 of yacc.c */ #line 7802 "gram.y" { - (yyval.typnam) = (yyvsp[-4].typnam); - if ((yyvsp[0].list) != NIL) + (yyval.typnam) = (yyvsp[(1) - (5)].typnam); + if ((yyvsp[(5) - (5)].list) != NIL) { - if (list_length((yyvsp[0].list)) != 1) + if (list_length((yyvsp[(5) - (5)].list)) != 1) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("interval precision specified twice"), - scanner_errposition((yylsp[-4])))); - (yyval.typnam)->typmods = lappend((yyvsp[0].list), makeIntConst((yyvsp[-2].ival), (yylsp[-2]))); + scanner_errposition((yylsp[(1) - (5)])))); + (yyval.typnam)->typmods = lappend((yyvsp[(5) - (5)].list), makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)]))); } else (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1), - makeIntConst((yyvsp[-2].ival), (yylsp[-2]))); + makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)]))); } break; case 1217: + +/* Line 1455 of yacc.c */ #line 7831 "gram.y" - { (yyval.typnam) = (yyvsp[0].typnam); } + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1218: + +/* Line 1455 of yacc.c */ #line 7832 "gram.y" - { (yyval.typnam) = (yyvsp[0].typnam); } + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1219: + +/* Line 1455 of yacc.c */ #line 7833 "gram.y" - { (yyval.typnam) = (yyvsp[0].typnam); } + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1220: + +/* Line 1455 of yacc.c */ #line 7834 "gram.y" - { (yyval.typnam) = (yyvsp[0].typnam); } + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1221: + +/* Line 1455 of yacc.c */ #line 7846 "gram.y" { - (yyval.typnam) = makeTypeName((yyvsp[-1].str)); - (yyval.typnam)->typmods = (yyvsp[0].list); - (yyval.typnam)->location = (yylsp[-1]); + (yyval.typnam) = makeTypeName((yyvsp[(1) - (2)].str)); + (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); + (yyval.typnam)->location = (yylsp[(1) - (2)]); } break; case 1222: + +/* Line 1455 of yacc.c */ #line 7852 "gram.y" { - (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list))); - (yyval.typnam)->typmods = (yyvsp[0].list); - (yyval.typnam)->location = (yylsp[-2]); + (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)]); } break; case 1223: + +/* Line 1455 of yacc.c */ #line 7859 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 1224: + +/* Line 1455 of yacc.c */ #line 7860 "gram.y" { (yyval.list) = NIL; } break; case 1225: + +/* Line 1455 of yacc.c */ #line 7867 "gram.y" { (yyval.typnam) = SystemTypeName("int4"); - (yyval.typnam)->location = (yylsp[0]); + (yyval.typnam)->location = (yylsp[(1) - (1)]); } break; case 1226: + +/* Line 1455 of yacc.c */ #line 7872 "gram.y" { (yyval.typnam) = SystemTypeName("int4"); - (yyval.typnam)->location = (yylsp[0]); + (yyval.typnam)->location = (yylsp[(1) - (1)]); } break; case 1227: + +/* Line 1455 of yacc.c */ #line 7877 "gram.y" { (yyval.typnam) = SystemTypeName("int2"); - (yyval.typnam)->location = (yylsp[0]); + (yyval.typnam)->location = (yylsp[(1) - (1)]); } break; case 1228: + +/* Line 1455 of yacc.c */ #line 7882 "gram.y" { (yyval.typnam) = SystemTypeName("int8"); - (yyval.typnam)->location = (yylsp[0]); + (yyval.typnam)->location = (yylsp[(1) - (1)]); } break; case 1229: + +/* Line 1455 of yacc.c */ #line 7887 "gram.y" { (yyval.typnam) = SystemTypeName("float4"); - (yyval.typnam)->location = (yylsp[0]); + (yyval.typnam)->location = (yylsp[(1) - (1)]); } break; case 1230: + +/* Line 1455 of yacc.c */ #line 7892 "gram.y" { - (yyval.typnam) = (yyvsp[0].typnam); - (yyval.typnam)->location = (yylsp[-1]); + (yyval.typnam) = (yyvsp[(2) - (2)].typnam); + (yyval.typnam)->location = (yylsp[(1) - (2)]); } break; case 1231: + +/* Line 1455 of yacc.c */ #line 7897 "gram.y" { (yyval.typnam) = SystemTypeName("float8"); - (yyval.typnam)->location = (yylsp[-1]); + (yyval.typnam)->location = (yylsp[(1) - (2)]); } break; case 1232: + +/* Line 1455 of yacc.c */ #line 7902 "gram.y" { (yyval.typnam) = SystemTypeName("numeric"); - (yyval.typnam)->typmods = (yyvsp[0].list); - (yyval.typnam)->location = (yylsp[-1]); + (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); + (yyval.typnam)->location = (yylsp[(1) - (2)]); } break; case 1233: + +/* Line 1455 of yacc.c */ #line 7908 "gram.y" { (yyval.typnam) = SystemTypeName("numeric"); - (yyval.typnam)->typmods = (yyvsp[0].list); - (yyval.typnam)->location = (yylsp[-1]); + (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); + (yyval.typnam)->location = (yylsp[(1) - (2)]); } break; case 1234: + +/* Line 1455 of yacc.c */ #line 7914 "gram.y" { (yyval.typnam) = SystemTypeName("numeric"); - (yyval.typnam)->typmods = (yyvsp[0].list); - (yyval.typnam)->location = (yylsp[-1]); + (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); + (yyval.typnam)->location = (yylsp[(1) - (2)]); } break; case 1235: + +/* Line 1455 of yacc.c */ #line 7920 "gram.y" { (yyval.typnam) = SystemTypeName("bool"); - (yyval.typnam)->location = (yylsp[0]); + (yyval.typnam)->location = (yylsp[(1) - (1)]); } break; case 1236: + +/* Line 1455 of yacc.c */ #line 7927 "gram.y" { /* * Check FLOAT() precision limits assuming IEEE floating * types - thomas 1997-09-18 */ - if ((yyvsp[-1].ival) < 1) + if ((yyvsp[(2) - (3)].ival) < 1) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("precision for type float must be at least 1 bit"), - scanner_errposition((yylsp[-1])))); - else if ((yyvsp[-1].ival) <= 24) + scanner_errposition((yylsp[(2) - (3)])))); + else if ((yyvsp[(2) - (3)].ival) <= 24) (yyval.typnam) = SystemTypeName("float4"); - else if ((yyvsp[-1].ival) <= 53) + else if ((yyvsp[(2) - (3)].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"), - scanner_errposition((yylsp[-1])))); + scanner_errposition((yylsp[(2) - (3)])))); } break; case 1237: + +/* Line 1455 of yacc.c */ #line 7948 "gram.y" { (yyval.typnam) = SystemTypeName("float8"); @@ -25293,51 +27758,63 @@ yyreduce: break; case 1238: + +/* Line 1455 of yacc.c */ #line 7958 "gram.y" { - (yyval.typnam) = (yyvsp[0].typnam); + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1239: + +/* Line 1455 of yacc.c */ #line 7962 "gram.y" { - (yyval.typnam) = (yyvsp[0].typnam); + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1240: + +/* Line 1455 of yacc.c */ #line 7970 "gram.y" { - (yyval.typnam) = (yyvsp[0].typnam); + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1241: + +/* Line 1455 of yacc.c */ #line 7974 "gram.y" { - (yyval.typnam) = (yyvsp[0].typnam); + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); (yyval.typnam)->typmods = NIL; } break; case 1242: + +/* Line 1455 of yacc.c */ #line 7982 "gram.y" { char *typname; - typname = (yyvsp[-3].boolean) ? "varbit" : "bit"; + typname = (yyvsp[(2) - (5)].boolean) ? "varbit" : "bit"; (yyval.typnam) = SystemTypeName(typname); - (yyval.typnam)->typmods = (yyvsp[-1].list); - (yyval.typnam)->location = (yylsp[-4]); + (yyval.typnam)->typmods = (yyvsp[(4) - (5)].list); + (yyval.typnam)->location = (yylsp[(1) - (5)]); } break; case 1243: + +/* Line 1455 of yacc.c */ #line 7994 "gram.y" { /* bit defaults to bit(1), varbit to no limit */ - if ((yyvsp[0].boolean)) + if ((yyvsp[(2) - (2)].boolean)) { (yyval.typnam) = SystemTypeName("varbit"); } @@ -25346,32 +27823,40 @@ yyreduce: (yyval.typnam) = SystemTypeName("bit"); (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1)); } - (yyval.typnam)->location = (yylsp[-1]); + (yyval.typnam)->location = (yylsp[(1) - (2)]); } break; case 1244: + +/* Line 1455 of yacc.c */ #line 8015 "gram.y" { - (yyval.typnam) = (yyvsp[0].typnam); + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1245: + +/* Line 1455 of yacc.c */ #line 8019 "gram.y" { - (yyval.typnam) = (yyvsp[0].typnam); + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1246: + +/* Line 1455 of yacc.c */ #line 8025 "gram.y" { - (yyval.typnam) = (yyvsp[0].typnam); + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); } break; case 1247: + +/* Line 1455 of yacc.c */ #line 8029 "gram.y" { /* Length was not specified so allow to be unrestricted. @@ -25380,798 +27865,982 @@ yyreduce: * of one, but should not be constrained if the length * was not specified. */ - (yyval.typnam) = (yyvsp[0].typnam); + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); (yyval.typnam)->typmods = NIL; } break; case 1248: + +/* Line 1455 of yacc.c */ #line 8042 "gram.y" { - if (((yyvsp[0].str) != NULL) && (strcmp((yyvsp[0].str), "sql_text") != 0)) + if (((yyvsp[(5) - (5)].str) != NULL) && (strcmp((yyvsp[(5) - (5)].str), "sql_text") != 0)) { char *type; - type = palloc(strlen((yyvsp[-4].str)) + 1 + strlen((yyvsp[0].str)) + 1); - strcpy(type, (yyvsp[-4].str)); + type = palloc(strlen((yyvsp[(1) - (5)].str)) + 1 + strlen((yyvsp[(5) - (5)].str)) + 1); + strcpy(type, (yyvsp[(1) - (5)].str)); strcat(type, "_"); - strcat(type, (yyvsp[0].str)); - (yyvsp[-4].str) = type; + strcat(type, (yyvsp[(5) - (5)].str)); + (yyvsp[(1) - (5)].str) = type; } - (yyval.typnam) = SystemTypeName((yyvsp[-4].str)); - (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2]))); - (yyval.typnam)->location = (yylsp[-4]); + (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)]); } break; case 1249: + +/* Line 1455 of yacc.c */ #line 8061 "gram.y" { - if (((yyvsp[0].str) != NULL) && (strcmp((yyvsp[0].str), "sql_text") != 0)) + if (((yyvsp[(2) - (2)].str) != NULL) && (strcmp((yyvsp[(2) - (2)].str), "sql_text") != 0)) { char *type; - type = palloc(strlen((yyvsp[-1].str)) + 1 + strlen((yyvsp[0].str)) + 1); - strcpy(type, (yyvsp[-1].str)); + type = palloc(strlen((yyvsp[(1) - (2)].str)) + 1 + strlen((yyvsp[(2) - (2)].str)) + 1); + strcpy(type, (yyvsp[(1) - (2)].str)); strcat(type, "_"); - strcat(type, (yyvsp[0].str)); - (yyvsp[-1].str) = type; + strcat(type, (yyvsp[(2) - (2)].str)); + (yyvsp[(1) - (2)].str) = type; } - (yyval.typnam) = SystemTypeName((yyvsp[-1].str)); + (yyval.typnam) = SystemTypeName((yyvsp[(1) - (2)].str)); /* char defaults to char(1), varchar to no limit */ - if (strcmp((yyvsp[-1].str), "char") == 0) + if (strcmp((yyvsp[(1) - (2)].str), "char") == 0) (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1)); - (yyval.typnam)->location = (yylsp[-1]); + (yyval.typnam)->location = (yylsp[(1) - (2)]); } break; case 1250: + +/* Line 1455 of yacc.c */ #line 8084 "gram.y" - { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "char"; } + { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "char"; } break; case 1251: + +/* Line 1455 of yacc.c */ #line 8086 "gram.y" - { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "char"; } + { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "char"; } break; case 1252: + +/* Line 1455 of yacc.c */ #line 8088 "gram.y" { (yyval.str) = "varchar"; } break; case 1253: + +/* Line 1455 of yacc.c */ #line 8090 "gram.y" - { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "char"; } + { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "char"; } break; case 1254: + +/* Line 1455 of yacc.c */ #line 8092 "gram.y" - { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "char"; } + { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "char"; } break; case 1255: + +/* Line 1455 of yacc.c */ #line 8094 "gram.y" - { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "char"; } + { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "char"; } break; case 1256: + +/* Line 1455 of yacc.c */ #line 8098 "gram.y" { (yyval.boolean) = TRUE; } break; case 1257: + +/* Line 1455 of yacc.c */ #line 8099 "gram.y" { (yyval.boolean) = FALSE; } break; case 1258: + +/* Line 1455 of yacc.c */ #line 8103 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(3) - (3)].str); } break; case 1259: + +/* Line 1455 of yacc.c */ #line 8104 "gram.y" { (yyval.str) = NULL; } break; case 1260: + +/* Line 1455 of yacc.c */ #line 8112 "gram.y" { - if ((yyvsp[0].boolean)) + if ((yyvsp[(5) - (5)].boolean)) (yyval.typnam) = SystemTypeName("timestamptz"); else (yyval.typnam) = SystemTypeName("timestamp"); - (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2]))); - (yyval.typnam)->location = (yylsp[-4]); + (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)]))); + (yyval.typnam)->location = (yylsp[(1) - (5)]); } break; case 1261: + +/* Line 1455 of yacc.c */ #line 8121 "gram.y" { - if ((yyvsp[0].boolean)) + if ((yyvsp[(2) - (2)].boolean)) (yyval.typnam) = SystemTypeName("timestamptz"); else (yyval.typnam) = SystemTypeName("timestamp"); - (yyval.typnam)->location = (yylsp[-1]); + (yyval.typnam)->location = (yylsp[(1) - (2)]); } break; case 1262: + +/* Line 1455 of yacc.c */ #line 8129 "gram.y" { - if ((yyvsp[0].boolean)) + if ((yyvsp[(5) - (5)].boolean)) (yyval.typnam) = SystemTypeName("timetz"); else (yyval.typnam) = SystemTypeName("time"); - (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2]))); - (yyval.typnam)->location = (yylsp[-4]); + (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)]))); + (yyval.typnam)->location = (yylsp[(1) - (5)]); } break; case 1263: + +/* Line 1455 of yacc.c */ #line 8138 "gram.y" { - if ((yyvsp[0].boolean)) + if ((yyvsp[(2) - (2)].boolean)) (yyval.typnam) = SystemTypeName("timetz"); else (yyval.typnam) = SystemTypeName("time"); - (yyval.typnam)->location = (yylsp[-1]); + (yyval.typnam)->location = (yylsp[(1) - (2)]); } break; case 1264: + +/* Line 1455 of yacc.c */ #line 8149 "gram.y" { (yyval.typnam) = SystemTypeName("interval"); - (yyval.typnam)->location = (yylsp[0]); + (yyval.typnam)->location = (yylsp[(1) - (1)]); } break; case 1265: + +/* Line 1455 of yacc.c */ #line 8156 "gram.y" { (yyval.boolean) = TRUE; } break; case 1266: + +/* Line 1455 of yacc.c */ #line 8157 "gram.y" { (yyval.boolean) = FALSE; } break; case 1267: + +/* Line 1455 of yacc.c */ #line 8158 "gram.y" { (yyval.boolean) = FALSE; } break; case 1268: + +/* Line 1455 of yacc.c */ #line 8163 "gram.y" - { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); } + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); } break; case 1269: + +/* Line 1455 of yacc.c */ #line 8165 "gram.y" - { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); } + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); } break; case 1270: + +/* Line 1455 of yacc.c */ #line 8167 "gram.y" - { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); } + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); } break; case 1271: + +/* Line 1455 of yacc.c */ #line 8169 "gram.y" - { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); } + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); } break; case 1272: + +/* Line 1455 of yacc.c */ #line 8171 "gram.y" - { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); } + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); } break; case 1273: + +/* Line 1455 of yacc.c */ #line 8173 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 1274: + +/* Line 1455 of yacc.c */ #line 8175 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) | - INTERVAL_MASK(MONTH), (yylsp[-2]))); + INTERVAL_MASK(MONTH), (yylsp[(1) - (3)]))); } break; case 1275: + +/* Line 1455 of yacc.c */ #line 8180 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | - INTERVAL_MASK(HOUR), (yylsp[-2]))); + INTERVAL_MASK(HOUR), (yylsp[(1) - (3)]))); } break; case 1276: + +/* Line 1455 of yacc.c */ #line 8185 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | - INTERVAL_MASK(MINUTE), (yylsp[-2]))); + INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)]))); } break; case 1277: + +/* Line 1455 of yacc.c */ #line 8191 "gram.y" { - (yyval.list) = (yyvsp[0].list); + (yyval.list) = (yyvsp[(3) - (3)].list); linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | - INTERVAL_MASK(SECOND), (yylsp[-2])); + INTERVAL_MASK(SECOND), (yylsp[(1) - (3)])); } break; case 1278: + +/* Line 1455 of yacc.c */ #line 8199 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) | - INTERVAL_MASK(MINUTE), (yylsp[-2]))); + INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)]))); } break; case 1279: + +/* Line 1455 of yacc.c */ #line 8204 "gram.y" { - (yyval.list) = (yyvsp[0].list); + (yyval.list) = (yyvsp[(3) - (3)].list); linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | - INTERVAL_MASK(SECOND), (yylsp[-2])); + INTERVAL_MASK(SECOND), (yylsp[(1) - (3)])); } break; case 1280: + +/* Line 1455 of yacc.c */ #line 8211 "gram.y" { - (yyval.list) = (yyvsp[0].list); + (yyval.list) = (yyvsp[(3) - (3)].list); linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) | - INTERVAL_MASK(SECOND), (yylsp[-2])); + INTERVAL_MASK(SECOND), (yylsp[(1) - (3)])); } break; case 1281: + +/* Line 1455 of yacc.c */ #line 8217 "gram.y" { (yyval.list) = NIL; } break; case 1282: + +/* Line 1455 of yacc.c */ #line 8222 "gram.y" { - (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0]))); + (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)]))); } break; case 1283: + +/* Line 1455 of yacc.c */ #line 8226 "gram.y" { - (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])), - makeIntConst((yyvsp[-1].ival), (yylsp[-1]))); + (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])), + makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); } break; case 1284: + +/* Line 1455 of yacc.c */ #line 8255 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1285: + +/* Line 1455 of yacc.c */ #line 8257 "gram.y" - { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); } + { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); } break; case 1286: + +/* Line 1455 of yacc.c */ #line 8259 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("timezone"); - n->args = list_make2((yyvsp[0].node), (yyvsp[-4].node)); + n->args = list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-3]); + n->location = (yylsp[(2) - (5)]); (yyval.node) = (Node *) n; } break; case 1287: + +/* Line 1455 of yacc.c */ #line 8280 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); } break; case 1288: + +/* Line 1455 of yacc.c */ #line 8282 "gram.y" - { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); } break; case 1289: + +/* Line 1455 of yacc.c */ #line 8284 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1290: + +/* Line 1455 of yacc.c */ #line 8286 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1291: + +/* Line 1455 of yacc.c */ #line 8288 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1292: + +/* Line 1455 of yacc.c */ #line 8290 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1293: + +/* Line 1455 of yacc.c */ #line 8292 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1294: + +/* Line 1455 of yacc.c */ #line 8294 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1295: + +/* Line 1455 of yacc.c */ #line 8296 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1296: + +/* Line 1455 of yacc.c */ #line 8298 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1297: + +/* Line 1455 of yacc.c */ #line 8300 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1298: + +/* Line 1455 of yacc.c */ #line 8303 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1299: + +/* Line 1455 of yacc.c */ #line 8305 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); } break; case 1300: + +/* Line 1455 of yacc.c */ #line 8307 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); } + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); } break; case 1301: + +/* Line 1455 of yacc.c */ #line 8310 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_AND, NIL, (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeA_Expr(AEXPR_AND, NIL, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1302: + +/* Line 1455 of yacc.c */ #line 8312 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OR, NIL, (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OR, NIL, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1303: + +/* Line 1455 of yacc.c */ #line 8314 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); } break; case 1304: + +/* Line 1455 of yacc.c */ #line 8317 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1305: + +/* Line 1455 of yacc.c */ #line 8319 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("like_escape"); - n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node)); + n->args = list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-1]); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", (yyvsp[-4].node), (Node *) n, (yylsp[-3])); + n->location = (yylsp[(4) - (5)]); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)])); } break; case 1306: + +/* Line 1455 of yacc.c */ #line 8331 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); } break; case 1307: + +/* Line 1455 of yacc.c */ #line 8333 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("like_escape"); - n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node)); + n->args = list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-1]); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", (yyvsp[-5].node), (Node *) n, (yylsp[-4])); + n->location = (yylsp[(5) - (6)]); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)])); } break; case 1308: + +/* Line 1455 of yacc.c */ #line 8345 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1309: + +/* Line 1455 of yacc.c */ #line 8347 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("like_escape"); - n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node)); + n->args = list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-1]); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", (yyvsp[-4].node), (Node *) n, (yylsp[-3])); + n->location = (yylsp[(4) - (5)]); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)])); } break; case 1310: + +/* Line 1455 of yacc.c */ #line 8359 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); } break; case 1311: + +/* Line 1455 of yacc.c */ #line 8361 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("like_escape"); - n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node)); + n->args = list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-1]); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", (yyvsp[-5].node), (Node *) n, (yylsp[-4])); + n->location = (yylsp[(5) - (6)]); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)])); } break; case 1312: + +/* Line 1455 of yacc.c */ #line 8374 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("similar_escape"); - n->args = list_make2((yyvsp[0].node), makeNullAConst(-1)); + n->args = list_make2((yyvsp[(4) - (4)].node), makeNullAConst(-1)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-2]); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", (yyvsp[-3].node), (Node *) n, (yylsp[-2])); + n->location = (yylsp[(2) - (4)]); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", (yyvsp[(1) - (4)].node), (Node *) n, (yylsp[(2) - (4)])); } break; case 1313: + +/* Line 1455 of yacc.c */ #line 8386 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("similar_escape"); - n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node)); + n->args = list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-1]); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", (yyvsp[-5].node), (Node *) n, (yylsp[-4])); + n->location = (yylsp[(5) - (6)]); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)])); } break; case 1314: + +/* Line 1455 of yacc.c */ #line 8398 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("similar_escape"); - n->args = list_make2((yyvsp[0].node), makeNullAConst(-1)); + n->args = list_make2((yyvsp[(5) - (5)].node), makeNullAConst(-1)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[0]); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", (yyvsp[-4].node), (Node *) n, (yylsp[-3])); + n->location = (yylsp[(5) - (5)]); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)])); } break; case 1315: + +/* Line 1455 of yacc.c */ #line 8410 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("similar_escape"); - n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node)); + n->args = list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-1]); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", (yyvsp[-6].node), (Node *) n, (yylsp[-5])); + n->location = (yylsp[(6) - (7)]); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", (yyvsp[(1) - (7)].node), (Node *) n, (yylsp[(2) - (7)])); } break; case 1316: + +/* Line 1455 of yacc.c */ #line 8432 "gram.y" { NullTest *n = makeNode(NullTest); - n->arg = (Expr *) (yyvsp[-2].node); + n->arg = (Expr *) (yyvsp[(1) - (3)].node); n->nulltesttype = IS_NULL; (yyval.node) = (Node *)n; } break; case 1317: + +/* Line 1455 of yacc.c */ #line 8439 "gram.y" { NullTest *n = makeNode(NullTest); - n->arg = (Expr *) (yyvsp[-1].node); + n->arg = (Expr *) (yyvsp[(1) - (2)].node); n->nulltesttype = IS_NULL; (yyval.node) = (Node *)n; } break; case 1318: + +/* Line 1455 of yacc.c */ #line 8446 "gram.y" { NullTest *n = makeNode(NullTest); - n->arg = (Expr *) (yyvsp[-3].node); + n->arg = (Expr *) (yyvsp[(1) - (4)].node); n->nulltesttype = IS_NOT_NULL; (yyval.node) = (Node *)n; } break; case 1319: + +/* Line 1455 of yacc.c */ #line 8453 "gram.y" { NullTest *n = makeNode(NullTest); - n->arg = (Expr *) (yyvsp[-1].node); + n->arg = (Expr *) (yyvsp[(1) - (2)].node); n->nulltesttype = IS_NOT_NULL; (yyval.node) = (Node *)n; } break; case 1320: + +/* Line 1455 of yacc.c */ #line 8460 "gram.y" { - (yyval.node) = (Node *)makeOverlaps((yyvsp[-2].list), (yyvsp[0].list), (yylsp[-1])); + (yyval.node) = (Node *)makeOverlaps((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list), (yylsp[(2) - (3)])); } break; case 1321: + +/* Line 1455 of yacc.c */ #line 8464 "gram.y" { BooleanTest *b = makeNode(BooleanTest); - b->arg = (Expr *) (yyvsp[-2].node); + b->arg = (Expr *) (yyvsp[(1) - (3)].node); b->booltesttype = IS_TRUE; (yyval.node) = (Node *)b; } break; case 1322: + +/* Line 1455 of yacc.c */ #line 8471 "gram.y" { BooleanTest *b = makeNode(BooleanTest); - b->arg = (Expr *) (yyvsp[-3].node); + b->arg = (Expr *) (yyvsp[(1) - (4)].node); b->booltesttype = IS_NOT_TRUE; (yyval.node) = (Node *)b; } break; case 1323: + +/* Line 1455 of yacc.c */ #line 8478 "gram.y" { BooleanTest *b = makeNode(BooleanTest); - b->arg = (Expr *) (yyvsp[-2].node); + b->arg = (Expr *) (yyvsp[(1) - (3)].node); b->booltesttype = IS_FALSE; (yyval.node) = (Node *)b; } break; case 1324: + +/* Line 1455 of yacc.c */ #line 8485 "gram.y" { BooleanTest *b = makeNode(BooleanTest); - b->arg = (Expr *) (yyvsp[-3].node); + b->arg = (Expr *) (yyvsp[(1) - (4)].node); b->booltesttype = IS_NOT_FALSE; (yyval.node) = (Node *)b; } break; case 1325: + +/* Line 1455 of yacc.c */ #line 8492 "gram.y" { BooleanTest *b = makeNode(BooleanTest); - b->arg = (Expr *) (yyvsp[-2].node); + b->arg = (Expr *) (yyvsp[(1) - (3)].node); b->booltesttype = IS_UNKNOWN; (yyval.node) = (Node *)b; } break; case 1326: + +/* Line 1455 of yacc.c */ #line 8499 "gram.y" { BooleanTest *b = makeNode(BooleanTest); - b->arg = (Expr *) (yyvsp[-3].node); + b->arg = (Expr *) (yyvsp[(1) - (4)].node); b->booltesttype = IS_NOT_UNKNOWN; (yyval.node) = (Node *)b; } break; case 1327: + +/* Line 1455 of yacc.c */ #line 8506 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)])); } break; case 1328: + +/* Line 1455 of yacc.c */ #line 8510 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, - "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4])), - (yylsp[-4])); + "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])), + (yylsp[(2) - (6)])); } break; case 1329: + +/* Line 1455 of yacc.c */ #line 8518 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)])); } break; case 1330: + +/* Line 1455 of yacc.c */ #line 8522 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)])); } break; case 1331: + +/* Line 1455 of yacc.c */ #line 8531 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_AND, NIL, - (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-5].node), (yyvsp[-2].node), (yylsp[-4])), - (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4])), - (yylsp[-4])); + (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node), (yylsp[(2) - (6)])), + (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])), + (yylsp[(2) - (6)])); } break; case 1332: + +/* Line 1455 of yacc.c */ #line 8538 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_OR, NIL, - (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-6].node), (yyvsp[-2].node), (yylsp[-5])), - (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-6].node), (yyvsp[0].node), (yylsp[-5])), - (yylsp[-5])); + (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (7)].node), (yyvsp[(5) - (7)].node), (yylsp[(2) - (7)])), + (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (7)].node), (yyvsp[(7) - (7)].node), (yylsp[(2) - (7)])), + (yylsp[(2) - (7)])); } break; case 1333: + +/* Line 1455 of yacc.c */ #line 8545 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_OR, NIL, (Node *) makeA_Expr(AEXPR_AND, NIL, - (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-5].node), (yyvsp[-2].node), (yylsp[-4])), - (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4])), - (yylsp[-4])), + (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node), (yylsp[(2) - (6)])), + (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])), + (yylsp[(2) - (6)])), (Node *) makeA_Expr(AEXPR_AND, NIL, - (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4])), - (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-5].node), (yyvsp[-2].node), (yylsp[-4])), - (yylsp[-4])), - (yylsp[-4])); + (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])), + (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node), (yylsp[(2) - (6)])), + (yylsp[(2) - (6)])), + (yylsp[(2) - (6)])); } break; case 1334: + +/* Line 1455 of yacc.c */ #line 8558 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_AND, NIL, (Node *) makeA_Expr(AEXPR_OR, NIL, - (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-6].node), (yyvsp[-2].node), (yylsp[-5])), - (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-6].node), (yyvsp[0].node), (yylsp[-5])), - (yylsp[-5])), + (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (7)].node), (yyvsp[(5) - (7)].node), (yylsp[(2) - (7)])), + (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (7)].node), (yyvsp[(7) - (7)].node), (yylsp[(2) - (7)])), + (yylsp[(2) - (7)])), (Node *) makeA_Expr(AEXPR_OR, NIL, - (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-6].node), (yyvsp[0].node), (yylsp[-5])), - (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-6].node), (yyvsp[-2].node), (yylsp[-5])), - (yylsp[-5])), - (yylsp[-5])); + (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (7)].node), (yyvsp[(7) - (7)].node), (yylsp[(2) - (7)])), + (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (7)].node), (yyvsp[(5) - (7)].node), (yylsp[(2) - (7)])), + (yylsp[(2) - (7)])), + (yylsp[(2) - (7)])); } break; case 1335: + +/* Line 1455 of yacc.c */ #line 8571 "gram.y" { /* in_expr returns a SubLink or a list of a_exprs */ - if (IsA((yyvsp[0].node), SubLink)) + if (IsA((yyvsp[(3) - (3)].node), SubLink)) { /* generate foo = ANY (subquery) */ - SubLink *n = (SubLink *) (yyvsp[0].node); + SubLink *n = (SubLink *) (yyvsp[(3) - (3)].node); n->subLinkType = ANY_SUBLINK; - n->testexpr = (yyvsp[-2].node); + n->testexpr = (yyvsp[(1) - (3)].node); n->operName = list_make1(makeString("=")); - n->location = (yylsp[-1]); + n->location = (yylsp[(2) - (3)]); (yyval.node) = (Node *)n; } else { /* generate scalar IN expression */ - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } } break; case 1336: + +/* Line 1455 of yacc.c */ #line 8590 "gram.y" { /* in_expr returns a SubLink or a list of a_exprs */ - if (IsA((yyvsp[0].node), SubLink)) + if (IsA((yyvsp[(4) - (4)].node), SubLink)) { /* generate NOT (foo = ANY (subquery)) */ /* Make an = ANY node */ - SubLink *n = (SubLink *) (yyvsp[0].node); + SubLink *n = (SubLink *) (yyvsp[(4) - (4)].node); n->subLinkType = ANY_SUBLINK; - n->testexpr = (yyvsp[-3].node); + n->testexpr = (yyvsp[(1) - (4)].node); n->operName = list_make1(makeString("=")); - n->location = (yylsp[-1]); + n->location = (yylsp[(3) - (4)]); /* Stick a NOT on top */ - (yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, (Node *) n, (yylsp[-2])); + (yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, (Node *) n, (yylsp[(2) - (4)])); } else { /* generate scalar NOT IN expression */ - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); } } break; case 1337: + +/* Line 1455 of yacc.c */ #line 8611 "gram.y" { SubLink *n = makeNode(SubLink); - n->subLinkType = (yyvsp[-1].ival); - n->testexpr = (yyvsp[-3].node); - n->operName = (yyvsp[-2].list); - n->subselect = (yyvsp[0].node); - n->location = (yylsp[-2]); + n->subLinkType = (yyvsp[(3) - (4)].ival); + n->testexpr = (yyvsp[(1) - (4)].node); + n->operName = (yyvsp[(2) - (4)].list); + n->subselect = (yyvsp[(4) - (4)].node); + n->location = (yylsp[(2) - (4)]); (yyval.node) = (Node *)n; } break; case 1338: + +/* Line 1455 of yacc.c */ #line 8621 "gram.y" { - 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])); + 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)])); else - (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4])); + (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)])); } break; case 1339: + +/* Line 1455 of yacc.c */ #line 8628 "gram.y" { /* Not sure how to get rid of the parentheses @@ -26186,176 +28855,230 @@ yyreduce: ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("UNIQUE predicate is not yet implemented"), - scanner_errposition((yylsp[-1])))); + scanner_errposition((yylsp[(1) - (2)])))); } break; case 1340: + +/* Line 1455 of yacc.c */ #line 8644 "gram.y" { (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL, - list_make1((yyvsp[-2].node)), (yylsp[-1])); + list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)])); } break; case 1341: + +/* Line 1455 of yacc.c */ #line 8649 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, makeXmlExpr(IS_DOCUMENT, NULL, NIL, - list_make1((yyvsp[-3].node)), (yylsp[-2])), - (yylsp[-2])); + list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])), + (yylsp[(2) - (4)])); } break; case 1342: + +/* Line 1455 of yacc.c */ #line 8667 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1343: + +/* Line 1455 of yacc.c */ #line 8669 "gram.y" - { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); } + { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); } break; case 1344: + +/* Line 1455 of yacc.c */ #line 8671 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); } break; case 1345: + +/* Line 1455 of yacc.c */ #line 8673 "gram.y" - { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); } break; case 1346: + +/* Line 1455 of yacc.c */ #line 8675 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1347: + +/* Line 1455 of yacc.c */ #line 8677 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1348: + +/* Line 1455 of yacc.c */ #line 8679 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1349: + +/* Line 1455 of yacc.c */ #line 8681 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1350: + +/* Line 1455 of yacc.c */ #line 8683 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1351: + +/* Line 1455 of yacc.c */ #line 8685 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1352: + +/* Line 1455 of yacc.c */ #line 8687 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1353: + +/* Line 1455 of yacc.c */ #line 8689 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1354: + +/* Line 1455 of yacc.c */ #line 8691 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1355: + +/* Line 1455 of yacc.c */ #line 8693 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); } break; case 1356: + +/* Line 1455 of yacc.c */ #line 8695 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); } + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); } break; case 1357: + +/* Line 1455 of yacc.c */ #line 8697 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); } + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); } break; case 1358: + +/* Line 1455 of yacc.c */ #line 8699 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)])); } break; case 1359: + +/* Line 1455 of yacc.c */ #line 8703 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, - NULL, (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4])), (yylsp[-4])); + NULL, (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])), (yylsp[(2) - (6)])); } break; case 1360: + +/* Line 1455 of yacc.c */ #line 8708 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)])); } break; case 1361: + +/* Line 1455 of yacc.c */ #line 8712 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)])); } break; case 1362: + +/* Line 1455 of yacc.c */ #line 8716 "gram.y" { (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL, - list_make1((yyvsp[-2].node)), (yylsp[-1])); + list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)])); } break; case 1363: + +/* Line 1455 of yacc.c */ #line 8721 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, makeXmlExpr(IS_DOCUMENT, NULL, NIL, - list_make1((yyvsp[-3].node)), (yylsp[-2])), - (yylsp[-2])); + list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])), + (yylsp[(2) - (4)])); } break; case 1364: + +/* Line 1455 of yacc.c */ #line 8737 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1365: + +/* Line 1455 of yacc.c */ #line 8738 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1366: + +/* Line 1455 of yacc.c */ #line 8740 "gram.y" { ParamRef *p = makeNode(ParamRef); - p->number = (yyvsp[-1].ival); - p->location = (yylsp[-1]); - if ((yyvsp[0].list)) + p->number = (yyvsp[(1) - (2)].ival); + p->location = (yylsp[(1) - (2)]); + if ((yyvsp[(2) - (2)].list)) { A_Indirection *n = makeNode(A_Indirection); n->arg = (Node *) p; - n->indirection = check_indirection((yyvsp[0].list)); + n->indirection = check_indirection((yyvsp[(2) - (2)].list)); (yyval.node) = (Node *) n; } else @@ -26364,157 +29087,183 @@ yyreduce: break; case 1367: + +/* Line 1455 of yacc.c */ #line 8755 "gram.y" { - if ((yyvsp[0].list)) + if ((yyvsp[(4) - (4)].list)) { A_Indirection *n = makeNode(A_Indirection); - n->arg = (yyvsp[-2].node); - n->indirection = check_indirection((yyvsp[0].list)); + n->arg = (yyvsp[(2) - (4)].node); + n->indirection = check_indirection((yyvsp[(4) - (4)].list)); (yyval.node) = (Node *)n; } else - (yyval.node) = (yyvsp[-2].node); + (yyval.node) = (yyvsp[(2) - (4)].node); } break; case 1368: + +/* Line 1455 of yacc.c */ #line 8767 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1369: + +/* Line 1455 of yacc.c */ #line 8769 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1370: + +/* Line 1455 of yacc.c */ #line 8771 "gram.y" { SubLink *n = makeNode(SubLink); n->subLinkType = EXPR_SUBLINK; n->testexpr = NULL; n->operName = NIL; - n->subselect = (yyvsp[0].node); - n->location = (yylsp[0]); + n->subselect = (yyvsp[(1) - (1)].node); + n->location = (yylsp[(1) - (1)]); (yyval.node) = (Node *)n; } break; case 1371: + +/* Line 1455 of yacc.c */ #line 8781 "gram.y" { SubLink *n = makeNode(SubLink); n->subLinkType = EXISTS_SUBLINK; n->testexpr = NULL; n->operName = NIL; - n->subselect = (yyvsp[0].node); - n->location = (yylsp[-1]); + n->subselect = (yyvsp[(2) - (2)].node); + n->location = (yylsp[(1) - (2)]); (yyval.node) = (Node *)n; } break; case 1372: + +/* Line 1455 of yacc.c */ #line 8791 "gram.y" { SubLink *n = makeNode(SubLink); n->subLinkType = ARRAY_SUBLINK; n->testexpr = NULL; n->operName = NIL; - n->subselect = (yyvsp[0].node); - n->location = (yylsp[-1]); + n->subselect = (yyvsp[(2) - (2)].node); + n->location = (yylsp[(1) - (2)]); (yyval.node) = (Node *)n; } break; case 1373: + +/* Line 1455 of yacc.c */ #line 8801 "gram.y" { - A_ArrayExpr *n = (A_ArrayExpr *) (yyvsp[0].node); + A_ArrayExpr *n = (A_ArrayExpr *) (yyvsp[(2) - (2)].node); Assert(IsA(n, A_ArrayExpr)); /* point outermost A_ArrayExpr to the ARRAY keyword */ - n->location = (yylsp[-1]); + n->location = (yylsp[(1) - (2)]); (yyval.node) = (Node *)n; } break; case 1374: + +/* Line 1455 of yacc.c */ #line 8809 "gram.y" { RowExpr *r = makeNode(RowExpr); - r->args = (yyvsp[0].list); + r->args = (yyvsp[(1) - (1)].list); r->row_typeid = InvalidOid; /* not analyzed yet */ - r->location = (yylsp[0]); + r->location = (yylsp[(1) - (1)]); (yyval.node) = (Node *)r; } break; case 1375: + +/* Line 1455 of yacc.c */ #line 8827 "gram.y" { FuncCall *n = makeNode(FuncCall); - n->funcname = (yyvsp[-3].list); + n->funcname = (yyvsp[(1) - (4)].list); n->args = NIL; n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; - n->over = (yyvsp[0].windef); - n->location = (yylsp[-3]); + n->over = (yyvsp[(4) - (4)].windef); + n->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *)n; } break; case 1376: + +/* Line 1455 of yacc.c */ #line 8839 "gram.y" { FuncCall *n = makeNode(FuncCall); - n->funcname = (yyvsp[-4].list); - n->args = (yyvsp[-2].list); + n->funcname = (yyvsp[(1) - (5)].list); + n->args = (yyvsp[(3) - (5)].list); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; - n->over = (yyvsp[0].windef); - n->location = (yylsp[-4]); + n->over = (yyvsp[(5) - (5)].windef); + n->location = (yylsp[(1) - (5)]); (yyval.node) = (Node *)n; } break; case 1377: + +/* Line 1455 of yacc.c */ #line 8851 "gram.y" { FuncCall *n = makeNode(FuncCall); - n->funcname = (yyvsp[-5].list); - n->args = list_make1((yyvsp[-2].node)); + n->funcname = (yyvsp[(1) - (6)].list); + n->args = list_make1((yyvsp[(4) - (6)].node)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = TRUE; - n->over = (yyvsp[0].windef); - n->location = (yylsp[-5]); + n->over = (yyvsp[(6) - (6)].windef); + n->location = (yylsp[(1) - (6)]); (yyval.node) = (Node *)n; } break; case 1378: + +/* Line 1455 of yacc.c */ #line 8863 "gram.y" { FuncCall *n = makeNode(FuncCall); - n->funcname = (yyvsp[-7].list); - n->args = lappend((yyvsp[-5].list), (yyvsp[-2].node)); + n->funcname = (yyvsp[(1) - (8)].list); + n->args = lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = TRUE; - n->over = (yyvsp[0].windef); - n->location = (yylsp[-7]); + n->over = (yyvsp[(8) - (8)].windef); + n->location = (yylsp[(1) - (8)]); (yyval.node) = (Node *)n; } break; case 1379: + +/* Line 1455 of yacc.c */ #line 8875 "gram.y" { FuncCall *n = makeNode(FuncCall); - n->funcname = (yyvsp[-5].list); - n->args = (yyvsp[-2].list); + n->funcname = (yyvsp[(1) - (6)].list); + n->args = (yyvsp[(4) - (6)].list); n->agg_star = FALSE; n->agg_distinct = FALSE; /* Ideally we'd mark the FuncCall node to indicate @@ -26522,28 +29271,32 @@ yyreduce: * for that in FuncCall at the moment. */ n->func_variadic = FALSE; - n->over = (yyvsp[0].windef); - n->location = (yylsp[-5]); + n->over = (yyvsp[(6) - (6)].windef); + n->location = (yylsp[(1) - (6)]); (yyval.node) = (Node *)n; } break; case 1380: + +/* Line 1455 of yacc.c */ #line 8891 "gram.y" { FuncCall *n = makeNode(FuncCall); - n->funcname = (yyvsp[-5].list); - n->args = (yyvsp[-2].list); + n->funcname = (yyvsp[(1) - (6)].list); + n->args = (yyvsp[(4) - (6)].list); n->agg_star = FALSE; n->agg_distinct = TRUE; n->func_variadic = FALSE; - n->over = (yyvsp[0].windef); - n->location = (yylsp[-5]); + n->over = (yyvsp[(6) - (6)].windef); + n->location = (yylsp[(1) - (6)]); (yyval.node) = (Node *)n; } break; case 1381: + +/* Line 1455 of yacc.c */ #line 8903 "gram.y" { /* @@ -26557,18 +29310,20 @@ yyreduce: * really was. */ FuncCall *n = makeNode(FuncCall); - n->funcname = (yyvsp[-4].list); + n->funcname = (yyvsp[(1) - (5)].list); n->args = NIL; n->agg_star = TRUE; n->agg_distinct = FALSE; n->func_variadic = FALSE; - n->over = (yyvsp[0].windef); - n->location = (yylsp[-4]); + n->over = (yyvsp[(5) - (5)].windef); + n->location = (yylsp[(1) - (5)]); (yyval.node) = (Node *)n; } break; case 1382: + +/* Line 1455 of yacc.c */ #line 8925 "gram.y" { /* @@ -26587,12 +29342,14 @@ yyreduce: * to rely on it.) */ Node *n; - n = makeStringConstCast("now", (yylsp[0]), SystemTypeName("text")); + n = makeStringConstCast("now", (yylsp[(1) - (1)]), SystemTypeName("text")); (yyval.node) = makeTypeCast(n, SystemTypeName("date"), -1); } break; case 1383: + +/* Line 1455 of yacc.c */ #line 8946 "gram.y" { /* @@ -26600,12 +29357,14 @@ yyreduce: * See comments for CURRENT_DATE. */ Node *n; - n = makeStringConstCast("now", (yylsp[0]), SystemTypeName("text")); + n = makeStringConstCast("now", (yylsp[(1) - (1)]), SystemTypeName("text")); (yyval.node) = makeTypeCast(n, SystemTypeName("timetz"), -1); } break; case 1384: + +/* Line 1455 of yacc.c */ #line 8956 "gram.y" { /* @@ -26614,14 +29373,16 @@ yyreduce: */ Node *n; TypeName *d; - n = makeStringConstCast("now", (yylsp[-3]), SystemTypeName("text")); + n = makeStringConstCast("now", (yylsp[(1) - (4)]), SystemTypeName("text")); d = SystemTypeName("timetz"); - d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1]))); + d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); (yyval.node) = makeTypeCast(n, d, -1); } break; case 1385: + +/* Line 1455 of yacc.c */ #line 8969 "gram.y" { /* @@ -26635,12 +29396,14 @@ yyreduce: n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[0]); + n->location = (yylsp[(1) - (1)]); (yyval.node) = (Node *)n; } break; case 1386: + +/* Line 1455 of yacc.c */ #line 8985 "gram.y" { /* @@ -26649,14 +29412,16 @@ yyreduce: */ Node *n; TypeName *d; - n = makeStringConstCast("now", (yylsp[-3]), SystemTypeName("text")); + n = makeStringConstCast("now", (yylsp[(1) - (4)]), SystemTypeName("text")); d = SystemTypeName("timestamptz"); - d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1]))); + d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); (yyval.node) = makeTypeCast(n, d, -1); } break; case 1387: + +/* Line 1455 of yacc.c */ #line 8998 "gram.y" { /* @@ -26664,12 +29429,14 @@ yyreduce: * See comments for CURRENT_DATE. */ Node *n; - n = makeStringConstCast("now", (yylsp[0]), SystemTypeName("text")); + n = makeStringConstCast("now", (yylsp[(1) - (1)]), SystemTypeName("text")); (yyval.node) = makeTypeCast((Node *)n, SystemTypeName("time"), -1); } break; case 1388: + +/* Line 1455 of yacc.c */ #line 9008 "gram.y" { /* @@ -26678,14 +29445,16 @@ yyreduce: */ Node *n; TypeName *d; - n = makeStringConstCast("now", (yylsp[-3]), SystemTypeName("text")); + n = makeStringConstCast("now", (yylsp[(1) - (4)]), SystemTypeName("text")); d = SystemTypeName("time"); - d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1]))); + d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); (yyval.node) = makeTypeCast((Node *)n, d, -1); } break; case 1389: + +/* Line 1455 of yacc.c */ #line 9021 "gram.y" { /* @@ -26693,12 +29462,14 @@ yyreduce: * See comments for CURRENT_DATE. */ Node *n; - n = makeStringConstCast("now", (yylsp[0]), SystemTypeName("text")); + n = makeStringConstCast("now", (yylsp[(1) - (1)]), SystemTypeName("text")); (yyval.node) = makeTypeCast(n, SystemTypeName("timestamp"), -1); } break; case 1390: + +/* Line 1455 of yacc.c */ #line 9031 "gram.y" { /* @@ -26707,14 +29478,16 @@ yyreduce: */ Node *n; TypeName *d; - n = makeStringConstCast("now", (yylsp[-3]), SystemTypeName("text")); + n = makeStringConstCast("now", (yylsp[(1) - (4)]), SystemTypeName("text")); d = SystemTypeName("timestamp"); - d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1]))); + d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); (yyval.node) = makeTypeCast(n, d, -1); } break; case 1391: + +/* Line 1455 of yacc.c */ #line 9044 "gram.y" { FuncCall *n = makeNode(FuncCall); @@ -26724,12 +29497,14 @@ yyreduce: n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[0]); + n->location = (yylsp[(1) - (1)]); (yyval.node) = (Node *)n; } break; case 1392: + +/* Line 1455 of yacc.c */ #line 9056 "gram.y" { FuncCall *n = makeNode(FuncCall); @@ -26739,12 +29514,14 @@ yyreduce: n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[0]); + n->location = (yylsp[(1) - (1)]); (yyval.node) = (Node *)n; } break; case 1393: + +/* Line 1455 of yacc.c */ #line 9068 "gram.y" { FuncCall *n = makeNode(FuncCall); @@ -26754,12 +29531,14 @@ yyreduce: n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[0]); + n->location = (yylsp[(1) - (1)]); (yyval.node) = (Node *)n; } break; case 1394: + +/* Line 1455 of yacc.c */ #line 9080 "gram.y" { FuncCall *n = makeNode(FuncCall); @@ -26769,12 +29548,14 @@ yyreduce: n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[0]); + n->location = (yylsp[(1) - (1)]); (yyval.node) = (Node *)n; } break; case 1395: + +/* Line 1455 of yacc.c */ #line 9092 "gram.y" { FuncCall *n = makeNode(FuncCall); @@ -26784,12 +29565,14 @@ yyreduce: n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[0]); + n->location = (yylsp[(1) - (1)]); (yyval.node) = (Node *)n; } break; case 1396: + +/* Line 1455 of yacc.c */ #line 9104 "gram.y" { FuncCall *n = makeNode(FuncCall); @@ -26799,32 +29582,38 @@ yyreduce: n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[0]); + n->location = (yylsp[(1) - (1)]); (yyval.node) = (Node *)n; } break; case 1397: + +/* Line 1455 of yacc.c */ #line 9116 "gram.y" - { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); } + { (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); } break; case 1398: + +/* Line 1455 of yacc.c */ #line 9118 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("date_part"); - n->args = (yyvsp[-1].list); + n->args = (yyvsp[(3) - (4)].list); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-3]); + n->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *)n; } break; case 1399: + +/* Line 1455 of yacc.c */ #line 9130 "gram.y" { /* overlay(A PLACING B FROM C FOR D) is converted to @@ -26834,33 +29623,37 @@ yyreduce: */ FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("overlay"); - n->args = (yyvsp[-1].list); + n->args = (yyvsp[(3) - (4)].list); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-3]); + n->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *)n; } break; case 1400: + +/* Line 1455 of yacc.c */ #line 9147 "gram.y" { /* position(A in B) is converted to position(B, A) */ FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("position"); - n->args = (yyvsp[-1].list); + n->args = (yyvsp[(3) - (4)].list); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-3]); + n->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *)n; } break; case 1401: + +/* Line 1455 of yacc.c */ #line 9160 "gram.y" { /* substring(A from B for C) is converted to @@ -26868,17 +29661,19 @@ yyreduce: */ FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("substring"); - n->args = (yyvsp[-1].list); + n->args = (yyvsp[(3) - (4)].list); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-3]); + n->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *)n; } break; case 1402: + +/* Line 1455 of yacc.c */ #line 9175 "gram.y" { /* TREAT(expr AS target) converts expr of a particular type to target, @@ -26891,18 +29686,20 @@ yyreduce: /* Convert SystemTypeName() to SystemFuncName() even though * at the moment they result in the same thing. */ - n->funcname = SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str); - n->args = list_make1((yyvsp[-3].node)); + n->funcname = SystemFuncName(((Value *)llast((yyvsp[(5) - (6)].typnam)->names))->val.str); + n->args = list_make1((yyvsp[(3) - (6)].node)); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-5]); + n->location = (yylsp[(1) - (6)]); (yyval.node) = (Node *)n; } break; case 1403: + +/* Line 1455 of yacc.c */ #line 9196 "gram.y" { /* various trim expressions are defined in SQL92 @@ -26910,429 +29707,535 @@ yyreduce: */ FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("btrim"); - n->args = (yyvsp[-1].list); + n->args = (yyvsp[(4) - (5)].list); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-4]); + n->location = (yylsp[(1) - (5)]); (yyval.node) = (Node *)n; } break; case 1404: + +/* Line 1455 of yacc.c */ #line 9211 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("ltrim"); - n->args = (yyvsp[-1].list); + n->args = (yyvsp[(4) - (5)].list); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-4]); + n->location = (yylsp[(1) - (5)]); (yyval.node) = (Node *)n; } break; case 1405: + +/* Line 1455 of yacc.c */ #line 9223 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("rtrim"); - n->args = (yyvsp[-1].list); + n->args = (yyvsp[(4) - (5)].list); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-4]); + n->location = (yylsp[(1) - (5)]); (yyval.node) = (Node *)n; } break; case 1406: + +/* Line 1455 of yacc.c */ #line 9235 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = SystemFuncName("btrim"); - n->args = (yyvsp[-1].list); + n->args = (yyvsp[(3) - (4)].list); n->agg_star = FALSE; n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = (yylsp[-3]); + n->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *)n; } break; case 1407: + +/* Line 1455 of yacc.c */ #line 9247 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)])); } break; case 1408: + +/* Line 1455 of yacc.c */ #line 9251 "gram.y" { CoalesceExpr *c = makeNode(CoalesceExpr); - c->args = (yyvsp[-1].list); - c->location = (yylsp[-3]); + c->args = (yyvsp[(3) - (4)].list); + c->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *)c; } break; case 1409: + +/* Line 1455 of yacc.c */ #line 9258 "gram.y" { MinMaxExpr *v = makeNode(MinMaxExpr); - v->args = (yyvsp[-1].list); + v->args = (yyvsp[(3) - (4)].list); v->op = IS_GREATEST; - v->location = (yylsp[-3]); + v->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *)v; } break; case 1410: + +/* Line 1455 of yacc.c */ #line 9266 "gram.y" { MinMaxExpr *v = makeNode(MinMaxExpr); - v->args = (yyvsp[-1].list); + v->args = (yyvsp[(3) - (4)].list); v->op = IS_LEAST; - v->location = (yylsp[-3]); + v->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *)v; } break; case 1411: + +/* Line 1455 of yacc.c */ #line 9274 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3])); + (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)])); } break; case 1412: + +/* Line 1455 of yacc.c */ #line 9278 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4])); + (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)])); } break; case 1413: + +/* Line 1455 of yacc.c */ #line 9282 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6])); + (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)])); } break; case 1414: + +/* Line 1455 of yacc.c */ #line 9286 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6])); + (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)])); } break; case 1415: + +/* Line 1455 of yacc.c */ #line 9290 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8])); + (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)])); } break; case 1416: + +/* Line 1455 of yacc.c */ #line 9294 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3])); + (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)])); } break; case 1417: + +/* Line 1455 of yacc.c */ #line 9298 "gram.y" { XmlExpr *x = (XmlExpr *) makeXmlExpr(IS_XMLPARSE, NULL, NIL, - list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)), - (yylsp[-5])); - x->xmloption = (yyvsp[-3].ival); + list_make2((yyvsp[(4) - (6)].node), makeBoolAConst((yyvsp[(5) - (6)].boolean), -1)), + (yylsp[(1) - (6)])); + x->xmloption = (yyvsp[(3) - (6)].ival); (yyval.node) = (Node *)x; } break; case 1418: + +/* Line 1455 of yacc.c */ #line 9307 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4])); + (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)])); } break; case 1419: + +/* Line 1455 of yacc.c */ #line 9311 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6])); + (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)])); } break; case 1420: + +/* Line 1455 of yacc.c */ #line 9315 "gram.y" { (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL, - list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6])); + list_make3((yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)])); } break; case 1421: + +/* Line 1455 of yacc.c */ #line 9320 "gram.y" { XmlSerialize *n = makeNode(XmlSerialize); - n->xmloption = (yyvsp[-4].ival); - n->expr = (yyvsp[-3].node); - n->typename = (yyvsp[-1].typnam); - n->location = (yylsp[-6]); + n->xmloption = (yyvsp[(3) - (7)].ival); + n->expr = (yyvsp[(4) - (7)].node); + n->typename = (yyvsp[(6) - (7)].typnam); + n->location = (yylsp[(1) - (7)]); (yyval.node) = (Node *)n; } break; case 1422: + +/* Line 1455 of yacc.c */ #line 9334 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 1423: + +/* Line 1455 of yacc.c */ #line 9336 "gram.y" { (yyval.node) = makeNullAConst(-1); } break; case 1424: + +/* Line 1455 of yacc.c */ #line 9340 "gram.y" { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); } break; case 1425: + +/* Line 1455 of yacc.c */ #line 9342 "gram.y" { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); } break; case 1426: + +/* Line 1455 of yacc.c */ #line 9344 "gram.y" { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); } break; case 1427: + +/* Line 1455 of yacc.c */ #line 9346 "gram.y" { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); } break; case 1428: + +/* Line 1455 of yacc.c */ #line 9349 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(3) - (4)].list); } break; case 1429: + +/* Line 1455 of yacc.c */ #line 9352 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].target)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); } break; case 1430: + +/* Line 1455 of yacc.c */ #line 9353 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); } break; case 1431: + +/* Line 1455 of yacc.c */ #line 9357 "gram.y" { (yyval.target) = makeNode(ResTarget); - (yyval.target)->name = (yyvsp[0].str); + (yyval.target)->name = (yyvsp[(3) - (3)].str); (yyval.target)->indirection = NIL; - (yyval.target)->val = (Node *) (yyvsp[-2].node); - (yyval.target)->location = (yylsp[-2]); + (yyval.target)->val = (Node *) (yyvsp[(1) - (3)].node); + (yyval.target)->location = (yylsp[(1) - (3)]); } break; case 1432: + +/* Line 1455 of yacc.c */ #line 9365 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = NULL; (yyval.target)->indirection = NIL; - (yyval.target)->val = (Node *) (yyvsp[0].node); - (yyval.target)->location = (yylsp[0]); + (yyval.target)->val = (Node *) (yyvsp[(1) - (1)].node); + (yyval.target)->location = (yylsp[(1) - (1)]); } break; case 1433: + +/* Line 1455 of yacc.c */ #line 9374 "gram.y" { (yyval.ival) = XMLOPTION_DOCUMENT; } break; case 1434: + +/* Line 1455 of yacc.c */ #line 9375 "gram.y" { (yyval.ival) = XMLOPTION_CONTENT; } break; case 1435: + +/* Line 1455 of yacc.c */ #line 9378 "gram.y" { (yyval.boolean) = TRUE; } break; case 1436: + +/* Line 1455 of yacc.c */ #line 9379 "gram.y" { (yyval.boolean) = FALSE; } break; case 1437: + +/* Line 1455 of yacc.c */ #line 9380 "gram.y" { (yyval.boolean) = FALSE; } break; case 1438: + +/* Line 1455 of yacc.c */ #line 9387 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 1439: + +/* Line 1455 of yacc.c */ #line 9388 "gram.y" { (yyval.list) = NIL; } break; case 1440: + +/* Line 1455 of yacc.c */ #line 9392 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].windef)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); } break; case 1441: + +/* Line 1455 of yacc.c */ #line 9394 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); } break; case 1442: + +/* Line 1455 of yacc.c */ #line 9399 "gram.y" { - WindowDef *n = (yyvsp[0].windef); - n->name = (yyvsp[-2].str); + WindowDef *n = (yyvsp[(3) - (3)].windef); + n->name = (yyvsp[(1) - (3)].str); (yyval.windef) = n; } break; case 1443: + +/* Line 1455 of yacc.c */ #line 9407 "gram.y" - { (yyval.windef) = (yyvsp[0].windef); } + { (yyval.windef) = (yyvsp[(2) - (2)].windef); } break; case 1444: + +/* Line 1455 of yacc.c */ #line 9409 "gram.y" { WindowDef *n = makeNode(WindowDef); - n->name = (yyvsp[0].str); + n->name = (yyvsp[(2) - (2)].str); n->refname = NULL; n->partitionClause = NIL; n->orderClause = NIL; n->frameOptions = FRAMEOPTION_DEFAULTS; - n->location = (yylsp[0]); + n->location = (yylsp[(2) - (2)]); (yyval.windef) = n; } break; case 1445: + +/* Line 1455 of yacc.c */ #line 9420 "gram.y" { (yyval.windef) = NULL; } break; case 1446: + +/* Line 1455 of yacc.c */ #line 9425 "gram.y" { WindowDef *n = makeNode(WindowDef); n->name = NULL; - n->refname = (yyvsp[-4].str); - n->partitionClause = (yyvsp[-3].list); - n->orderClause = (yyvsp[-2].list); - n->frameOptions = (yyvsp[-1].ival); - n->location = (yylsp[-5]); + n->refname = (yyvsp[(2) - (6)].str); + n->partitionClause = (yyvsp[(3) - (6)].list); + n->orderClause = (yyvsp[(4) - (6)].list); + n->frameOptions = (yyvsp[(5) - (6)].ival); + n->location = (yylsp[(1) - (6)]); (yyval.windef) = n; } break; case 1447: + +/* Line 1455 of yacc.c */ #line 9447 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1448: + +/* Line 1455 of yacc.c */ #line 9448 "gram.y" { (yyval.str) = NULL; } break; case 1449: + +/* Line 1455 of yacc.c */ #line 9451 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(3) - (3)].list); } break; case 1450: + +/* Line 1455 of yacc.c */ #line 9452 "gram.y" { (yyval.list) = NIL; } break; case 1451: + +/* Line 1455 of yacc.c */ #line 9462 "gram.y" { - (yyval.ival) = FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE | (yyvsp[0].ival); + (yyval.ival) = FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE | (yyvsp[(2) - (2)].ival); } break; case 1452: + +/* Line 1455 of yacc.c */ #line 9466 "gram.y" { - (yyval.ival) = FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS | (yyvsp[0].ival); + (yyval.ival) = FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS | (yyvsp[(2) - (2)].ival); } break; case 1453: + +/* Line 1455 of yacc.c */ #line 9470 "gram.y" { (yyval.ival) = FRAMEOPTION_DEFAULTS; } break; case 1454: + +/* Line 1455 of yacc.c */ #line 9474 "gram.y" { /* reject invalid cases */ - if ((yyvsp[0].ival) & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) + if ((yyvsp[(1) - (1)].ival) & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) ereport(ERROR, (errcode(ERRCODE_WINDOWING_ERROR), errmsg("frame start cannot be UNBOUNDED FOLLOWING"), - scanner_errposition((yylsp[0])))); - if ((yyvsp[0].ival) & FRAMEOPTION_START_CURRENT_ROW) + scanner_errposition((yylsp[(1) - (1)])))); + if ((yyvsp[(1) - (1)].ival) & FRAMEOPTION_START_CURRENT_ROW) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("frame start at CURRENT ROW is not implemented"), - scanner_errposition((yylsp[0])))); - (yyval.ival) = (yyvsp[0].ival) | FRAMEOPTION_END_CURRENT_ROW; + scanner_errposition((yylsp[(1) - (1)])))); + (yyval.ival) = (yyvsp[(1) - (1)].ival) | FRAMEOPTION_END_CURRENT_ROW; } break; case 1455: + +/* Line 1455 of yacc.c */ #line 9489 "gram.y" { /* reject invalid cases */ - if ((yyvsp[-2].ival) & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) + if ((yyvsp[(2) - (4)].ival) & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) ereport(ERROR, (errcode(ERRCODE_WINDOWING_ERROR), errmsg("frame start cannot be UNBOUNDED FOLLOWING"), - scanner_errposition((yylsp[-2])))); - if ((yyvsp[-2].ival) & FRAMEOPTION_START_CURRENT_ROW) + scanner_errposition((yylsp[(2) - (4)])))); + if ((yyvsp[(2) - (4)].ival) & FRAMEOPTION_START_CURRENT_ROW) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("frame start at CURRENT ROW is not implemented"), - scanner_errposition((yylsp[-2])))); - if ((yyvsp[0].ival) & FRAMEOPTION_START_UNBOUNDED_PRECEDING) + scanner_errposition((yylsp[(2) - (4)])))); + if ((yyvsp[(4) - (4)].ival) & FRAMEOPTION_START_UNBOUNDED_PRECEDING) ereport(ERROR, (errcode(ERRCODE_WINDOWING_ERROR), errmsg("frame end cannot be UNBOUNDED PRECEDING"), - scanner_errposition((yylsp[0])))); + scanner_errposition((yylsp[(4) - (4)])))); /* shift converts START_ options to END_ options */ - (yyval.ival) = FRAMEOPTION_BETWEEN | (yyvsp[-2].ival) | ((yyvsp[0].ival) << 1); + (yyval.ival) = FRAMEOPTION_BETWEEN | (yyvsp[(2) - (4)].ival) | ((yyvsp[(4) - (4)].ival) << 1); } break; case 1456: + +/* Line 1455 of yacc.c */ #line 9518 "gram.y" { (yyval.ival) = FRAMEOPTION_START_UNBOUNDED_PRECEDING; @@ -27340,6 +30243,8 @@ yyreduce: break; case 1457: + +/* Line 1455 of yacc.c */ #line 9522 "gram.y" { (yyval.ival) = FRAMEOPTION_START_UNBOUNDED_FOLLOWING; @@ -27347,6 +30252,8 @@ yyreduce: break; case 1458: + +/* Line 1455 of yacc.c */ #line 9526 "gram.y" { (yyval.ival) = FRAMEOPTION_START_CURRENT_ROW; @@ -27354,299 +30261,409 @@ yyreduce: break; case 1459: + +/* Line 1455 of yacc.c */ #line 9542 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(3) - (4)].list); } break; case 1460: + +/* Line 1455 of yacc.c */ #line 9543 "gram.y" { (yyval.list) = NIL; } break; case 1461: + +/* Line 1455 of yacc.c */ #line 9544 "gram.y" - { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); } + { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); } break; case 1462: + +/* Line 1455 of yacc.c */ #line 9547 "gram.y" { (yyval.ival) = ANY_SUBLINK; } break; case 1463: + +/* Line 1455 of yacc.c */ #line 9548 "gram.y" { (yyval.ival) = ANY_SUBLINK; } break; case 1464: + +/* Line 1455 of yacc.c */ #line 9549 "gram.y" { (yyval.ival) = ALL_SUBLINK; } break; case 1465: + +/* Line 1455 of yacc.c */ #line 9552 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1466: + +/* Line 1455 of yacc.c */ #line 9553 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1467: + +/* Line 1455 of yacc.c */ #line 9556 "gram.y" { (yyval.str) = "+"; } break; case 1468: + +/* Line 1455 of yacc.c */ #line 9557 "gram.y" { (yyval.str) = "-"; } break; case 1469: + +/* Line 1455 of yacc.c */ #line 9558 "gram.y" { (yyval.str) = "*"; } break; case 1470: + +/* Line 1455 of yacc.c */ #line 9559 "gram.y" { (yyval.str) = "/"; } break; case 1471: + +/* Line 1455 of yacc.c */ #line 9560 "gram.y" { (yyval.str) = "%"; } break; case 1472: + +/* Line 1455 of yacc.c */ #line 9561 "gram.y" { (yyval.str) = "^"; } break; case 1473: + +/* Line 1455 of yacc.c */ #line 9562 "gram.y" { (yyval.str) = "<"; } break; case 1474: + +/* Line 1455 of yacc.c */ #line 9563 "gram.y" { (yyval.str) = ">"; } break; case 1475: + +/* Line 1455 of yacc.c */ #line 9564 "gram.y" { (yyval.str) = "="; } break; case 1476: + +/* Line 1455 of yacc.c */ #line 9568 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); } break; case 1477: + +/* Line 1455 of yacc.c */ #line 9570 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(3) - (4)].list); } break; case 1478: + +/* Line 1455 of yacc.c */ #line 9575 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); } break; case 1479: + +/* Line 1455 of yacc.c */ #line 9577 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(3) - (4)].list); } break; case 1480: + +/* Line 1455 of yacc.c */ #line 9582 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); } break; case 1481: + +/* Line 1455 of yacc.c */ #line 9584 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(3) - (4)].list); } break; case 1482: + +/* Line 1455 of yacc.c */ #line 9586 "gram.y" { (yyval.list) = list_make1(makeString("~~")); } break; case 1483: + +/* Line 1455 of yacc.c */ #line 9588 "gram.y" { (yyval.list) = list_make1(makeString("!~~")); } break; case 1484: + +/* Line 1455 of yacc.c */ #line 9590 "gram.y" { (yyval.list) = list_make1(makeString("~~*")); } break; case 1485: + +/* Line 1455 of yacc.c */ #line 9592 "gram.y" { (yyval.list) = list_make1(makeString("!~~*")); } break; case 1486: + +/* Line 1455 of yacc.c */ #line 9604 "gram.y" { - (yyval.list) = list_make1((yyvsp[0].node)); + (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 1487: + +/* Line 1455 of yacc.c */ #line 9608 "gram.y" { - (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); + (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 1488: + +/* Line 1455 of yacc.c */ #line 9613 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].typnam)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); } break; case 1489: + +/* Line 1455 of yacc.c */ #line 9614 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); } break; case 1490: + +/* Line 1455 of yacc.c */ #line 9618 "gram.y" { - (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2])); + (yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)])); } break; case 1491: + +/* Line 1455 of yacc.c */ #line 9622 "gram.y" { - (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2])); + (yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)])); } break; case 1492: + +/* Line 1455 of yacc.c */ #line 9626 "gram.y" { - (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1])); + (yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)])); } break; case 1493: + +/* Line 1455 of yacc.c */ #line 9631 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 1494: + +/* Line 1455 of yacc.c */ #line 9632 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 1495: + +/* Line 1455 of yacc.c */ #line 9638 "gram.y" { - (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node)); + (yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node)); } break; case 1496: + +/* Line 1455 of yacc.c */ #line 9641 "gram.y" { (yyval.list) = NIL; } break; case 1497: + +/* Line 1455 of yacc.c */ #line 9648 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1498: + +/* Line 1455 of yacc.c */ #line 9649 "gram.y" { (yyval.str) = "year"; } break; case 1499: + +/* Line 1455 of yacc.c */ #line 9650 "gram.y" { (yyval.str) = "month"; } break; case 1500: + +/* Line 1455 of yacc.c */ #line 9651 "gram.y" { (yyval.str) = "day"; } break; case 1501: + +/* Line 1455 of yacc.c */ #line 9652 "gram.y" { (yyval.str) = "hour"; } break; case 1502: + +/* Line 1455 of yacc.c */ #line 9653 "gram.y" { (yyval.str) = "minute"; } break; case 1503: + +/* Line 1455 of yacc.c */ #line 9654 "gram.y" { (yyval.str) = "second"; } break; case 1504: + +/* Line 1455 of yacc.c */ #line 9655 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1505: + +/* Line 1455 of yacc.c */ #line 9665 "gram.y" { - (yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); + (yyval.list) = list_make4((yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); } break; case 1506: + +/* Line 1455 of yacc.c */ #line 9669 "gram.y" { - (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); + (yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node)); } break; case 1507: + +/* Line 1455 of yacc.c */ #line 9676 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 1508: + +/* Line 1455 of yacc.c */ #line 9682 "gram.y" - { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); } + { (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); } break; case 1509: + +/* Line 1455 of yacc.c */ #line 9683 "gram.y" { (yyval.list) = NIL; } break; case 1510: + +/* Line 1455 of yacc.c */ #line 9700 "gram.y" { - (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); + (yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node)); } break; case 1511: + +/* Line 1455 of yacc.c */ #line 9704 "gram.y" { /* not legal per SQL99, but might as well allow it */ - (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node)); + (yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yyvsp[(2) - (3)].node)); } break; case 1512: + +/* Line 1455 of yacc.c */ #line 9709 "gram.y" { - (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); + (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); } break; case 1513: + +/* Line 1455 of yacc.c */ #line 9713 "gram.y" { /* @@ -27658,140 +30675,182 @@ 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].node), makeIntConst(1, -1), - makeTypeCast((yyvsp[0].node), + (yyval.list) = list_make3((yyvsp[(1) - (2)].node), makeIntConst(1, -1), + makeTypeCast((yyvsp[(2) - (2)].node), SystemTypeName("int4"), -1)); } break; case 1514: + +/* Line 1455 of yacc.c */ #line 9728 "gram.y" { - (yyval.list) = (yyvsp[0].list); + (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 1515: + +/* Line 1455 of yacc.c */ #line 9732 "gram.y" { (yyval.list) = NIL; } break; case 1516: + +/* Line 1455 of yacc.c */ #line 9736 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 1517: + +/* Line 1455 of yacc.c */ #line 9739 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 1518: + +/* Line 1455 of yacc.c */ #line 9742 "gram.y" - { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); } + { (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); } break; case 1519: + +/* Line 1455 of yacc.c */ #line 9743 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(2) - (2)].list); } break; case 1520: + +/* Line 1455 of yacc.c */ #line 9744 "gram.y" - { (yyval.list) = (yyvsp[0].list); } + { (yyval.list) = (yyvsp[(1) - (1)].list); } break; case 1521: + +/* Line 1455 of yacc.c */ #line 9748 "gram.y" { SubLink *n = makeNode(SubLink); - n->subselect = (yyvsp[0].node); + n->subselect = (yyvsp[(1) - (1)].node); /* other fields will be filled later */ (yyval.node) = (Node *)n; } break; case 1522: + +/* Line 1455 of yacc.c */ #line 9754 "gram.y" - { (yyval.node) = (Node *)(yyvsp[-1].list); } + { (yyval.node) = (Node *)(yyvsp[(2) - (3)].list); } break; case 1523: + +/* Line 1455 of yacc.c */ #line 9765 "gram.y" { CaseExpr *c = makeNode(CaseExpr); c->casetype = InvalidOid; /* not analyzed yet */ - c->arg = (Expr *) (yyvsp[-3].node); - c->args = (yyvsp[-2].list); - c->defresult = (Expr *) (yyvsp[-1].node); - c->location = (yylsp[-4]); + 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)]); (yyval.node) = (Node *)c; } break; case 1524: + +/* Line 1455 of yacc.c */ #line 9778 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 1525: + +/* Line 1455 of yacc.c */ #line 9779 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); } break; case 1526: + +/* Line 1455 of yacc.c */ #line 9784 "gram.y" { CaseWhen *w = makeNode(CaseWhen); - w->expr = (Expr *) (yyvsp[-2].node); - w->result = (Expr *) (yyvsp[0].node); - w->location = (yylsp[-3]); + w->expr = (Expr *) (yyvsp[(2) - (4)].node); + w->result = (Expr *) (yyvsp[(4) - (4)].node); + w->location = (yylsp[(1) - (4)]); (yyval.node) = (Node *)w; } break; case 1527: + +/* Line 1455 of yacc.c */ #line 9794 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(2) - (2)].node); } break; case 1528: + +/* Line 1455 of yacc.c */ #line 9795 "gram.y" { (yyval.node) = NULL; } break; case 1529: + +/* Line 1455 of yacc.c */ #line 9798 "gram.y" - { (yyval.node) = (yyvsp[0].node); } + { (yyval.node) = (yyvsp[(1) - (1)].node); } break; case 1530: + +/* Line 1455 of yacc.c */ #line 9799 "gram.y" { (yyval.node) = NULL; } break; case 1531: + +/* Line 1455 of yacc.c */ #line 9808 "gram.y" { - (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0])); + (yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)])); } break; case 1532: + +/* Line 1455 of yacc.c */ #line 9812 "gram.y" { - (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1])); + (yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); } break; case 1533: + +/* Line 1455 of yacc.c */ #line 9819 "gram.y" { - (yyval.node) = (Node *) makeString((yyvsp[0].str)); + (yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str)); } break; case 1534: + +/* Line 1455 of yacc.c */ #line 9823 "gram.y" { (yyval.node) = (Node *) makeNode(A_Star); @@ -27799,271 +30858,347 @@ yyreduce: break; case 1535: + +/* Line 1455 of yacc.c */ #line 9827 "gram.y" { A_Indices *ai = makeNode(A_Indices); ai->lidx = NULL; - ai->uidx = (yyvsp[-1].node); + ai->uidx = (yyvsp[(2) - (3)].node); (yyval.node) = (Node *) ai; } break; case 1536: + +/* Line 1455 of yacc.c */ #line 9834 "gram.y" { A_Indices *ai = makeNode(A_Indices); - ai->lidx = (yyvsp[-3].node); - ai->uidx = (yyvsp[-1].node); + ai->lidx = (yyvsp[(2) - (5)].node); + ai->uidx = (yyvsp[(4) - (5)].node); (yyval.node) = (Node *) ai; } break; case 1537: + +/* Line 1455 of yacc.c */ #line 9843 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 1538: + +/* Line 1455 of yacc.c */ #line 9844 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); } break; case 1539: + +/* Line 1455 of yacc.c */ #line 9848 "gram.y" { (yyval.list) = NIL; } break; case 1540: + +/* Line 1455 of yacc.c */ #line 9849 "gram.y" - { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); } break; case 1543: + +/* Line 1455 of yacc.c */ #line 9864 "gram.y" - { (yyval.node) = (Node *) (yyvsp[0].node); } + { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); } break; case 1544: + +/* Line 1455 of yacc.c */ #line 9866 "gram.y" { SetToDefault *n = makeNode(SetToDefault); - n->location = (yylsp[0]); + n->location = (yylsp[(1) - (1)]); (yyval.node) = (Node *) n; } break; case 1545: + +/* Line 1455 of yacc.c */ #line 9874 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].node)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); } break; case 1546: + +/* Line 1455 of yacc.c */ #line 9875 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); } break; case 1547: + +/* Line 1455 of yacc.c */ #line 9883 "gram.y" - { (yyval.list) = (yyvsp[-1].list); } + { (yyval.list) = (yyvsp[(2) - (3)].list); } break; case 1548: + +/* Line 1455 of yacc.c */ #line 9894 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].target)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); } break; case 1549: + +/* Line 1455 of yacc.c */ #line 9895 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); } break; case 1550: + +/* Line 1455 of yacc.c */ #line 9899 "gram.y" { (yyval.target) = makeNode(ResTarget); - (yyval.target)->name = (yyvsp[0].str); + (yyval.target)->name = (yyvsp[(3) - (3)].str); (yyval.target)->indirection = NIL; - (yyval.target)->val = (Node *)(yyvsp[-2].node); - (yyval.target)->location = (yylsp[-2]); + (yyval.target)->val = (Node *)(yyvsp[(1) - (3)].node); + (yyval.target)->location = (yylsp[(1) - (3)]); } break; case 1551: + +/* Line 1455 of yacc.c */ #line 9915 "gram.y" { (yyval.target) = makeNode(ResTarget); - (yyval.target)->name = (yyvsp[0].str); + (yyval.target)->name = (yyvsp[(2) - (2)].str); (yyval.target)->indirection = NIL; - (yyval.target)->val = (Node *)(yyvsp[-1].node); - (yyval.target)->location = (yylsp[-1]); + (yyval.target)->val = (Node *)(yyvsp[(1) - (2)].node); + (yyval.target)->location = (yylsp[(1) - (2)]); } break; case 1552: + +/* Line 1455 of yacc.c */ #line 9923 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = NULL; (yyval.target)->indirection = NIL; - (yyval.target)->val = (Node *)(yyvsp[0].node); - (yyval.target)->location = (yylsp[0]); + (yyval.target)->val = (Node *)(yyvsp[(1) - (1)].node); + (yyval.target)->location = (yylsp[(1) - (1)]); } break; case 1553: + +/* Line 1455 of yacc.c */ #line 9931 "gram.y" { ColumnRef *n = makeNode(ColumnRef); n->fields = list_make1(makeNode(A_Star)); - n->location = (yylsp[0]); + n->location = (yylsp[(1) - (1)]); (yyval.target) = makeNode(ResTarget); (yyval.target)->name = NULL; (yyval.target)->indirection = NIL; (yyval.target)->val = (Node *)n; - (yyval.target)->location = (yylsp[0]); + (yyval.target)->location = (yylsp[(1) - (1)]); } break; case 1554: + +/* Line 1455 of yacc.c */ #line 9952 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1555: + +/* Line 1455 of yacc.c */ #line 9953 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1556: + +/* Line 1455 of yacc.c */ #line 9957 "gram.y" - { (yyval.list) = list_make1((yyvsp[0].range)); } + { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); } break; case 1557: + +/* Line 1455 of yacc.c */ #line 9958 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); } break; case 1558: + +/* Line 1455 of yacc.c */ #line 9970 "gram.y" { (yyval.range) = makeNode(RangeVar); (yyval.range)->catalogname = NULL; (yyval.range)->schemaname = NULL; - (yyval.range)->relname = (yyvsp[0].str); - (yyval.range)->location = (yylsp[0]); + (yyval.range)->relname = (yyvsp[(1) - (1)].str); + (yyval.range)->location = (yylsp[(1) - (1)]); } break; case 1559: + +/* Line 1455 of yacc.c */ #line 9978 "gram.y" { - check_qualified_name((yyvsp[0].list)); + check_qualified_name((yyvsp[(2) - (2)].list)); (yyval.range) = makeNode(RangeVar); - switch (list_length((yyvsp[0].list))) + switch (list_length((yyvsp[(2) - (2)].list))) { case 1: (yyval.range)->catalogname = NULL; - (yyval.range)->schemaname = (yyvsp[-1].str); - (yyval.range)->relname = strVal(linitial((yyvsp[0].list))); + (yyval.range)->schemaname = (yyvsp[(1) - (2)].str); + (yyval.range)->relname = strVal(linitial((yyvsp[(2) - (2)].list))); break; case 2: - (yyval.range)->catalogname = (yyvsp[-1].str); - (yyval.range)->schemaname = strVal(linitial((yyvsp[0].list))); - (yyval.range)->relname = strVal(lsecond((yyvsp[0].list))); + (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))); break; default: ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("improper qualified name (too many dotted names): %s", - NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))), - scanner_errposition((yylsp[-1])))); + NameListToString(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)))), + scanner_errposition((yylsp[(1) - (2)])))); break; } - (yyval.range)->location = (yylsp[-1]); + (yyval.range)->location = (yylsp[(1) - (2)]); } break; case 1560: + +/* Line 1455 of yacc.c */ #line 10006 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); } break; case 1561: + +/* Line 1455 of yacc.c */ #line 10008 "gram.y" - { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); } + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); } break; case 1562: + +/* Line 1455 of yacc.c */ #line 10012 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1563: + +/* Line 1455 of yacc.c */ #line 10015 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1564: + +/* Line 1455 of yacc.c */ #line 10018 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1565: + +/* Line 1455 of yacc.c */ #line 10020 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1566: + +/* Line 1455 of yacc.c */ #line 10022 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1567: + +/* Line 1455 of yacc.c */ #line 10024 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1568: + +/* Line 1455 of yacc.c */ #line 10035 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); } break; case 1569: + +/* Line 1455 of yacc.c */ #line 10037 "gram.y" - { (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list))); } + { (yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list))); } break; case 1570: + +/* Line 1455 of yacc.c */ #line 10045 "gram.y" { - (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0])); + (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); } break; case 1571: + +/* Line 1455 of yacc.c */ #line 10049 "gram.y" { - (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0])); + (yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); } break; case 1572: + +/* Line 1455 of yacc.c */ #line 10053 "gram.y" { - (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); + (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); } break; case 1573: + +/* Line 1455 of yacc.c */ #line 10057 "gram.y" { - (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0])); + (yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); } break; case 1574: + +/* Line 1455 of yacc.c */ #line 10061 "gram.y" { /* This is a bit constant per SQL99: @@ -28071,174 +31206,226 @@ yyreduce: * a <general literal> shall not be a * <bit string literal> or a <hex string literal>. */ - (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0])); + (yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); } break; case 1575: + +/* Line 1455 of yacc.c */ #line 10070 "gram.y" { /* generic type 'literal' syntax */ - TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list)); - t->location = (yylsp[-1]); - (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t); + TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list)); + t->location = (yylsp[(1) - (2)]); + (yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), t); } break; case 1576: + +/* Line 1455 of yacc.c */ #line 10077 "gram.y" { /* generic syntax with a type modifier */ - TypeName *t = makeTypeNameFromNameList((yyvsp[-4].list)); - t->typmods = (yyvsp[-2].list); - t->location = (yylsp[-4]); - (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t); + TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (5)].list)); + t->typmods = (yyvsp[(3) - (5)].list); + t->location = (yylsp[(1) - (5)]); + (yyval.node) = makeStringConstCast((yyvsp[(5) - (5)].str), (yylsp[(5) - (5)]), t); } break; case 1577: + +/* Line 1455 of yacc.c */ #line 10085 "gram.y" { - (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam)); + (yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam)); } break; case 1578: + +/* Line 1455 of yacc.c */ #line 10089 "gram.y" { - TypeName *t = (yyvsp[-2].typnam); - t->typmods = (yyvsp[0].list); - (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t); + TypeName *t = (yyvsp[(1) - (3)].typnam); + t->typmods = (yyvsp[(3) - (3)].list); + (yyval.node) = makeStringConstCast((yyvsp[(2) - (3)].str), (yylsp[(2) - (3)]), t); } break; case 1579: + +/* Line 1455 of yacc.c */ #line 10095 "gram.y" { - TypeName *t = (yyvsp[-5].typnam); - if ((yyvsp[0].list) != NIL) + TypeName *t = (yyvsp[(1) - (6)].typnam); + if ((yyvsp[(6) - (6)].list) != NIL) { - if (list_length((yyvsp[0].list)) != 1) + if (list_length((yyvsp[(6) - (6)].list)) != 1) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("interval precision specified twice"), - scanner_errposition((yylsp[-5])))); - t->typmods = lappend((yyvsp[0].list), makeIntConst((yyvsp[-3].ival), (yylsp[-3]))); + scanner_errposition((yylsp[(1) - (6)])))); + t->typmods = lappend((yyvsp[(6) - (6)].list), makeIntConst((yyvsp[(3) - (6)].ival), (yylsp[(3) - (6)]))); } else t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1), - makeIntConst((yyvsp[-3].ival), (yylsp[-3]))); - (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t); + makeIntConst((yyvsp[(3) - (6)].ival), (yylsp[(3) - (6)]))); + (yyval.node) = makeStringConstCast((yyvsp[(5) - (6)].str), (yylsp[(5) - (6)]), t); } break; case 1580: + +/* Line 1455 of yacc.c */ #line 10112 "gram.y" { - (yyval.node) = makeBoolAConst(TRUE, (yylsp[0])); + (yyval.node) = makeBoolAConst(TRUE, (yylsp[(1) - (1)])); } break; case 1581: + +/* Line 1455 of yacc.c */ #line 10116 "gram.y" { - (yyval.node) = makeBoolAConst(FALSE, (yylsp[0])); + (yyval.node) = makeBoolAConst(FALSE, (yylsp[(1) - (1)])); } break; case 1582: + +/* Line 1455 of yacc.c */ #line 10120 "gram.y" { - (yyval.node) = makeNullAConst((yylsp[0])); + (yyval.node) = makeNullAConst((yylsp[(1) - (1)])); } break; case 1583: + +/* Line 1455 of yacc.c */ #line 10125 "gram.y" - { (yyval.ival) = (yyvsp[0].ival); } + { (yyval.ival) = (yyvsp[(1) - (1)].ival); } break; case 1584: + +/* Line 1455 of yacc.c */ #line 10126 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1585: + +/* Line 1455 of yacc.c */ #line 10127 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1586: + +/* Line 1455 of yacc.c */ #line 10129 "gram.y" - { (yyval.ival) = (yyvsp[0].ival); } + { (yyval.ival) = (yyvsp[(1) - (1)].ival); } break; case 1587: + +/* Line 1455 of yacc.c */ #line 10130 "gram.y" - { (yyval.ival) = + (yyvsp[0].ival); } + { (yyval.ival) = + (yyvsp[(2) - (2)].ival); } break; case 1588: + +/* Line 1455 of yacc.c */ #line 10131 "gram.y" - { (yyval.ival) = - (yyvsp[0].ival); } + { (yyval.ival) = - (yyvsp[(2) - (2)].ival); } break; case 1589: + +/* Line 1455 of yacc.c */ #line 10147 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1590: + +/* Line 1455 of yacc.c */ #line 10148 "gram.y" - { (yyval.str) = pstrdup((yyvsp[0].keyword)); } + { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); } break; case 1591: + +/* Line 1455 of yacc.c */ #line 10149 "gram.y" - { (yyval.str) = pstrdup((yyvsp[0].keyword)); } + { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); } break; case 1592: + +/* Line 1455 of yacc.c */ #line 10154 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1593: + +/* Line 1455 of yacc.c */ #line 10155 "gram.y" - { (yyval.str) = pstrdup((yyvsp[0].keyword)); } + { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); } break; case 1594: + +/* Line 1455 of yacc.c */ #line 10156 "gram.y" - { (yyval.str) = pstrdup((yyvsp[0].keyword)); } + { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); } break; case 1595: + +/* Line 1455 of yacc.c */ #line 10162 "gram.y" - { (yyval.str) = (yyvsp[0].str); } + { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 1596: + +/* Line 1455 of yacc.c */ #line 10163 "gram.y" - { (yyval.str) = pstrdup((yyvsp[0].keyword)); } + { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); } break; case 1597: + +/* Line 1455 of yacc.c */ #line 10164 "gram.y" - { (yyval.str) = pstrdup((yyvsp[0].keyword)); } + { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); } break; case 1598: + +/* Line 1455 of yacc.c */ #line 10165 "gram.y" - { (yyval.str) = pstrdup((yyvsp[0].keyword)); } + { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); } break; case 1599: + +/* Line 1455 of yacc.c */ #line 10166 "gram.y" - { (yyval.str) = pstrdup((yyvsp[0].keyword)); } + { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); } break; case 1992: + +/* Line 1455 of yacc.c */ #line 10618 "gram.y" { if (QueryIsRule) @@ -28247,11 +31434,13 @@ yyreduce: ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("OLD used in query that is not in a rule"), - scanner_errposition((yylsp[0])))); + scanner_errposition((yylsp[(1) - (1)])))); } break; case 1993: + +/* Line 1455 of yacc.c */ #line 10628 "gram.y" { if (QueryIsRule) @@ -28260,21 +31449,20 @@ yyreduce: ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("NEW used in query that is not in a rule"), - scanner_errposition((yylsp[0])))); + scanner_errposition((yylsp[(1) - (1)])))); } break; + +/* Line 1455 of yacc.c */ +#line 31460 "gram.c" default: break; } + YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); -/* Line 1126 of yacc.c. */ -#line 28273 "gram.c" - - yyvsp -= yylen; - yyssp -= yylen; - yylsp -= yylen; - + YYPOPSTACK (yylen); + yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; @@ -28303,133 +31491,65 @@ yyerrlab: if (!yyerrstatus) { ++yynerrs; -#if YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (YYPACT_NINF < yyn && yyn < YYLAST) - { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - char *yymsg = 0; -# define YYERROR_VERBOSE_ARGS_MAXIMUM 5 - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - -#if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -#endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) +#if ! YYERROR_VERBOSE + yyerror (YY_("syntax error")); +#else + { + YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); + if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) + { + YYSIZE_T yyalloc = 2 * yysize; + if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) + yyalloc = YYSTACK_ALLOC_MAXIMUM; + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yyalloc); + if (yymsg) + yymsg_alloc = yyalloc; + else { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= yysize1 < yysize; - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; } + } - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= yysize1 < yysize; - yysize = yysize1; - - if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM) - yymsg = (char *) YYSTACK_ALLOC (yysize); - if (yymsg) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yymsg; - int yyi = 0; - while ((*yyp = *yyf)) - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - yyerror (yymsg); - YYSTACK_FREE (yymsg); - } - else - { - yyerror (YY_("syntax error")); + if (0 < yysize && yysize <= yymsg_alloc) + { + (void) yysyntax_error (yymsg, yystate, yychar); + yyerror (yymsg); + } + else + { + yyerror (YY_("syntax error")); + if (yysize != 0) goto yyexhaustedlab; - } - } - else -#endif /* YYERROR_VERBOSE */ - yyerror (YY_("syntax error")); + } + } +#endif } yyerror_range[0] = yylloc; if (yyerrstatus == 3) { - /* If just tried and failed to reuse look-ahead token after an + /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) - { + { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; - } + } else { - yydestruct ("Error: discarding", yytoken, &yylval, &yylloc); + yydestruct ("Error: discarding", + yytoken, &yylval, &yylloc); yychar = YYEMPTY; } } - /* Else will try to reuse look-ahead token after shifting the error + /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; @@ -28442,13 +31562,15 @@ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ - if (0) + if (/*CONSTCOND*/ 0) goto yyerrorlab; yyerror_range[0] = yylsp[1-yylen]; - yylsp -= yylen; - yyvsp -= yylen; - yyssp -= yylen; + /* Do not reclaim the symbols of the rule which action triggered + this YYERROR. */ + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; @@ -28478,24 +31600,22 @@ yyerrlab1: YYABORT; yyerror_range[0] = *yylsp; - yydestruct ("Error: popping", yystos[yystate], yyvsp, yylsp); - YYPOPSTACK; + yydestruct ("Error: popping", + yystos[yystate], yyvsp, yylsp); + YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } - if (yyn == YYFINAL) - YYACCEPT; - *++yyvsp = yylval; yyerror_range[1] = yylloc; /* Using YYLLOC is tempting, but would change the location of - the look-ahead. YYLOC is available though. */ - YYLLOC_DEFAULT (yyloc, yyerror_range - 1, 2); + the lookahead. YYLOC is available though. */ + YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2); *++yylsp = yyloc; - /* Shift the error token. */ + /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; @@ -28516,7 +31636,7 @@ yyabortlab: yyresult = 1; goto yyreturn; -#ifndef yyoverflow +#if !defined(yyoverflow) || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -28527,23 +31647,34 @@ yyexhaustedlab: #endif yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) + if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc); + /* Do not reclaim the symbols of the rule which action triggered + this YYABORT or YYACCEPT. */ + YYPOPSTACK (yylen); + YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp); - YYPOPSTACK; + YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif - return yyresult; +#if YYERROR_VERBOSE + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); +#endif + /* Make sure YYID is used. */ + return YYID (yyresult); } + +/* Line 1675 of yacc.c */ #line 10639 "gram.y" diff --git a/parser/gram.h b/parser/gram.h index 43de21fd4..b65a007d9 100644 --- a/parser/gram.h +++ b/parser/gram.h @@ -1,27 +1,37 @@ -/* A Bison parser, made by GNU Bison 2.1. */ -/* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +/* A Bison parser, made by GNU Bison 2.4.1. */ - This program is free software; you can redistribute it and/or modify +/* Skeleton interface for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - + 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, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + 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. */ -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ /* Tokens. */ #ifndef YYTOKENTYPE @@ -848,9 +858,13 @@ -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +{ + +/* Line 1676 of yacc.c */ #line 162 "gram.y" -typedef union YYSTYPE { + int ival; char chr; char *str; @@ -884,17 +898,20 @@ typedef union YYSTYPE { InsertStmt *istmt; VariableSetStmt *vsetstmt; + + + +/* Line 1676 of yacc.c */ +#line 906 "gram.h" } YYSTYPE; -/* Line 1447 of yacc.c. */ -#line 890 "gram.h" +# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE base_yylval; -#if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED) +#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED typedef struct YYLTYPE { int first_line; @@ -909,4 +926,3 @@ typedef struct YYLTYPE extern YYLTYPE base_yylloc; - [parent: 2e77d1d99b1e]