quickstep-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shix...@apache.org
Subject [3/4] incubator-quickstep git commit: Addressing comment issues
Date Fri, 17 Jun 2016 15:56:13 GMT
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/fbe049f8/parser/preprocessed/SqlParser_gen.cpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlParser_gen.cpp b/parser/preprocessed/SqlParser_gen.cpp
index 7121f65..c02baf4 100644
--- a/parser/preprocessed/SqlParser_gen.cpp
+++ b/parser/preprocessed/SqlParser_gen.cpp
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.0.2.  */
+/* A Bison parser, made by GNU Bison 3.0.4.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "3.0.2"
+#define YYBISON_VERSION "3.0.4"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -321,7 +321,7 @@ extern int quickstep_yydebug;
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE YYSTYPE;
+
 union YYSTYPE
 {
 #line 119 "../SqlParser.ypp" /* yacc.c:355  */
@@ -424,6 +424,8 @@ union YYSTYPE
 
 #line 426 "SqlParser_gen.cpp" /* yacc.c:355  */
 };
+
+typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
 #endif
@@ -455,7 +457,7 @@ int quickstep_yyparse (yyscan_t yyscanner, quickstep::ParseStatement **parsedSta
 #include "SqlLexer_gen.hpp"
 void NotSupported(const YYLTYPE *location, yyscan_t yyscanner, const std::string &feature);
 
-#line 459 "SqlParser_gen.cpp" /* yacc.c:358  */
+#line 461 "SqlParser_gen.cpp" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -1969,7 +1971,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 1973 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1975 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 4: /* TOKEN_NAME  */
@@ -1979,7 +1981,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 1983 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1985 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 5: /* TOKEN_STRING_SINGLE_QUOTED  */
@@ -1989,7 +1991,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 1993 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1995 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 6: /* TOKEN_STRING_DOUBLE_QUOTED  */
@@ -1999,7 +2001,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2003 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2005 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 7: /* TOKEN_UNSIGNED_NUMVAL  */
@@ -2009,7 +2011,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).numeric_literal_value_);
   }
 }
-#line 2013 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2015 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 146: /* sql_statement  */
@@ -2019,7 +2021,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).statement_);
   }
 }
-#line 2023 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2025 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 147: /* quit_statement  */
@@ -2029,7 +2031,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).quit_statement_);
   }
 }
-#line 2033 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2035 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 148: /* alter_table_statement  */
@@ -2039,7 +2041,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).statement_);
   }
 }
-#line 2043 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2045 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 149: /* create_table_statement  */
@@ -2049,7 +2051,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).create_table_statement_);
   }
 }
-#line 2053 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2055 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 150: /* create_index_statement  */
@@ -2059,7 +2061,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).statement_);
   }
 }
-#line 2063 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2065 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 151: /* drop_table_statement  */
@@ -2069,7 +2071,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).drop_table_statement_);
   }
 }
-#line 2073 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2075 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 152: /* column_def  */
@@ -2079,7 +2081,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_definition_);
   }
 }
-#line 2083 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2085 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 153: /* column_def_commalist  */
@@ -2089,7 +2091,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_definition_list_);
   }
 }
-#line 2093 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2095 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 154: /* data_type  */
@@ -2099,7 +2101,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).data_type_);
   }
 }
-#line 2103 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2105 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 155: /* column_constraint_def  */
@@ -2109,7 +2111,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).column_constraint_);
   }
 }
-#line 2113 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2115 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 156: /* column_constraint_def_list  */
@@ -2119,7 +2121,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).column_constraint_list_);
   }
 }
-#line 2123 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2125 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 157: /* opt_column_constraint_def_list  */
@@ -2129,7 +2131,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).column_constraint_list_);
   }
 }
-#line 2133 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2135 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 161: /* opt_column_list  */
@@ -2139,7 +2141,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_list_);
   }
 }
-#line 2143 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2145 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 162: /* opt_block_properties  */
@@ -2149,7 +2151,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).block_properties_);
   }
 }
-#line 2153 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2155 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 163: /* opt_partition_clause  */
@@ -2159,7 +2161,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).partition_clause_);
   }
 }
-#line 2163 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2165 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 164: /* partition_type  */
@@ -2169,7 +2171,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2173 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2175 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 165: /* key_value_list  */
@@ -2179,7 +2181,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_value_list_);
   }
 }
-#line 2183 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2185 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 166: /* key_value  */
@@ -2189,7 +2191,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_value_);
   }
 }
-#line 2193 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2195 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 167: /* key_string_value  */
@@ -2199,7 +2201,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_string_value_);
   }
 }
-#line 2203 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2205 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 168: /* key_string_list  */
@@ -2209,7 +2211,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_string_list_);
   }
 }
-#line 2213 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2215 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 169: /* key_integer_value  */
@@ -2219,7 +2221,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_integer_value_);
   }
 }
-#line 2223 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2225 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 170: /* index_type  */
@@ -2229,7 +2231,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2233 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2235 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 171: /* opt_index_properties  */
@@ -2239,7 +2241,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_value_list_);
   }
 }
-#line 2243 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2245 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 172: /* insert_statement  */
@@ -2249,7 +2251,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).insert_statement_);
   }
 }
-#line 2253 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2255 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 173: /* copy_from_statement  */
@@ -2259,7 +2261,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).copy_from_statement_);
   }
 }
-#line 2263 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2265 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 174: /* opt_copy_from_params  */
@@ -2269,7 +2271,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).copy_from_params_);
   }
 }
-#line 2273 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2275 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 175: /* copy_from_params  */
@@ -2279,7 +2281,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).copy_from_params_);
   }
 }
-#line 2283 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2285 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 176: /* update_statement  */
@@ -2289,7 +2291,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).update_statement_);
   }
 }
-#line 2293 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2295 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 177: /* delete_statement  */
@@ -2299,7 +2301,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).delete_statement_);
   }
 }
-#line 2303 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2305 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 178: /* assignment_list  */
@@ -2309,7 +2311,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).assignment_list_);
   }
 }
-#line 2313 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2315 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 179: /* assignment_item  */
@@ -2319,7 +2321,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).assignment_);
   }
 }
-#line 2323 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2325 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 180: /* select_statement  */
@@ -2329,7 +2331,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).select_statement_);
   }
 }
-#line 2333 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2335 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 181: /* with_clause  */
@@ -2339,7 +2341,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).with_list_);
   }
 }
-#line 2343 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2345 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 182: /* with_list  */
@@ -2349,7 +2351,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).with_list_);
   }
 }
-#line 2353 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2355 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 183: /* with_list_element  */
@@ -2359,7 +2361,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).with_list_element_);
   }
 }
-#line 2363 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2365 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 184: /* select_query  */
@@ -2369,7 +2371,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).select_query_);
   }
 }
-#line 2373 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2375 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 186: /* selection  */
@@ -2379,7 +2381,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).selection_);
   }
 }
-#line 2383 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2385 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 187: /* selection_item_commalist  */
@@ -2389,7 +2391,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).selection_list_);
   }
 }
