--- src/backend/parser/gram_orig.c 2019-08-10 18:25:04.000000000 +0700 +++ src/backend/parser/gram.c 2019-08-10 19:05:21.000000000 +0700 @@ -1525,6 +1525,8 @@ #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) +#include "gram_ext.c" + /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const yytype_uint16 yytranslate[] = { @@ -27109,7 +27111,7 @@ yyfmt = yystpcpy (yyformat, yyunexpected); for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + if (yytable_check[yyx + yyn].yy_check == yyx && yyx != YYTERROR) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { @@ -27446,9 +27448,9 @@ /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + if (yyn < 0 || YYLAST < yyn || yytable_check[yyn].yy_check != yytoken) goto yydefault; - yyn = yytable[yyn]; + yyn = yytable_check[yyn].yy_table; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) @@ -45276,8 +45278,8 @@ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; + if (0 <= yystate && yystate <= YYLAST && yytable_check[yystate].yy_check == *yyssp) + yystate = yytable_check[yystate].yy_table; else yystate = yydefgoto[yyn - YYNTOKENS]; @@ -45388,9 +45390,9 @@ if (yyn != YYPACT_NINF) { yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + if (0 <= yyn && yyn <= YYLAST && yytable_check[yyn].yy_check == YYTERROR) { - yyn = yytable[yyn]; + yyn = yytable_check[yyn].yy_table; if (0 < yyn) break; }