-#line 2393 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2395 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 188: /* selection_item  */
@@ -2399,7 +2401,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).selection_item_);
   }
 }
-#line 2403 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2405 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 189: /* from_clause  */
@@ -2409,7 +2411,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_list_);
   }
 }
-#line 2413 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2415 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 190: /* subquery_expression  */
@@ -2419,7 +2421,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).subquery_expression_);
   }
 }
-#line 2423 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2425 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 191: /* opt_sample_clause  */
@@ -2429,13 +2431,13 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_sample_clause_);
   }
 }
-#line 2433 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2435 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 192: /* join_type  */
 #line 611 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2439 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2441 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 193: /* joined_table_reference  */
@@ -2445,7 +2447,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_);
   }
 }
-#line 2449 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2451 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 194: /* table_reference  */
@@ -2455,7 +2457,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_);
   }
 }
-#line 2459 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2461 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 195: /* table_reference_signature  */
@@ -2465,7 +2467,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_signature_);
   }
 }
-#line 2469 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2471 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 196: /* table_reference_signature_primary  */
@@ -2475,7 +2477,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_signature_);
   }
 }
-#line 2479 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2481 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 197: /* joined_table_reference_commalist  */
@@ -2485,7 +2487,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_list_);
   }
 }
-#line 2489 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2491 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 198: /* opt_group_by_clause  */
@@ -2495,7 +2497,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_group_by_clause_);
   }
 }
-#line 2499 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2501 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 199: /* opt_having_clause  */
@@ -2505,7 +2507,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_having_clause_);
   }
 }
-#line 2509 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2511 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 200: /* opt_order_by_clause  */
@@ -2515,7 +2517,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_order_by_clause_);
   }
 }
-#line 2519 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2521 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 201: /* opt_limit_clause  */
@@ -2525,7 +2527,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_limit_clause_);
   }
 }
-#line 2529 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2531 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 202: /* opt_window_clause  */
@@ -2535,7 +2537,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_window_clause_);
   }
 }
-#line 2539 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2541 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 203: /* window_declaration_list  */
@@ -2545,7 +2547,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_window_clause_);
   }
 }
-#line 2549 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2551 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 204: /* window_declaration  */
@@ -2555,7 +2557,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).window_definition_);
   }
 }
-#line 2559 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2561 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 205: /* window_definition  */
@@ -2565,7 +2567,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).window_definition_);
   }
 }
-#line 2569 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2571 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 206: /* opt_window_partition  */
@@ -2575,7 +2577,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).window_partition_by_list_);
   }
 }
-#line 2579 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2581 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 207: /* opt_window_order  */
@@ -2585,7 +2587,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).window_order_by_list_);
   }
 }
-#line 2589 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2591 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 208: /* opt_window_frame  */
@@ -2595,13 +2597,13 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).window_frame_info_);
   }
 }
-#line 2599 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2601 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 209: /* frame_mode  */
 #line 607 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2605 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2607 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 210: /* frame_preceding  */
@@ -2611,7 +2613,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).numeric_literal_value_);
   }
 }
-#line 2615 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2617 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 211: /* frame_following  */
@@ -2621,7 +2623,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).numeric_literal_value_);
   }
 }
-#line 2625 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2627 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 212: /* order_commalist  */
@@ -2631,7 +2633,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).order_commalist_);
   }
 }
-#line 2635 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2637 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 213: /* order_item  */
@@ -2641,7 +2643,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).order_item_);
   }
 }
-#line 2645 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2647 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 214: /* opt_order_direction  */
@@ -2651,7 +2653,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).order_direction_);
   }
 }
-#line 2655 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2657 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 215: /* opt_nulls_first  */
@@ -2661,7 +2663,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).order_direction_);
   }
 }
-#line 2665 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2667 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 216: /* opt_where_clause  */
@@ -2671,7 +2673,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2675 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2677 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 217: /* where_clause  */
@@ -2681,7 +2683,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2685 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2687 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 218: /* or_expression  */
@@ -2691,7 +2693,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2695 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2697 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 219: /* and_expression  */
@@ -2701,7 +2703,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2705 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2707 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 220: /* not_expression  */
@@ -2711,7 +2713,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2715 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2717 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 221: /* predicate_expression_base  */
@@ -2721,7 +2723,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2725 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2727 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 222: /* add_expression  */
@@ -2731,7 +2733,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2735 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2737 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 223: /* multiply_expression  */
@@ -2741,7 +2743,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2745 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2747 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 224: /* unary_expression  */
@@ -2751,7 +2753,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2755 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2757 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 225: /* expression_base  */
@@ -2761,7 +2763,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2765 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2767 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 226: /* function_call  */
@@ -2771,7 +2773,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).function_call_);
   }
 }
-#line 2775 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2777 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 227: /* extract_function  */
@@ -2781,7 +2783,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2785 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2787 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 228: /* substr_function  */
@@ -2791,7 +2793,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2795 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2797 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 229: /* case_expression  */
@@ -2801,7 +2803,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2805 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2807 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 230: /* simple_when_clause_list  */
@@ -2811,7 +2813,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).simple_when_clause_list_);
   }
 }
-#line 2815 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2817 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 231: /* simple_when_clause  */
@@ -2821,7 +2823,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).simple_when_clause_);
   }
 }
-#line 2825 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2827 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 232: /* searched_when_clause_list  */
@@ -2831,7 +2833,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).searched_when_clause_list_);
   }
 }
-#line 2835 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2837 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 233: /* searched_when_clause  */
@@ -2841,7 +2843,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).searched_when_clause_);
   }
 }
-#line 2845 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2847 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 234: /* opt_else_clause  */
@@ -2851,7 +2853,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2855 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2857 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 235: /* expression_list  */
@@ -2861,7 +2863,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_list_);
   }
 }
-#line 2865 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2867 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 236: /* literal_value  */
@@ -2871,7 +2873,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).literal_value_);
   }
 }
-#line 2875 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2877 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 237: /* datetime_unit  */
@@ -2881,7 +2883,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2885 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2887 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 238: /* literal_value_commalist  */
@@ -2891,7 +2893,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).literal_value_list_);
   }
 }
-#line 2895 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2897 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 239: /* attribute_ref  */
@@ -2901,7 +2903,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_);
   }
 }
-#line 2905 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2907 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 240: /* attribute_ref_list  */
@@ -2911,31 +2913,31 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_list_);
   }
 }
-#line 2915 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2917 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 241: /* comparison_operation  */
 #line 608 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2921 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2923 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 242: /* unary_operation  */
 #line 609 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2927 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2929 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 243: /* add_operation  */
 #line 610 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2933 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2935 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 244: /* multiply_operation  */
 #line 610 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2939 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2941 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 245: /* name_commalist  */
@@ -2945,7 +2947,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_list_);
   }
 }
-#line 2949 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2951 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 246: /* any_name  */
@@ -2955,13 +2957,13 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2959 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2961 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 247: /* boolean_value  */
 #line 607 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2965 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2967 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 248: /* command  */
@@ -2971,7 +2973,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).command_);
   }
 }
-#line 2975 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2977 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 249: /* command_argument_list  */
@@ -2981,7 +2983,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).command_argument_list_);
   }
 }
-#line 2985 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2987 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
 
@@ -3278,7 +3280,7 @@ yyreduce:
     *parsedStatement = (yyvsp[-1].statement_);
     YYACCEPT;
   }
-#line 3282 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3284 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 3:
@@ -3287,7 +3289,7 @@ yyreduce:
     *parsedStatement = (yyvsp[-1].statement_);
     YYACCEPT;
   }
-#line 3291 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3293 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 4:
@@ -3296,7 +3298,7 @@ yyreduce:
     *parsedStatement = (yyvsp[-1].command_);
     YYACCEPT;
   }
-#line 3300 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3302 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 5:
@@ -3305,7 +3307,7 @@ yyreduce:
     *parsedStatement = (yyvsp[-1].command_);
     YYACCEPT;
   }
-#line 3309 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3311 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 6:
@@ -3313,7 +3315,7 @@ yyreduce:
     {
     YYABORT;
   }
-#line 3317 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3319 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 7:
@@ -3322,7 +3324,7 @@ yyreduce:
     // Regular yyparse() return codes are non-negative, so use a negative one here.
     return -1;
   }
-#line 3326 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3328 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 8:
@@ -3330,7 +3332,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].statement_);
   }
-#line 3334 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3336 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 9:
@@ -3338,7 +3340,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].copy_from_statement_);
   }
-#line 3342 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3344 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 10:
@@ -3346,7 +3348,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].create_table_statement_);
   }
-#line 3350 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3352 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 11:
@@ -3354,7 +3356,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].statement_);
   }
-#line 3358 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3360 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 12:
@@ -3362,7 +3364,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].delete_statement_);
   }
-#line 3366 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3368 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 13:
@@ -3370,7 +3372,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].drop_table_statement_);
   }
-#line 3374 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3376 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 14:
@@ -3378,7 +3380,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].insert_statement_);
   }
-#line 3382 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3384 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 15:
@@ -3386,7 +3388,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].quit_statement_);
   }
-#line 3390 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3392 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 16:
@@ -3394,7 +3396,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].select_statement_);
   }
-#line 3398 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3400 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 17:
@@ -3402,7 +3404,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].update_statement_);
   }
-#line 3406 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3408 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 18:
@@ -3410,7 +3412,7 @@ yyreduce:
     {
     (yyval.quit_statement_) = new quickstep::ParseStatementQuit((yylsp[0]).first_line, (yylsp[0]).first_column);
   }
-#line 3414 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3416 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 19:
@@ -3422,7 +3424,7 @@ yyreduce:
     NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
     YYERROR;
   }
-#line 3426 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3428 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 20:
@@ -3433,7 +3435,7 @@ yyreduce:
     NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
     YYERROR;
   }
-#line 3437 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3439 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 21:
@@ -3445,7 +3447,7 @@ yyreduce:
     NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
     YYERROR;
   }
-#line 3449 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3451 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 22:
@@ -3457,7 +3459,7 @@ yyreduce:
     NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
     YYERROR;
   }
-#line 3461 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3463 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 23:
@@ -3465,7 +3467,7 @@ yyreduce:
     {
     (yyval.create_table_statement_) = new quickstep::ParseStatementCreateTable((yylsp[-8]).first_line, (yylsp[-8]).first_column, (yyvsp[-6].string_value_), (yyvsp[-4].attribute_definition_list_), (yyvsp[-1].block_properties_), (yyvsp[0].partition_clause_));
   }
-#line 3469 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3471 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 24:
@@ -3477,7 +3479,7 @@ yyreduce:
       (yyval.statement_) = new quickstep::ParseStatementCreateIndex((yylsp[-8]).first_line, (yylsp[-8]).first_column, (yyvsp[-6].string_value_), (yyvsp[-4].string_value_), (yyvsp[-3].attribute_list_), (yyvsp[-1].string_value_));
     }
   }
-#line 3481 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3483 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 25:
@@ -3485,7 +3487,7 @@ yyreduce:
     {
     (yyval.drop_table_statement_) = new quickstep::ParseStatementDropTable((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].string_value_));
   }
-#line 3489 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3491 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 26:
@@ -3493,7 +3495,7 @@ yyreduce:
     {
     (yyval.attribute_definition_) = new quickstep::ParseAttributeDefinition((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-2].string_value_), (yyvsp[-1].data_type_), (yyvsp[0].column_constraint_list_));
   }
-#line 3497 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3499 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 27:
@@ -3502,7 +3504,7 @@ yyreduce:
     (yyval.attribute_definition_list_) = new quickstep::PtrList<quickstep::ParseAttributeDefinition>();
     (yyval.attribute_definition_list_)->push_back((yyvsp[0].attribute_definition_));
   }
-#line 3506 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3508 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 28:
@@ -3511,7 +3513,7 @@ yyreduce:
     (yyval.attribute_definition_list_) = (yyvsp[-2].attribute_definition_list_);
     (yyval.attribute_definition_list_)->push_back((yyvsp[0].attribute_definition_));
   }
-#line 3515 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3517 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 29:
@@ -3521,7 +3523,7 @@ yyreduce:
     NotSupported(&(yylsp[0]), yyscanner, "BIT data type");
     YYERROR;
   }
-#line 3525 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3527 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 30:
@@ -3529,7 +3531,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDatetime));
   }
-#line 3533 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3535 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 31:
@@ -3537,7 +3539,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDatetime));
   }
-#line 3541 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3543 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 32:
@@ -3547,7 +3549,7 @@ yyreduce:
     NotSupported(&(yylsp[0]), yyscanner, "TIME data type");
     YYERROR;
   }
-#line 3551 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3553 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 33:
@@ -3555,7 +3557,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDatetime));
   }
-#line 3559 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3561 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 34:
@@ -3563,7 +3565,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDouble));
   }
-#line 3567 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3569 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 35:
@@ -3571,7 +3573,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDouble));
   }
-#line 3575 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3577 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 36:
@@ -3579,7 +3581,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDouble));
   }
-#line 3583 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3585 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 37:
@@ -3587,7 +3589,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kFloat));
   }
-#line 3591 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3593 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 38:
@@ -3595,7 +3597,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kInt));
   }
-#line 3599 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3601 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 39:
@@ -3603,7 +3605,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kInt));
   }
-#line 3607 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3609 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 40:
@@ -3611,7 +3613,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kLong));
   }
-#line 3615 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3617 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 41:
@@ -3619,7 +3621,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kLong));
   }
-#line 3623 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3625 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 42:
@@ -3636,7 +3638,7 @@ yyreduce:
         "or YEARMONTH INTERVAL");
     YYERROR;
   }
-#line 3640 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3642 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 43:
@@ -3644,7 +3646,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDatetimeInterval));
   }
-#line 3648 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3650 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 44:
@@ -3652,7 +3654,7 @@ yyreduce:
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kYearMonthInterval));
   }
-#line 3656 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3658 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 45:
@@ -3675,7 +3677,7 @@ yyreduce:
       }
     }
   }
-#line 3679 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3681 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 46:
@@ -3698,7 +3700,7 @@ yyreduce:
       }
     }
   }
-#line 3702 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3704 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 47:
@@ -3706,7 +3708,7 @@ yyreduce:
     {
     (yyval.column_constraint_) = new quickstep::ParseColumnConstraintNull((yylsp[0]).first_line, (yylsp[0]).first_column);
   }
-#line 3710 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3712 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 48:
@@ -3714,7 +3716,7 @@ yyreduce:
     {
     (yyval.column_constraint_) = new quickstep::ParseColumnConstraintNotNull((yylsp[-1]).first_line, (yylsp[-1]).first_column);
   }
-#line 3718 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3720 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 49:
@@ -3724,7 +3726,7 @@ yyreduce:
     NotSupported(&(yylsp[0]), yyscanner, "Column Constraints (UNIQUE)");
     YYERROR;
   }
-#line 3728 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3730 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 50:
@@ -3734,7 +3736,7 @@ yyreduce:
     NotSupported(&(yylsp[-1]), yyscanner, "Column Constraints (PRIMARY KEY)");
     YYERROR;
   }
-#line 3738 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3740 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 51:
@@ -3745,7 +3747,7 @@ yyreduce:
     NotSupported(&(yylsp[-1]), yyscanner, "Column Constraints (DEFAULT)");
     YYERROR;
   }
-#line 3749 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3751 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 52:
@@ -3756,7 +3758,7 @@ yyreduce:
     NotSupported(&(yylsp[-3]), yyscanner, "Column Constraints (CHECK)");
     YYERROR;
   }
-#line 3760 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3762 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 53:
@@ -3768,7 +3770,7 @@ yyreduce:
     NotSupported(&(yylsp[-4]), yyscanner, "Foreign Keys");
     YYERROR;
   }
-#line 3772 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3774 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 54:
@@ -3777,7 +3779,7 @@ yyreduce:
     (yyval.column_constraint_list_) = (yyvsp[-1].column_constraint_list_);
     (yyval.column_constraint_list_)->push_back((yyvsp[0].column_constraint_));
   }
-#line 3781 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3783 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 55:
@@ -3786,7 +3788,7 @@ yyreduce:
     (yyval.column_constraint_list_) = new quickstep::PtrList<quickstep::ParseColumnConstraint>();
     (yyval.column_constraint_list_)->push_back((yyvsp[0].column_constraint_));
   }
-#line 3790 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3792 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 56:
@@ -3794,7 +3796,7 @@ yyreduce:
     {
     (yyval.column_constraint_list_) = nullptr;
   }
-#line 3798 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3800 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 57:
@@ -3802,7 +3804,7 @@ yyreduce:
     {
     (yyval.column_constraint_list_) = (yyvsp[0].column_constraint_list_);
   }
-#line 3806 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3808 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 58:
@@ -3812,7 +3814,7 @@ yyreduce:
     NotSupported(&(yylsp[-3]), yyscanner, "Table Constraints (UNIQUE)");
     YYERROR;
   }
-#line 3816 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3818 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 59:
@@ -3822,7 +3824,7 @@ yyreduce:
     NotSupported(&(yylsp[-4]), yyscanner, "Table Constraints (PRIMARY KEY)");
     YYERROR;
   }
-#line 3826 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3828 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 60:
@@ -3834,7 +3836,7 @@ yyreduce:
     NotSupported(&(yylsp[-9]), yyscanner, "Table Constraints (FOREIGN KEY)");
     YYERROR;
   }
-#line 3838 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3840 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 61:
@@ -3844,7 +3846,7 @@ yyreduce:
     NotSupported(&(yylsp[-3]), yyscanner, "Table Constraints (CHECK)");
     YYERROR;
   }
-#line 3848 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3850 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 62:
@@ -3853,7 +3855,7 @@ yyreduce:
     NotSupported(&(yylsp[-2]), yyscanner, "Table Constraints");
     YYERROR;
   }
-#line 3857 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3859 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 63:
@@ -3862,7 +3864,7 @@ yyreduce:
     NotSupported(&(yylsp[0]), yyscanner, "Table Constraints");
     YYERROR;
   }
-#line 3866 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3868 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 64:
@@ -3870,7 +3872,7 @@ yyreduce:
     {
     /* $$ = nullptr; */
   }
-#line 3874 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3876 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 65:
@@ -3878,7 +3880,7 @@ yyreduce:
     {
     /* $$ = $1; */
   }
-#line 3882 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3884 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 66:
@@ -3886,7 +3888,7 @@ yyreduce:
     {
     (yyval.attribute_list_) = nullptr;
   }
-#line 3890 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3892 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 67:
@@ -3894,7 +3896,7 @@ yyreduce:
     {
     (yyval.attribute_list_) = (yyvsp[-1].attribute_list_);
   }
-#line 3898 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3900 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 68:
@@ -3902,7 +3904,7 @@ yyreduce:
     {
     (yyval.block_properties_) = nullptr;
   }
-#line 3906 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3908 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 69:
@@ -3910,7 +3912,7 @@ yyreduce:
     {
     (yyval.block_properties_) = new quickstep::ParseBlockProperties((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-1].key_value_list_));
   }
-#line 3914 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3916 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 70:
@@ -3918,7 +3920,7 @@ yyreduce:
     {
     (yyval.partition_clause_) = nullptr;
   }
-#line 3922 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3924 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 71:
@@ -3940,7 +3942,7 @@ yyreduce:
       }
     }
   }
-#line 3944 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3946 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 72:
@@ -3949,7 +3951,7 @@ yyreduce:
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
            std::to_string(quickstep::PartitionSchemeHeader::PartitionType::kHash));
   }
-#line 3953 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3955 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 73:
@@ -3958,7 +3960,7 @@ yyreduce:
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
            std::to_string(quickstep::PartitionSchemeHeader::PartitionType::kRange));
   }
-#line 3962 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3964 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 74:
@@ -3967,7 +3969,7 @@ yyreduce:
     (yyval.key_value_list_) = new quickstep::PtrList<quickstep::ParseKeyValue>();
     (yyval.key_value_list_)->push_back((yyvsp[0].key_value_));
   }
-#line 3971 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3973 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 75:
@@ -3976,7 +3978,7 @@ yyreduce:
     (yyval.key_value_list_) = (yyvsp[-2].key_value_list_);
     (yyval.key_value_list_)->push_back((yyvsp[0].key_value_));
   }
-#line 3980 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3982 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 76:
@@ -3984,7 +3986,7 @@ yyreduce:
     {
     (yyval.key_value_) = (yyvsp[0].key_string_value_);
   }
-#line 3988 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3990 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 77:
@@ -3992,7 +3994,7 @@ yyreduce:
     {
     (yyval.key_value_) = (yyvsp[0].key_string_list_);
   }
-#line 3996 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 3998 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 78:
@@ -4000,7 +4002,7 @@ yyreduce:
     {
     (yyval.key_value_) = (yyvsp[0].key_integer_value_);
   }
-#line 4004 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4006 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 79:
@@ -4008,7 +4010,7 @@ yyreduce:
     {
     (yyval.key_string_value_) = new quickstep::ParseKeyStringValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].string_value_));
   }
-#line 4012 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4014 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 80:
@@ -4018,7 +4020,7 @@ yyreduce:
     (yyval.key_string_value_) = new quickstep::ParseKeyStringValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_),
         new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, "ALL"));
   }
-#line 4022 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4024 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 81:
@@ -4026,7 +4028,7 @@ yyreduce:
     {
     (yyval.key_string_list_) = new quickstep::ParseKeyStringList((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-3].string_value_), (yyvsp[-1].string_list_));
   }
-#line 4030 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4032 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 82:
@@ -4040,7 +4042,7 @@ yyreduce:
     }
     (yyval.key_integer_value_) = new quickstep::ParseKeyIntegerValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].numeric_literal_value_));
   }
-#line 4044 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4046 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 83:
@@ -4050,7 +4052,7 @@ yyreduce:
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
            std::to_string(quickstep::IndexSubBlockType::kBitWeavingV));
   }
-#line 4054 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4056 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 84:
@@ -4059,7 +4061,7 @@ yyreduce:
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
            std::to_string(quickstep::IndexSubBlockType::kBloomFilter));
   }
-#line 4063 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4065 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 85:
@@ -4068,7 +4070,7 @@ yyreduce:
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
            std::to_string(quickstep::IndexSubBlockType::kCSBTree));
   }
-#line 4072 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4074 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 86:
@@ -4077,7 +4079,7 @@ yyreduce:
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
            std::to_string(quickstep::IndexSubBlockType::kSMA));
   }
-#line 4081 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4083 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 87:
@@ -4085,7 +4087,7 @@ yyreduce:
     {
     (yyval.key_value_list_) = nullptr;
   }
-#line 4089 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4091 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 88:
@@ -4093,7 +4095,7 @@ yyreduce:
     {
     (yyval.key_value_list_) = (yyvsp[-1].key_value_list_);
   }
-#line 4097 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4099 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 89:
@@ -4106,7 +4108,7 @@ yyreduce:
     NotSupported(&(yylsp[-6]), yyscanner, "list of column names in INSERT statement");
     YYERROR;
   }
-#line 4110 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4112 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 90:
@@ -4114,7 +4116,7 @@ yyreduce:
     {
     (yyval.insert_statement_) = new quickstep::ParseStatementInsertTuple((yylsp[-6]).first_line, (yylsp[-6]).first_column, (yyvsp[-4].string_value_), (yyvsp[-1].literal_value_list_));
   }
-#line 4118 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4120 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 91:
@@ -4122,7 +4124,7 @@ yyreduce:
     {
     (yyval.insert_statement_) = new quickstep::ParseStatementInsertSelection((yylsp[-3]).first_line, (yylsp[-2]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].select_query_), nullptr);
   }
-#line 4126 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4128 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 92:
@@ -4130,7 +4132,7 @@ yyreduce:
     {
     (yyval.insert_statement_) = new quickstep::ParseStatementInsertSelection((yylsp[-4]).first_line, (yylsp[-3]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].select_query_), (yyvsp[-4].with_list_));
   }
-#line 4134 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4136 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 93:
@@ -4138,7 +4140,7 @@ yyreduce:
     {
     (yyval.copy_from_statement_) = new quickstep::ParseStatementCopyFrom((yylsp[-4]).first_line, (yylsp[-4]).first_column, (yyvsp[-3].string_value_), (yyvsp[-1].string_value_), (yyvsp[0].copy_from_params_));
   }
-#line 4142 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4144 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 94:
@@ -4146,7 +4148,7 @@ yyreduce:
     {
     (yyval.copy_from_params_) = nullptr;
   }
-#line 4150 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4152 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 95:
@@ -4154,7 +4156,7 @@ yyreduce:
     {
     (yyval.copy_from_params_) = (yyvsp[-1].copy_from_params_);
   }
-#line 4158 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4160 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 96:
@@ -4163,7 +4165,7 @@ yyreduce:
     (yyval.copy_from_params_) = new quickstep::ParseCopyFromParams((yylsp[-1]).first_line, (yylsp[-1]).first_column);
     (yyval.copy_from_params_)->set_delimiter((yyvsp[0].string_value_));
   }
-#line 4167 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4169 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 97:
@@ -4172,7 +4174,7 @@ yyreduce:
     (yyval.copy_from_params_) = new quickstep::ParseCopyFromParams((yylsp[-1]).first_line, (yylsp[-1]).first_column);
     (yyval.copy_from_params_)->escape_strings = (yyvsp[0].boolean_value_);
   }
-#line 4176 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4178 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 98:
@@ -4181,7 +4183,7 @@ yyreduce:
     (yyval.copy_from_params_) = (yyvsp[-3].copy_from_params_);
     (yyval.copy_from_params_)->set_delimiter((yyvsp[0].string_value_));
   }
-#line 4185 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4187 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 99:
@@ -4190,7 +4192,7 @@ yyreduce:
     (yyval.copy_from_params_) = (yyvsp[-3].copy_from_params_);
     (yyval.copy_from_params_)->escape_strings = (yyvsp[0].boolean_value_);
   }
-#line 4194 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4196 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 100:
@@ -4198,7 +4200,7 @@ yyreduce:
     {
     (yyval.update_statement_) = new quickstep::ParseStatementUpdate((yylsp[-4]).first_line, (yylsp[-4]).first_column, (yyvsp[-3].string_value_), (yyvsp[-1].assignment_list_), (yyvsp[0].predicate_));
   }
-#line 4202 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4204 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 101:
@@ -4206,7 +4208,7 @@ yyreduce:
     {
     (yyval.delete_statement_) = new quickstep::ParseStatementDelete((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].predicate_));
   }
-#line 4210 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4212 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 102:
@@ -4215,7 +4217,7 @@ yyreduce:
     (yyval.assignment_list_) = (yyvsp[-2].assignment_list_);
     (yyval.assignment_list_)->push_back((yyvsp[0].assignment_));
   }
-#line 4219 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4221 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 103:
@@ -4224,7 +4226,7 @@ yyreduce:
     (yyval.assignment_list_) = new quickstep::PtrList<quickstep::ParseAssignment>();
     (yyval.assignment_list_)->push_back((yyvsp[0].assignment_));
   }
-#line 4228 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4230 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 104:
@@ -4232,7 +4234,7 @@ yyreduce:
     {
     (yyval.assignment_) = new quickstep::ParseAssignment((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-2].string_value_), (yyvsp[0].expression_));
   }
-#line 4236 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4238 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 105:
@@ -4240,7 +4242,7 @@ yyreduce:
     {
     (yyval.select_statement_) = new quickstep::ParseStatementSelect((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].select_query_), nullptr);
   }
-#line 4244 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4246 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 106:
@@ -4248,7 +4250,7 @@ yyreduce:
     {
     (yyval.select_statement_) = new quickstep::ParseStatementSelect((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[0].select_query_), (yyvsp[-1].with_list_));
   }
-#line 4252 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4254 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 107:
@@ -4256,7 +4258,7 @@ yyreduce:
     {
     (yyval.with_list_) = (yyvsp[0].with_list_);
   }
-#line 4260 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4262 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 108:
@@ -4265,7 +4267,7 @@ yyreduce:
     (yyval.with_list_) = new quickstep::PtrVector<quickstep::ParseSubqueryTableReference>();
     (yyval.with_list_)->push_back((yyvsp[0].with_list_element_));
   }
-#line 4269 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4271 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 109:
@@ -4274,7 +4276,7 @@ yyreduce:
     (yyval.with_list_) = (yyvsp[-2].with_list_);
     (yyval.with_list_)->push_back((yyvsp[0].with_list_element_));
   }
-#line 4278 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4280 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 110:
@@ -4283,7 +4285,7 @@ yyreduce:
     (yyval.with_list_element_) = new quickstep::ParseSubqueryTableReference((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].subquery_expression_));
     (yyval.with_list_element_)->set_table_reference_signature((yyvsp[-2].table_reference_signature_));
   }
-#line 4287 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4289 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 111:
@@ -4291,7 +4293,7 @@ yyreduce:
     {
     (yyval.select_query_) = new quickstep::ParseSelect((yylsp[-9]).first_line, (yylsp[-9]).first_column, (yyvsp[-7].selection_), (yyvsp[-6].table_reference_list_), (yyvsp[-5].predicate_), (yyvsp[-4].opt_group_by_clause_), (yyvsp[-3].opt_having_clause_), (yyvsp[-2].opt_order_by_clause_), (yyvsp[-1].opt_limit_clause_), (yyvsp[0].opt_window_clause_));
   }
-#line 4295 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4297 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 112:
@@ -4299,7 +4301,7 @@ yyreduce:
     {
     /* $$ = nullptr; */
   }
-#line 4303 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4305 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 113:
@@ -4308,7 +4310,7 @@ yyreduce:
     NotSupported(&(yylsp[0]), yyscanner, "ALL in selection");
     YYERROR;
   }
-#line 4312 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4314 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 114:
@@ -4317,7 +4319,7 @@ yyreduce:
     NotSupported(&(yylsp[0]), yyscanner, "DISTINCT in selection");
     YYERROR;
   }
-#line 4321 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4323 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 115:
@@ -4325,7 +4327,7 @@ yyreduce:
     {
     (yyval.selection_) = new quickstep::ParseSelectionStar((yylsp[0]).first_line, (yylsp[0]).first_column);
   }
-#line 4329 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4331 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 116:
@@ -4333,7 +4335,7 @@ yyreduce:
     {
     (yyval.selection_) = (yyvsp[0].selection_list_);
   }
-#line 4337 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4339 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 117:
@@ -4342,7 +4344,7 @@ yyreduce:
     (yyval.selection_list_) = new quickstep::ParseSelectionList((yylsp[0]).first_line, (yylsp[0]).first_column);
     (yyval.selection_list_)->add((yyvsp[0].selection_item_));
   }
-#line 4346 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4348 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 118:
@@ -4351,7 +4353,7 @@ yyreduce:
     (yyval.selection_list_) = (yyvsp[-2].selection_list_);
     (yyval.selection_list_)->add((yyvsp[0].selection_item_));
   }
-#line 4355 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4357 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 119:
@@ -4359,7 +4361,7 @@ yyreduce:
     {
     (yyval.selection_item_) = new quickstep::ParseSelectionItem((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-2].expression_), (yyvsp[0].string_value_));
   }
-#line 4363 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4365 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 120:
@@ -4367,7 +4369,7 @@ yyreduce:
     {
     (yyval.selection_item_) = new quickstep::ParseSelectionItem((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].expression_), (yyvsp[0].string_value_));
   }
-#line 4371 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4373 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 121:
@@ -4375,7 +4377,7 @@ yyreduce:
     {
     (yyval.selection_item_) = new quickstep::ParseSelectionItem((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].expression_));
   }
-#line 4379 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4381 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 122:
@@ -4383,7 +4385,7 @@ yyreduce:
     {
     (yyval.table_reference_list_) = (yyvsp[0].table_reference_list_);
   }
-#line 4387 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4389 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 123:
@@ -4391,7 +4393,7 @@ yyreduce:
     {
     (yyval.subquery_expression_) = new quickstep::ParseSubqueryExpression((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-1].select_query_));
   }
-#line 4395 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4397 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 124:
@@ -4399,7 +4401,7 @@ yyreduce:
     {
     (yyval.opt_sample_clause_) = NULL;
   }
-#line 4403 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4405 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 125:
@@ -4407,7 +4409,7 @@ yyreduce:
     {
     (yyval.opt_sample_clause_) = new quickstep::ParseSample((yylsp[-2]).first_line, (yylsp[-2]).first_column, true, (yyvsp[-1].numeric_literal_value_));
   }
-#line 4411 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4413 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 126:
@@ -4415,7 +4417,7 @@ yyreduce:
     {
     (yyval.opt_sample_clause_) = new quickstep::ParseSample((yylsp[-2]).first_line, (yylsp[-2]).first_column, false, (yyvsp[-1].numeric_literal_value_));
   }
-#line 4419 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4421 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 127:
@@ -4423,7 +4425,7 @@ yyreduce:
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kInnerJoin;
   }
-#line 4427 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4429 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 128:
@@ -4431,7 +4433,7 @@ yyreduce:
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kInnerJoin;
   }
-#line 4435 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4437 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 129:
@@ -4439,7 +4441,7 @@ yyreduce:
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kLeftOuterJoin;
   }
-#line 4443 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4445 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 130:
@@ -4447,7 +4449,7 @@ yyreduce:
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kLeftOuterJoin;
   }
-#line 4451 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4453 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 131:
@@ -4455,7 +4457,7 @@ yyreduce:
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kRightOuterJoin;
   }
-#line 4459 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4461 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 132:
@@ -4463,7 +4465,7 @@ yyreduce:
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kRightOuterJoin;
   }
-#line 4467 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4469 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 133:
@@ -4471,7 +4473,7 @@ yyreduce:
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kFullOuterJoin;
   }
-#line 4475 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4477 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 134:
@@ -4479,7 +4481,7 @@ yyreduce:
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kFullOuterJoin;
   }
-#line 4483 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4485 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 135:
@@ -4487,7 +4489,7 @@ yyreduce:
     {
     (yyval.table_reference_) = new quickstep::ParseJoinedTableReference((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-4].join_type_), (yyvsp[-5].table_reference_), (yyvsp[-2].table_reference_), (yyvsp[0].predicate_));
   }
-#line 4491 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4493 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 136:
@@ -4495,7 +4497,7 @@ yyreduce:
     {
     (yyval.table_reference_) = (yyvsp[0].table_reference_);
   }
-#line 4499 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4501 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 137:
@@ -4504,7 +4506,7 @@ yyreduce:
     (yyval.table_reference_) = new quickstep::ParseSubqueryTableReference((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].subquery_expression_));
     (yyval.table_reference_)->set_table_reference_signature((yyvsp[0].table_reference_signature_));
   }
-#line 4508 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4510 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 138:
@@ -4513,7 +4515,7 @@ yyreduce:
     (yyval.table_reference_) = new quickstep::ParseSimpleTableReference((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-2].string_value_), (yyvsp[-1].opt_sample_clause_));
     (yyval.table_reference_)->set_table_reference_signature((yyvsp[0].table_reference_signature_));
   }
-#line 4517 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4519 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 139:
@@ -4521,7 +4523,7 @@ yyreduce:
     {
     (yyval.table_reference_) = new quickstep::ParseSimpleTableReference((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].opt_sample_clause_));
   }
-#line 4525 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4527 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 140:
@@ -4530,7 +4532,7 @@ yyreduce:
     (yyval.table_reference_) = new quickstep::ParseGeneratorTableReference((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].function_call_));
     (yyval.table_reference_)->set_table_reference_signature((yyvsp[0].table_reference_signature_));
   }
-#line 4534 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4536 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 141:
@@ -4538,7 +4540,7 @@ yyreduce:
     {
     (yyval.table_reference_) = new quickstep::ParseGeneratorTableReference((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].function_call_));
   }
-#line 4542 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4544 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 142:
@@ -4546,7 +4548,7 @@ yyreduce:
     {
     (yyval.table_reference_) = (yyvsp[-1].table_reference_);
   }
-#line 4550 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4552 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 143:
@@ -4554,7 +4556,7 @@ yyreduce:
     {
     (yyval.table_reference_signature_) = (yyvsp[0].table_reference_signature_);
   }
-#line 4558 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4560 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 144:
@@ -4562,7 +4564,7 @@ yyreduce:
     {
     (yyval.table_reference_signature_) = (yyvsp[0].table_reference_signature_);
   }
-#line 4566 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4568 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 145:
@@ -4570,7 +4572,7 @@ yyreduce:
     {
     (yyval.table_reference_signature_) = new ::quickstep::ParseTableReferenceSignature((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].string_value_));
   }
-#line 4574 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4576 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 146:
@@ -4578,7 +4580,7 @@ yyreduce:
     {
     (yyval.table_reference_signature_) = new ::quickstep::ParseTableReferenceSignature((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-3].string_value_), (yyvsp[-1].string_list_));
   }
-#line 4582 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4584 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 147:
@@ -4587,7 +4589,7 @@ yyreduce:
     (yyval.table_reference_list_) = new quickstep::PtrList<quickstep::ParseTableReference>();
     (yyval.table_reference_list_)->push_back((yyvsp[0].table_reference_));
   }
-#line 4591 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4593 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 148:
@@ -4596,7 +4598,7 @@ yyreduce:
     (yyval.table_reference_list_) = (yyvsp[-2].table_reference_list_);
     (yyval.table_reference_list_)->push_back((yyvsp[0].table_reference_));
   }
-#line 4600 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4602 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 149:
@@ -4604,7 +4606,7 @@ yyreduce:
     {
     (yyval.opt_group_by_clause_) = nullptr;
   }
-#line 4608 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4610 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 150:
@@ -4612,7 +4614,7 @@ yyreduce:
     {
     (yyval.opt_group_by_clause_) = new quickstep::ParseGroupBy((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].expression_list_));
   }
-#line 4616 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4618 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 151:
@@ -4620,7 +4622,7 @@ yyreduce:
     {
     (yyval.opt_having_clause_) = nullptr;
   }
-#line 4624 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4626 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 152:
@@ -4628,7 +4630,7 @@ yyreduce:
     {
     (yyval.opt_having_clause_) = new quickstep::ParseHaving((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[0].predicate_));
   }
-#line 4632 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4634 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 153:
@@ -4636,7 +4638,7 @@ yyreduce:
     {
     (yyval.opt_order_by_clause_) = nullptr;
   }
-#line 4640 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4642 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 154:
@@ -4644,7 +4646,7 @@ yyreduce:
     {
     (yyval.opt_order_by_clause_) = new quickstep::ParseOrderBy((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].order_commalist_));
   }
-#line 4648 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4650 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 155:
@@ -4652,7 +4654,7 @@ yyreduce:
     {
     (yyval.opt_limit_clause_) = nullptr;
   }
-#line 4656 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4658 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 156:
@@ -4674,7 +4676,7 @@ yyreduce:
       }
     }
   }
-#line 4678 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4680 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 157:
@@ -4682,7 +4684,7 @@ yyreduce:
     {
     (yyval.opt_window_clause_) = nullptr;
   }
-#line 4686 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4688 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 159:
@@ -4691,7 +4693,7 @@ yyreduce:
     (yyval.opt_window_clause_) = new quickstep::PtrList<quickstep::ParseWindow>();
     (yyval.opt_window_clause_)->push_back((yyvsp[0].window_definition_));
   }
-#line 4695 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4697 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 160:
@@ -4700,7 +4702,7 @@ yyreduce:
     (yyval.opt_window_clause_) = (yyvsp[-1].opt_window_clause_);
     (yyval.opt_window_clause_)->push_back((yyvsp[0].window_definition_));
   }
-#line 4704 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4706 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 161:
@@ -4709,7 +4711,7 @@ yyreduce:
     (yyval.window_definition_) = (yyvsp[-1].window_definition_);
     (yyval.window_definition_)->setName((yyvsp[-4].string_value_));
   }
-#line 4713 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4715 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 162:
@@ -4717,7 +4719,7 @@ yyreduce:
     {
     (yyval.window_definition_) = new quickstep::ParseWindow((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-2].window_partition_by_list_), (yyvsp[-1].window_order_by_list_), (yyvsp[0].window_frame_info_));
   }
-#line 4721 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4723 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 163:
@@ -4725,7 +4727,7 @@ yyreduce:
     {
     (yyval.window_partition_by_list_) = nullptr;
   }
-#line 4729 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4731 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 164:
@@ -4733,7 +4735,7 @@ yyreduce:
     {
     (yyval.window_partition_by_list_) = (yyvsp[0].expression_list_);
   }
-#line 4737 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4739 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 165:
@@ -4741,7 +4743,7 @@ yyreduce:
     {
     (yyval.window_order_by_list_) = nullptr;
   }
-#line 4745 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4747 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 166:
@@ -4749,7 +4751,7 @@ yyreduce:
     {
     (yyval.window_order_by_list_) = (yyvsp[0].order_commalist_);
   }
-#line 4753 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4755 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 167:
@@ -4757,7 +4759,7 @@ yyreduce:
     {
     (yyval.window_frame_info_) = nullptr;
   }
-#line 4761 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4763 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 168:
@@ -4765,7 +4767,7 @@ yyreduce:
     {
     (yyval.window_frame_info_) = new quickstep::ParseFrameInfo((yylsp[-4]).first_line, (yylsp[-4]).first_column, (yyvsp[-4].boolean_value_), (yyvsp[-2].numeric_literal_value_)->long_value(), (yyvsp[0].numeric_literal_value_)->long_value());
   }
-#line 4769 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4771 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 169:
@@ -4773,7 +4775,7 @@ yyreduce:
     {
     (yyval.boolean_value_) = true;
   }
-#line 4777 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4779 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 170:
@@ -4781,7 +4783,7 @@ yyreduce:
     {
     (yyval.boolean_value_) = false;
   }
-#line 4785 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4787 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 172:
@@ -4789,7 +4791,7 @@ yyreduce:
     { 
     (yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "-1");
   }
-#line 4793 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4795 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 173:
@@ -4797,7 +4799,7 @@ yyreduce:
     {
     (yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "0");
   }
-#line 4801 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4803 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 175:
@@ -4805,7 +4807,7 @@ yyreduce:
     {
     (yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "-1");
   }
-#line 4809 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4811 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 176:
@@ -4813,7 +4815,7 @@ yyreduce:
     {
     (yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "0");
   }
-#line 4817 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4819 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 177:
@@ -4822,7 +4824,7 @@ yyreduce:
     (yyval.order_commalist_) = new quickstep::PtrList<quickstep::ParseOrderByItem>();
     (yyval.order_commalist_)->push_back((yyvsp[0].order_item_));
   }
-#line 4826 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4828 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 178:
@@ -4831,7 +4833,7 @@ yyreduce:
     (yyval.order_commalist_) = (yyvsp[-2].order_commalist_);
     (yyval.order_commalist_)->push_back((yyvsp[0].order_item_));
   }
-#line 4835 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4837 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 179:
@@ -4841,7 +4843,7 @@ yyreduce:
     delete (yyvsp[-1].order_direction_);
     delete (yyvsp[0].order_direction_);
   }
-#line 4845 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4847 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 180:
@@ -4849,7 +4851,7 @@ yyreduce:
     {
     (yyval.order_direction_) = nullptr;
   }
-#line 4853 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4855 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 181:
@@ -4857,7 +4859,7 @@ yyreduce:
     {
     (yyval.order_direction_) = new bool(true);
   }
-#line 4861 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4863 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 182:
@@ -4865,7 +4867,7 @@ yyreduce:
     {
     (yyval.order_direction_) = new bool(false);
   }
-#line 4869 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4871 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 183:
@@ -4873,7 +4875,7 @@ yyreduce:
     {
     (yyval.order_direction_) = nullptr;
   }
-#line 4877 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4879 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 184:
@@ -4881,7 +4883,7 @@ yyreduce:
     {
     (yyval.order_direction_) = new bool(true);
   }
-#line 4885 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4887 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 185:
@@ -4889,7 +4891,7 @@ yyreduce:
     {
     (yyval.order_direction_) = new bool(false);
   }
-#line 4893 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4895 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 186:
@@ -4897,7 +4899,7 @@ yyreduce:
     {
     (yyval.predicate_) = nullptr;
   }
-#line 4901 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4903 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 187:
@@ -4905,7 +4907,7 @@ yyreduce:
     {
     (yyval.predicate_) = (yyvsp[0].predicate_);
   }
-#line 4909 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4911 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 188:
@@ -4913,7 +4915,7 @@ yyreduce:
     {
     (yyval.predicate_) = (yyvsp[0].predicate_);
   }
-#line 4917 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4919 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 189:
@@ -4927,7 +4929,7 @@ yyreduce:
     }
     static_cast<quickstep::ParsePredicateDisjunction *>((yyval.predicate_))->addPredicate((yyvsp[0].predicate_));
   }
-#line 4931 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4933 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 190:
@@ -4935,7 +4937,7 @@ yyreduce:
     {
     (yyval.predicate_) = (yyvsp[0].predicate_);
   }
-#line 4939 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4941 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 191:
@@ -4949,7 +4951,7 @@ yyreduce:
     }
     static_cast<quickstep::ParsePredicateConjunction *>((yyval.predicate_))->addPredicate((yyvsp[0].predicate_));
   }
-#line 4953 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4955 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 192:
@@ -4957,7 +4959,7 @@ yyreduce:
     {
     (yyval.predicate_) = (yyvsp[0].predicate_);
   }
-#line 4961 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4963 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 193:
@@ -4965,7 +4967,7 @@ yyreduce:
     {
     (yyval.predicate_) = new quickstep::ParsePredicateNegation((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[0].predicate_));
   }
-#line 4969 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4971 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 194:
@@ -4973,7 +4975,7 @@ yyreduce:
     {
     (yyval.predicate_) = (yyvsp[0].predicate_);
   }
-#line 4977 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4979 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 195:
@@ -4981,7 +4983,7 @@ yyreduce:
     {
     (yyval.predicate_) = new quickstep::ParsePredicateBetween((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-4].expression_), (yyvsp[-2].expression_), (yyvsp[0].expression_));
   }
-#line 4985 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4987 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 196:
@@ -4991,7 +4993,7 @@ yyreduce:
         (yylsp[-4]).first_line, (yylsp[-4]).first_column,
         new quickstep::ParsePredicateBetween((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-5].expression_), (yyvsp[-2].expression_), (yyvsp[0].expression_)));
   }
-#line 4995 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 4997 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 197:
@@ -5002,7 +5004,7 @@ yyreduce:
     NotSupported(&(yylsp[-2]), yyscanner, "NULL comparison predicates");
     YYERROR;
   }
-#line 5006 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 5008 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 198:
@@ -5013,7 +5015,7 @@ yyreduce:
     NotSupported(&(yylsp[-1]), yyscanner, "NULL comparison predicates");
     YYERROR;
   }
-#line 5017 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 5019 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 199:
@@ -5021,7 +5023,7 @@ yyreduce:
     {
     (yyval.predicate_) = new quickstep::ParsePredicateComparison((yylsp[-1]).first_line, (yylsp[-1]).first_column, *(yyvsp[-1].comparison_), (yyvsp[-2].expression_), (yyvsp[0].expression_));
   }
-#line 5025 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 5027 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 200:
@@ -5029,7 +5031,7 @@ yyreduce:
     {
     (yyval.predicate_) = (yyvsp[-1].predicate_);
   }
-#line 5033 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 5035 "SqlParser_gen.cpp" /* yacc.c:1646  */
     break;
 
   case 201:
@@ -5037,7 +5039,7 @@ yyreduce:
     {
     (yyval.predicate_) = new quickstep::ParsePredicateExists((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[0].subquery_expression_));
   }
-#line 5041 "SqlParser_gen.cpp" /* yacc.c:1646  */
+#line 5043 "SqlParser_gen.cpp" /* yacc.c:1646  */
     

<TRUNCATED>


Mime
View raw message