diff --git a/parser/SqlLexer.lpp b/parser/SqlLexer.lpp
index d818d0b..6f75424 100644
--- a/parser/SqlLexer.lpp
+++ b/parser/SqlLexer.lpp
@@ -183,9 +183,8 @@
   "blockproperties"  return TOKEN_BLOCKPROPERTIES;
   "blocksample"      return TOKEN_BLOCKSAMPLE;
   "bloomfilter"      return TOKEN_BLOOM_FILTER;
-  "case"             return TOKEN_CASE;
-  "csbtree"          return TOKEN_CSB_TREE;
   "by"               return TOKEN_BY;
+  "case"             return TOKEN_CASE;
   "char"             return TOKEN_CHARACTER;
   "character"        return TOKEN_CHARACTER;
   "check"            return TOKEN_CHECK;
@@ -193,6 +192,7 @@
   "constraint"       return TOKEN_CONSTRAINT;
   "copy"             return TOKEN_COPY;
   "create"           return TOKEN_CREATE;
+  "csbtree"          return TOKEN_CSB_TREE;
   "current"          return TOKEN_CURRENT;
   "date"             return TOKEN_DATE;
   "datetime"         return TOKEN_DATETIME;
diff --git a/parser/SqlParser.ypp b/parser/SqlParser.ypp
index ba69b3d..12a6b29 100644
--- a/parser/SqlParser.ypp
+++ b/parser/SqlParser.ypp
@@ -259,7 +259,6 @@
 %token TOKEN_BLOCKPROPERTIES;
 %token TOKEN_BLOCKSAMPLE;
 %token TOKEN_BLOOM_FILTER;
-%token TOKEN_CSB_TREE;
 %token TOKEN_BY;
 %token TOKEN_CASE;
 %token TOKEN_CHARACTER;
@@ -268,6 +267,7 @@
 %token TOKEN_CONSTRAINT;
 %token TOKEN_COPY;
 %token TOKEN_CREATE;
+%token TOKEN_CSB_TREE;
 %token TOKEN_CURRENT;
 %token TOKEN_DATE;
 %token TOKEN_DATETIME;
@@ -281,6 +281,7 @@
 %token TOKEN_DROP;
 %token TOKEN_ELSE;
 %token TOKEN_END;
+%token TOKEN_EOF;
 %token TOKEN_EXISTS;
 %token TOKEN_EXTRACT;
 %token TOKEN_FALSE;
@@ -307,6 +308,7 @@
 %token TOKEN_KEY;
 %token TOKEN_LAST;
 %token TOKEN_LEFT;
+%token TOKEN_LEX_ERROR;
 %token TOKEN_LIMIT;
 %token TOKEN_LONG;
 %token TOKEN_MINUTE;
@@ -333,8 +335,8 @@
 %token TOKEN_REGEXP;
 %token TOKEN_RIGHT;
 %token TOKEN_ROW;
-%token TOKEN_ROW_DELIMITER;
 %token TOKEN_ROWS;
+%token TOKEN_ROW_DELIMITER;
 %token TOKEN_SECOND;
 %token TOKEN_SELECT;
 %token TOKEN_SET;
@@ -363,8 +365,6 @@
 %token TOKEN_WITH;
 %token TOKEN_YEAR;
 %token TOKEN_YEARMONTH;
-%token TOKEN_EOF;
-%token TOKEN_LEX_ERROR;
 
 %type <string_value_>
   any_name
diff --git a/parser/preprocessed/SqlLexer_gen.cpp b/parser/preprocessed/SqlLexer_gen.cpp
index 4800cde..ff483a4 100644
--- a/parser/preprocessed/SqlLexer_gen.cpp
+++ b/parser/preprocessed/SqlLexer_gen.cpp
@@ -611,7 +611,7 @@
       158,  158,  158,  158,  137,    4,    5,    5,    3,  155,
       155,  152,  156,  156,  150,  157,  157,  154,    1,  162,
       130,  160,  159,  159,  159,    0,  134,  131,  135,  158,
-      158,  158,  158,   10,  158,  158,  158,   22,  158,  158,
+      158,  158,  158,   10,  158,  158,  158,   20,  158,  158,
       158,  158,  158,  158,  158,  158,  158,  158,  158,  138,
 
       158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
@@ -632,8 +632,8 @@
       158,  158,  158,  158,  158,  158,  158,   98,  158,  158,
       103,  104,  158,  158,  158,  158,  158,  158,  158,  158,
       158,  158,  158,  158,  158,  158,  158,  158,  158,  141,
-      143,  142,  158,  158,  158,  158,  158,  158,  158,   20,
-       23,  158,  158,  158,   28,  158,  158,  158,   31,  158,
+      143,  142,  158,  158,  158,  158,  158,  158,  158,   21,
+       22,  158,  158,  158,   27,  158,  158,  158,   31,  158,
       158,  158,   37,  158,  158,   41,   42,  158,  158,  158,
 
       158,  158,  158,  158,   52,   53,  158,   55,  158,   57,
@@ -643,7 +643,7 @@
       158,  158,  158,  158,  158,  158,  158,  110,  111,  114,
       158,  158,  158,  158,  158,  158,  158,  158,  123,  158,
       158,  126,  127,  141,  142,    8,  158,  158,  158,  158,
-      158,  158,  158,   25,  158,  158,  158,  158,  158,  158,
+      158,  158,  158,   24,  158,  158,  158,  158,  158,  158,
       158,  158,  158,  158,  158,  158,  158,  158,   46,   47,
        48,  158,  158,   54,  158,   59,   60,  158,  158,  158,
 
@@ -651,21 +651,21 @@
       158,   93,  158,  158,   97,  158,  158,  158,  158,  158,
       158,  158,  109,  158,  158,  158,  117,  158,  158,  120,
       158,  158,  124,  158,  158,  158,  158,   14,  158,  158,
-      158,  158,  158,   26,  158,   29,  158,  158,  158,  158,
+      158,  158,  158,   25,  158,   28,  158,  158,  158,  158,
       158,   36,  158,  158,   40,   44,  158,  158,  158,   56,
        61,  158,  158,  158,   75,  158,  158,  158,  158,  158,
       158,   96,  158,  101,  102,  158,  106,  107,  158,  158,
       158,  158,  118,  119,  121,  158,  125,  158,  158,   13,
-      158,  158,  158,  158,  158,  158,   21,   30,  158,   34,
+      158,  158,  158,  158,  158,  158,   29,   30,  158,   34,
 
        35,  158,  158,   45,  158,   51,   63,  158,  158,  158,
        88,  158,   90,  158,  158,  158,  158,  158,  158,  158,
       158,  122,  158,  158,  158,  158,  158,  158,  158,  158,
        32,  158,   39,  158,  158,   65,  158,  158,   91,  158,
       158,  105,  158,  158,  158,  158,  158,   12,  158,  158,
-      158,  158,   24,  158,  158,   49,   64,   86,   89,  158,
+      158,  158,   23,  158,  158,   49,   64,   86,   89,  158,
       158,  108,  112,  158,  116,  128,   16,  158,  158,  158,
-       27,   38,   87,   95,  158,  158,  158,   18,   19,  158,
+       26,   38,   87,   95,  158,  158,  158,   18,   19,  158,
       115,  158,  158,  158,   99,  158,   17,    0
     } ;
 
@@ -1778,17 +1778,17 @@
 case 20:
 YY_RULE_SETUP
 #line 186 "../SqlLexer.lpp"
-return TOKEN_CASE;
+return TOKEN_BY;
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
 #line 187 "../SqlLexer.lpp"
-return TOKEN_CSB_TREE;
+return TOKEN_CASE;
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
 #line 188 "../SqlLexer.lpp"
-return TOKEN_BY;
+return TOKEN_CHARACTER;
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
@@ -1798,32 +1798,32 @@
 case 24:
 YY_RULE_SETUP
 #line 190 "../SqlLexer.lpp"
-return TOKEN_CHARACTER;
+return TOKEN_CHECK;
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
 #line 191 "../SqlLexer.lpp"
-return TOKEN_CHECK;
+return TOKEN_COLUMN;
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
 #line 192 "../SqlLexer.lpp"
-return TOKEN_COLUMN;
+return TOKEN_CONSTRAINT;
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
 #line 193 "../SqlLexer.lpp"
-return TOKEN_CONSTRAINT;
+return TOKEN_COPY;
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
 #line 194 "../SqlLexer.lpp"
-return TOKEN_COPY;
+return TOKEN_CREATE;
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
 #line 195 "../SqlLexer.lpp"
-return TOKEN_CREATE;
+return TOKEN_CSB_TREE;
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
diff --git a/parser/preprocessed/SqlParser_gen.cpp b/parser/preprocessed/SqlParser_gen.cpp
index 9b77875..3292904 100644
--- a/parser/preprocessed/SqlParser_gen.cpp
+++ b/parser/preprocessed/SqlParser_gen.cpp
@@ -221,15 +221,15 @@
     TOKEN_BLOCKPROPERTIES = 288,
     TOKEN_BLOCKSAMPLE = 289,
     TOKEN_BLOOM_FILTER = 290,
-    TOKEN_CSB_TREE = 291,
-    TOKEN_BY = 292,
-    TOKEN_CASE = 293,
-    TOKEN_CHARACTER = 294,
-    TOKEN_CHECK = 295,
-    TOKEN_COLUMN = 296,
-    TOKEN_CONSTRAINT = 297,
-    TOKEN_COPY = 298,
-    TOKEN_CREATE = 299,
+    TOKEN_BY = 291,
+    TOKEN_CASE = 292,
+    TOKEN_CHARACTER = 293,
+    TOKEN_CHECK = 294,
+    TOKEN_COLUMN = 295,
+    TOKEN_CONSTRAINT = 296,
+    TOKEN_COPY = 297,
+    TOKEN_CREATE = 298,
+    TOKEN_CSB_TREE = 299,
     TOKEN_CURRENT = 300,
     TOKEN_DATE = 301,
     TOKEN_DATETIME = 302,
@@ -243,85 +243,85 @@
     TOKEN_DROP = 310,
     TOKEN_ELSE = 311,
     TOKEN_END = 312,
-    TOKEN_EXISTS = 313,
-    TOKEN_EXTRACT = 314,
-    TOKEN_FALSE = 315,
-    TOKEN_FIRST = 316,
-    TOKEN_FLOAT = 317,
-    TOKEN_FOLLOWING = 318,
-    TOKEN_FOR = 319,
-    TOKEN_FOREIGN = 320,
-    TOKEN_FROM = 321,
-    TOKEN_FULL = 322,
-    TOKEN_GROUP = 323,
-    TOKEN_HASH = 324,
-    TOKEN_HAVING = 325,
-    TOKEN_HOUR = 326,
-    TOKEN_IN = 327,
-    TOKEN_INDEX = 328,
-    TOKEN_INNER = 329,
-    TOKEN_INSERT = 330,
-    TOKEN_INTEGER = 331,
-    TOKEN_INTERVAL = 332,
-    TOKEN_INTO = 333,
-    TOKEN_JOIN = 334,
-    TOKEN_KEY = 335,
-    TOKEN_LAST = 336,
-    TOKEN_LEFT = 337,
-    TOKEN_LIMIT = 338,
-    TOKEN_LONG = 339,
-    TOKEN_MINUTE = 340,
-    TOKEN_MONTH = 341,
-    TOKEN_NULL = 342,
-    TOKEN_NULLS = 343,
-    TOKEN_OFF = 344,
-    TOKEN_ON = 345,
-    TOKEN_ORDER = 346,
-    TOKEN_OUTER = 347,
-    TOKEN_OVER = 348,
-    TOKEN_PARTITION = 349,
-    TOKEN_PARTITIONS = 350,
-    TOKEN_PERCENT = 351,
-    TOKEN_PRECEDING = 352,
-    TOKEN_PRIMARY = 353,
-    TOKEN_PRIORITY = 354,
-    TOKEN_QUIT = 355,
-    TOKEN_RANGE = 356,
-    TOKEN_REAL = 357,
-    TOKEN_REFERENCES = 358,
-    TOKEN_RIGHT = 359,
-    TOKEN_ROW = 360,
-    TOKEN_ROW_DELIMITER = 361,
-    TOKEN_ROWS = 362,
-    TOKEN_SECOND = 363,
-    TOKEN_SELECT = 364,
-    TOKEN_SET = 365,
-    TOKEN_SMA = 366,
-    TOKEN_SMALLINT = 367,
-    TOKEN_STDERR = 368,
-    TOKEN_STDOUT = 369,
-    TOKEN_SUBSTRING = 370,
-    TOKEN_TABLE = 371,
-    TOKEN_THEN = 372,
-    TOKEN_TIME = 373,
-    TOKEN_TIMESTAMP = 374,
-    TOKEN_TO = 375,
-    TOKEN_TRUE = 376,
-    TOKEN_TUPLESAMPLE = 377,
-    TOKEN_UNBOUNDED = 378,
-    TOKEN_UNIQUE = 379,
-    TOKEN_UPDATE = 380,
-    TOKEN_USING = 381,
-    TOKEN_VALUES = 382,
-    TOKEN_VARCHAR = 383,
-    TOKEN_WHEN = 384,
-    TOKEN_WHERE = 385,
-    TOKEN_WINDOW = 386,
-    TOKEN_WITH = 387,
-    TOKEN_YEAR = 388,
-    TOKEN_YEARMONTH = 389,
-    TOKEN_EOF = 390,
-    TOKEN_LEX_ERROR = 391
+    TOKEN_EOF = 313,
+    TOKEN_EXISTS = 314,
+    TOKEN_EXTRACT = 315,
+    TOKEN_FALSE = 316,
+    TOKEN_FIRST = 317,
+    TOKEN_FLOAT = 318,
+    TOKEN_FOLLOWING = 319,
+    TOKEN_FOR = 320,
+    TOKEN_FOREIGN = 321,
+    TOKEN_FROM = 322,
+    TOKEN_FULL = 323,
+    TOKEN_GROUP = 324,
+    TOKEN_HASH = 325,
+    TOKEN_HAVING = 326,
+    TOKEN_HOUR = 327,
+    TOKEN_IN = 328,
+    TOKEN_INDEX = 329,
+    TOKEN_INNER = 330,
+    TOKEN_INSERT = 331,
+    TOKEN_INTEGER = 332,
+    TOKEN_INTERVAL = 333,
+    TOKEN_INTO = 334,
+    TOKEN_JOIN = 335,
+    TOKEN_KEY = 336,
+    TOKEN_LAST = 337,
+    TOKEN_LEFT = 338,
+    TOKEN_LEX_ERROR = 339,
+    TOKEN_LIMIT = 340,
+    TOKEN_LONG = 341,
+    TOKEN_MINUTE = 342,
+    TOKEN_MONTH = 343,
+    TOKEN_NULL = 344,
+    TOKEN_NULLS = 345,
+    TOKEN_OFF = 346,
+    TOKEN_ON = 347,
+    TOKEN_ORDER = 348,
+    TOKEN_OUTER = 349,
+    TOKEN_OVER = 350,
+    TOKEN_PARTITION = 351,
+    TOKEN_PARTITIONS = 352,
+    TOKEN_PERCENT = 353,
+    TOKEN_PRECEDING = 354,
+    TOKEN_PRIMARY = 355,
+    TOKEN_PRIORITY = 356,
+    TOKEN_QUIT = 357,
+    TOKEN_RANGE = 358,
+    TOKEN_REAL = 359,
+    TOKEN_REFERENCES = 360,
+    TOKEN_RIGHT = 361,
+    TOKEN_ROW = 362,
+    TOKEN_ROWS = 363,
+    TOKEN_ROW_DELIMITER = 364,
+    TOKEN_SECOND = 365,
+    TOKEN_SELECT = 366,
+    TOKEN_SET = 367,
+    TOKEN_SMA = 368,
+    TOKEN_SMALLINT = 369,
+    TOKEN_STDERR = 370,
+    TOKEN_STDOUT = 371,
+    TOKEN_SUBSTRING = 372,
+    TOKEN_TABLE = 373,
+    TOKEN_THEN = 374,
+    TOKEN_TIME = 375,
+    TOKEN_TIMESTAMP = 376,
+    TOKEN_TO = 377,
+    TOKEN_TRUE = 378,
+    TOKEN_TUPLESAMPLE = 379,
+    TOKEN_UNBOUNDED = 380,
+    TOKEN_UNIQUE = 381,
+    TOKEN_UPDATE = 382,
+    TOKEN_USING = 383,
+    TOKEN_VALUES = 384,
+    TOKEN_VARCHAR = 385,
+    TOKEN_WHEN = 386,
+    TOKEN_WHERE = 387,
+    TOKEN_WINDOW = 388,
+    TOKEN_WITH = 389,
+    TOKEN_YEAR = 390,
+    TOKEN_YEARMONTH = 391
   };
 #endif
 
@@ -711,7 +711,7 @@
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  50
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1327
+#define YYLAST   1392
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  148
@@ -828,40 +828,40 @@
   "TOKEN_ALL", "TOKEN_UNION", "TOKEN_INTERSECT", "TOKEN_ADD",
   "TOKEN_ALTER", "TOKEN_AS", "TOKEN_ASC", "TOKEN_BIGINT", "TOKEN_BIT",
   "TOKEN_BITWEAVING", "TOKEN_BLOCKPROPERTIES", "TOKEN_BLOCKSAMPLE",
-  "TOKEN_BLOOM_FILTER", "TOKEN_CSB_TREE", "TOKEN_BY", "TOKEN_CASE",
-  "TOKEN_CHARACTER", "TOKEN_CHECK", "TOKEN_COLUMN", "TOKEN_CONSTRAINT",
-  "TOKEN_COPY", "TOKEN_CREATE", "TOKEN_CURRENT", "TOKEN_DATE",
+  "TOKEN_BLOOM_FILTER", "TOKEN_BY", "TOKEN_CASE", "TOKEN_CHARACTER",
+  "TOKEN_CHECK", "TOKEN_COLUMN", "TOKEN_CONSTRAINT", "TOKEN_COPY",
+  "TOKEN_CREATE", "TOKEN_CSB_TREE", "TOKEN_CURRENT", "TOKEN_DATE",
   "TOKEN_DATETIME", "TOKEN_DAY", "TOKEN_DECIMAL", "TOKEN_DEFAULT",
   "TOKEN_DELETE", "TOKEN_DESC", "TOKEN_DISTINCT", "TOKEN_DOUBLE",
-  "TOKEN_DROP", "TOKEN_ELSE", "TOKEN_END", "TOKEN_EXISTS", "TOKEN_EXTRACT",
-  "TOKEN_FALSE", "TOKEN_FIRST", "TOKEN_FLOAT", "TOKEN_FOLLOWING",
-  "TOKEN_FOR", "TOKEN_FOREIGN", "TOKEN_FROM", "TOKEN_FULL", "TOKEN_GROUP",
-  "TOKEN_HASH", "TOKEN_HAVING", "TOKEN_HOUR", "TOKEN_IN", "TOKEN_INDEX",
-  "TOKEN_INNER", "TOKEN_INSERT", "TOKEN_INTEGER", "TOKEN_INTERVAL",
-  "TOKEN_INTO", "TOKEN_JOIN", "TOKEN_KEY", "TOKEN_LAST", "TOKEN_LEFT",
+  "TOKEN_DROP", "TOKEN_ELSE", "TOKEN_END", "TOKEN_EOF", "TOKEN_EXISTS",
+  "TOKEN_EXTRACT", "TOKEN_FALSE", "TOKEN_FIRST", "TOKEN_FLOAT",
+  "TOKEN_FOLLOWING", "TOKEN_FOR", "TOKEN_FOREIGN", "TOKEN_FROM",
+  "TOKEN_FULL", "TOKEN_GROUP", "TOKEN_HASH", "TOKEN_HAVING", "TOKEN_HOUR",
+  "TOKEN_IN", "TOKEN_INDEX", "TOKEN_INNER", "TOKEN_INSERT",
+  "TOKEN_INTEGER", "TOKEN_INTERVAL", "TOKEN_INTO", "TOKEN_JOIN",
+  "TOKEN_KEY", "TOKEN_LAST", "TOKEN_LEFT", "TOKEN_LEX_ERROR",
   "TOKEN_LIMIT", "TOKEN_LONG", "TOKEN_MINUTE", "TOKEN_MONTH", "TOKEN_NULL",
   "TOKEN_NULLS", "TOKEN_OFF", "TOKEN_ON", "TOKEN_ORDER", "TOKEN_OUTER",
   "TOKEN_OVER", "TOKEN_PARTITION", "TOKEN_PARTITIONS", "TOKEN_PERCENT",
   "TOKEN_PRECEDING", "TOKEN_PRIMARY", "TOKEN_PRIORITY", "TOKEN_QUIT",
   "TOKEN_RANGE", "TOKEN_REAL", "TOKEN_REFERENCES", "TOKEN_RIGHT",
-  "TOKEN_ROW", "TOKEN_ROW_DELIMITER", "TOKEN_ROWS", "TOKEN_SECOND",
+  "TOKEN_ROW", "TOKEN_ROWS", "TOKEN_ROW_DELIMITER", "TOKEN_SECOND",
   "TOKEN_SELECT", "TOKEN_SET", "TOKEN_SMA", "TOKEN_SMALLINT",
   "TOKEN_STDERR", "TOKEN_STDOUT", "TOKEN_SUBSTRING", "TOKEN_TABLE",
   "TOKEN_THEN", "TOKEN_TIME", "TOKEN_TIMESTAMP", "TOKEN_TO", "TOKEN_TRUE",
   "TOKEN_TUPLESAMPLE", "TOKEN_UNBOUNDED", "TOKEN_UNIQUE", "TOKEN_UPDATE",
   "TOKEN_USING", "TOKEN_VALUES", "TOKEN_VARCHAR", "TOKEN_WHEN",
   "TOKEN_WHERE", "TOKEN_WINDOW", "TOKEN_WITH", "TOKEN_YEAR",
-  "TOKEN_YEARMONTH", "TOKEN_EOF", "TOKEN_LEX_ERROR", "';'", "'\\n'", "'('",
-  "')'", "','", "'%'", "$accept", "start", "sql_statement",
-  "quit_statement", "alter_table_statement", "create_table_statement",
-  "create_index_statement", "drop_table_statement", "column_def",
-  "column_def_commalist", "data_type", "column_constraint_def",
-  "column_constraint_def_list", "opt_column_constraint_def_list",
-  "table_constraint_def", "table_constraint_def_commalist",
-  "opt_table_constraint_def_commalist", "opt_column_list",
-  "opt_block_properties", "opt_partition_clause", "partition_type",
-  "key_value_list", "key_value", "key_string_value", "key_string_list",
-  "key_integer_value", "key_bool_value", "index_type",
+  "TOKEN_YEARMONTH", "';'", "'\\n'", "'('", "')'", "','", "'%'", "$accept",
+  "start", "sql_statement", "quit_statement", "alter_table_statement",
+  "create_table_statement", "create_index_statement",
+  "drop_table_statement", "column_def", "column_def_commalist",
+  "data_type", "column_constraint_def", "column_constraint_def_list",
+  "opt_column_constraint_def_list", "table_constraint_def",
+  "table_constraint_def_commalist", "opt_table_constraint_def_commalist",
+  "opt_column_list", "opt_block_properties", "opt_partition_clause",
+  "partition_type", "key_value_list", "key_value", "key_string_value",
+  "key_string_list", "key_integer_value", "key_bool_value", "index_type",
   "opt_index_properties", "insert_statement", "copy_statement",
   "copy_to_target", "opt_copy_params", "update_statement",
   "delete_statement", "assignment_list", "assignment_item",
@@ -916,10 +916,10 @@
 };
 # endif
 
-#define YYPACT_NINF -410
+#define YYPACT_NINF -388
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-410)))
+  (!!((Yystate) == (-388)))
 
 #define YYTABLE_NINF -139
 
@@ -930,62 +930,62 @@
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-     405,  -410,  -410,   -52,    43,   -13,    34,   -38,   116,  -410,
-      48,   231,   231,  -410,   115,   119,  -410,  -410,  -410,  -410,
-    -410,  -410,  -410,  -410,  -410,  -410,   166,    46,    49,  -410,
-     -36,   205,   231,  -410,  -410,    38,   132,   231,   231,   231,
-     231,   231,  -410,  -410,   652,    97,    72,  -410,   203,    95,
-    -410,  -410,  -410,   130,   175,    46,    48,   158,  -410,   130,
-    -410,  -410,  -410,    25,    61,   128,   270,   128,   184,   142,
-     149,  -410,   106,  -410,  -410,   309,   313,  -410,  -410,  -410,
-     743,   153,  -410,   218,  -410,  -410,   189,  -410,  -410,   331,
-    -410,  -410,  -410,  -410,   199,  -410,  -410,   207,   272,   837,
-     347,   305,   211,  -410,  -410,   328,    19,  -410,  -410,   262,
-    -410,  -410,  -410,  -410,  -410,  1019,     5,   231,   231,   220,
-     231,    38,   231,  -410,   130,   373,  -410,   148,   243,  -410,
-    -410,  -410,   244,  -410,   128,  -410,   231,   231,   561,  -410,
-    -410,   245,   231,  -410,  -410,  -410,   561,    52,    17,  -410,
-     400,  -410,   140,   140,  1110,   402,  -410,     1,    29,  -410,
-      20,   149,  1110,  -410,  -410,   231,  1110,  -410,  -410,  -410,
-    -410,  1110,    21,   313,  -410,   231,   323,   -64,  -410,   416,
-    -410,   130,  -410,   167,  -410,   128,   130,    49,  -410,   231,
-     152,   231,   231,   231,  -410,   269,  -410,   169,  1177,   928,
-     220,   470,   426,   433,  -410,  -410,   407,   428,  1188,   303,
-     173,    23,  1110,    64,  -410,  1110,  -410,   388,   306,  -410,
-    -410,  -410,  -410,  -410,  -410,   381,  -410,    66,   310,  -410,
-    -410,     8,   209,   215,  -410,   311,   209,     9,   385,  -410,
-    -410,    19,  -410,   360,  -410,  -410,   315,  1110,  -410,   301,
-     180,   231,  -410,  1110,  -410,   231,  -410,  -410,  -410,   320,
-     384,   386,   329,  -410,  -410,  -410,   196,  -410,  -410,  -410,
-    -410,  -410,    16,   231,   341,   152,   231,  -410,   174,  -410,
-    -410,     2,    81,   561,   561,   206,  -410,  -410,  -410,  -410,
-    -410,  -410,  -410,  -410,  1110,   334,  1110,    58,  -410,   210,
-     335,   349,  1110,    68,  -410,   420,   301,  -410,  -410,  1110,
-     476,  -410,   162,   231,  -410,  -410,   389,  -410,   390,   391,
-     406,    20,  -410,   486,   487,   209,   453,   421,   455,   353,
-     403,  -410,   223,  -410,  1110,  -410,   301,  -410,   561,   357,
-     358,   231,  -410,   231,  -410,  -410,  -410,  -410,  -410,  -410,
-    -410,   231,  -410,  -410,  -410,   225,   477,    86,  -410,   361,
-     366,  -410,   417,   364,  1188,  -410,   430,   231,  -410,  -410,
-     174,  -410,  -410,   433,  -410,  -410,  -410,  1110,   367,   284,
-     837,  -410,   301,   424,  -410,  -410,  1188,  1188,   374,   301,
-    1110,  -410,    33,   -16,  -410,  -410,  -410,  -410,  -410,    20,
-     215,   419,   422,  -410,  1110,   561,   429,  1110,  -410,   475,
-      18,  -410,   301,    31,   231,   231,   227,  -410,   233,  -410,
-     231,  -410,  -410,  -410,  -410,   382,   152,   489,   432,  -410,
-     561,  -410,  -410,   392,  -410,   289,   837,  -410,  1110,   238,
-    -410,  -410,   240,  1188,   301,  -410,   521,  -410,   437,  -410,
-    -410,   393,   426,   498,   456,   393,  1110,  -410,  -410,  -410,
-     522,  -410,   246,   252,  -410,  -410,  -410,   231,  -410,  -410,
-     399,   504,  -410,    32,   231,  1110,   254,   301,  -410,  -410,
-     257,   404,   561,  1110,   540,   412,   408,  -410,   274,    11,
-     442,  -410,   286,   231,   127,  -410,   410,   301,  -410,  -410,
-    -410,   426,   408,  -410,   231,  -410,   412,  -410,  1110,  -410,
-    -410,   460,   454,   447,   458,   549,   231,  -410,   290,  -410,
-    -410,   425,  -410,   528,  -410,  -410,    -6,  -410,  -410,  -410,
-    -410,    12,   431,  -410,   231,   434,  -410,  -410,   495,   462,
-     496,  -410,   231,   293,   360,  -410,  -410,  -410,   299,   473,
-     435,  -410,   563,  -410,  -410
+     239,  -388,  -388,   -36,    39,   -27,    28,   -19,  -388,    23,
+    -388,    30,   237,   237,   122,     7,  -388,  -388,  -388,  -388,
+    -388,  -388,  -388,  -388,  -388,  -388,   154,     3,   156,  -388,
+     -14,   187,   237,  -388,  -388,    53,    13,   237,   237,   237,
+     237,   237,  -388,  -388,   701,   129,   103,  -388,   226,   121,
+    -388,  -388,  -388,   161,   198,     3,    30,   190,  -388,   161,
+    -388,  -388,  -388,    43,    16,   166,   288,   166,   211,   168,
+     182,  -388,   146,  -388,  -388,   329,   334,  -388,  -388,  -388,
+     795,   199,  -388,   270,  -388,  -388,   216,  -388,  -388,   359,
+    -388,  -388,  -388,  -388,   235,  -388,  -388,   258,   320,   890,
+     410,   352,   279,  -388,  -388,   285,    18,  -388,  -388,   326,
+    -388,  -388,  -388,  -388,  -388,  1080,   -17,   237,   237,   283,
+     237,    53,   237,  -388,   161,   421,  -388,   163,   177,  -388,
+    -388,  -388,   286,  -388,   166,  -388,   237,   237,   607,  -388,
+    -388,   287,   237,  -388,  -388,  -388,   607,    57,    62,  -388,
+     422,  -388,   141,   141,  1174,   425,  -388,    -2,    29,  -388,
+      19,   182,  1174,  -388,  -388,   237,  1174,  -388,  -388,  -388,
+    -388,  1174,    20,   334,  -388,   237,   400,    93,  -388,   423,
+    -388,   161,  -388,    80,  -388,   166,   161,   156,  -388,   237,
+     153,   237,   237,   237,  -388,   293,  -388,   130,  1251,   986,
+     283,   511,   430,   431,  -388,  -388,   312,   419,  1238,   298,
+     170,    22,  1174,    78,  -388,  1174,  -388,   383,   301,  -388,
+    -388,  -388,  -388,  -388,  -388,   375,  -388,   181,   303,  -388,
+    -388,    10,    77,   269,  -388,   304,    77,   -20,   379,  -388,
+    -388,    18,  -388,   348,  -388,  -388,   310,  1174,  -388,   330,
+     213,   237,  -388,  1174,  -388,   237,  -388,  -388,  -388,   313,
+     370,   374,   317,  -388,  -388,  -388,   222,  -388,  -388,  -388,
+    -388,  -388,    87,   237,   331,   153,   237,  -388,   256,  -388,
+    -388,    -1,    50,   607,   607,   219,  -388,  -388,  -388,  -388,
+    -388,  -388,  -388,  -388,  1174,   318,  1174,    66,  -388,   224,
+     325,   333,  1174,    26,  -388,   409,   330,  -388,  -388,  1174,
+     465,  -388,   133,   237,  -388,  -388,   376,  -388,   377,   378,
+     388,    19,  -388,   467,   471,    77,   438,   404,   440,   339,
+     387,  -388,   227,  -388,  1174,  -388,   330,  -388,   607,   342,
+     343,   237,  -388,   237,  -388,  -388,  -388,  -388,  -388,  -388,
+    -388,   237,  -388,  -388,  -388,   229,   461,   180,  -388,   344,
+     353,  -388,   399,   351,  1238,  -388,   411,   237,  -388,  -388,
+     256,  -388,  -388,   431,  -388,  -388,  -388,  1174,   354,   292,
+     890,  -388,   330,   402,  -388,  -388,  1238,  1238,   355,   330,
+    1174,  -388,    32,    71,  -388,  -388,  -388,  -388,  -388,    19,
+     269,   398,   401,  -388,  1174,   607,   405,  1174,  -388,   464,
+     142,  -388,   330,    21,   237,   237,   231,  -388,   236,  -388,
+     237,  -388,  -388,  -388,  -388,   358,   153,   468,   406,  -388,
+     607,  -388,  -388,   364,  -388,   323,   890,  -388,  1174,   238,
+    -388,  -388,   240,  1238,   330,  -388,   503,  -388,   414,  -388,
+    -388,   367,   430,   473,   433,   367,  1174,  -388,  -388,  -388,
+     501,  -388,   243,   246,  -388,  -388,  -388,   237,  -388,  -388,
+     380,   486,  -388,    31,   237,  1174,   252,   330,  -388,  -388,
+     254,   384,   607,  1174,   521,   393,   390,  -388,    68,    48,
+     424,  -388,   263,   237,    44,  -388,   392,   330,  -388,  -388,
+    -388,   430,   390,  -388,   237,  -388,   393,  -388,  1174,  -388,
+    -388,   444,   436,   437,   439,   533,   237,  -388,   267,  -388,
+    -388,   407,  -388,   515,  -388,  -388,   132,  -388,  -388,  -388,
+    -388,    49,   408,  -388,   237,   412,  -388,  -388,   481,   443,
+     488,  -388,   237,   272,   348,  -388,  -388,  -388,   274,   456,
+     415,  -388,   552,  -388,  -388
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -993,8 +993,8 @@
      means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,     6,   300,     0,     0,     0,     0,     0,     0,    18,
-     123,     0,     0,     7,     0,     0,    15,     8,    10,    11,
+       0,     6,   300,     0,     0,     0,     0,     0,     7,     0,
+      18,   123,     0,     0,     0,     0,    15,     8,    10,    11,
       13,    14,     9,    17,    12,    16,     0,   112,   119,   121,
        0,   298,     0,   292,   293,     0,     0,     0,     0,     0,
        0,     0,   124,   125,     0,     0,   114,   115,     0,   156,
@@ -1054,18 +1054,18 @@
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -410,  -410,  -410,  -410,  -410,  -410,  -410,  -410,  -148,  -410,
-     376,   216,  -410,  -410,  -264,  -410,  -410,  -410,  -410,  -410,
-    -410,  -409,   236,  -410,  -410,  -410,  -410,  -410,  -410,  -410,
-    -410,    85,    -3,  -410,  -410,  -410,   325,  -410,   526,  -410,
-    -410,   467,   217,   464,   -43,   533,  -410,  -410,   436,  -410,
-    -114,  -410,  -410,  -186,   192,  -184,    -9,  -410,  -410,  -410,
-    -410,  -410,  -410,  -410,    89,    55,  -410,  -410,  -410,  -410,
-    -410,  -410,   109,    92,  -410,  -410,    79,  -410,  -142,   318,
-     322,   409,   -42,   441,   439,   501,  -154,  -410,  -410,  -410,
-    -410,   398,  -410,   469,   413,  -232,  -195,   449,  -324,  -410,
-    -129,  -410,  -410,  -410,  -410,  -410,  -141,    -4,  -410,  -410,
-    -410
+    -388,  -388,  -388,  -388,  -388,  -388,  -388,  -388,  -145,  -388,
+     363,   194,  -388,  -388,  -264,  -388,  -388,  -388,  -388,  -388,
+    -388,  -387,   223,  -388,  -388,  -388,  -388,  -388,  -388,  -388,
+    -388,    61,   -50,  -388,  -388,  -388,   316,  -388,   513,  -388,
+    -388,   451,   257,   447,   -41,   516,  -388,  -388,   416,  -388,
+    -114,  -388,  -388,  -191,   174,  -214,   -10,  -388,  -388,  -388,
+    -388,  -388,  -388,  -388,    74,    33,  -388,  -388,  -388,  -388,
+    -388,  -388,    91,    73,  -388,  -388,   -56,  -388,  -142,   299,
+     300,   386,   -42,   417,   418,   472,  -154,  -388,  -388,  -388,
+    -388,   373,  -388,   442,   382,  -232,  -195,   435,  -292,  -388,
+    -126,  -388,  -388,  -388,  -388,  -388,  -141,    -4,  -388,  -388,
+    -388
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
@@ -1090,338 +1090,352 @@
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      36,   210,   105,    48,   211,   182,   236,    45,    49,   207,
-     283,   358,    33,   298,    34,   332,   126,   207,   512,   538,
-      33,   344,    34,   345,    33,    33,    34,    34,    63,   143,
-      56,   283,   175,    68,    69,    70,    71,    72,   147,   283,
-     283,   258,   168,   169,   346,   312,   232,    33,   323,    34,
-     163,   164,   322,   446,   163,   164,   127,   158,   492,   281,
-     536,   513,   539,   442,   135,    37,   129,    56,   383,    32,
-     207,   138,   207,   163,   164,    56,    42,   236,   215,    59,
-     537,   347,   251,    40,   518,   128,   280,   163,   164,   163,
-     164,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   167,   163,   164,    60,    39,    43,    61,    38,    48,
-     348,   349,   227,   179,    49,    50,   184,   232,   186,   480,
-     105,    67,    10,   421,   457,   215,   422,   423,   361,   447,
-     458,   194,   195,   198,   249,   400,   324,   310,   184,   514,
-     540,   403,   350,   257,   354,   302,   229,   372,   439,   176,
-     384,   146,   231,   176,   207,   207,   237,    10,   295,   282,
-     351,   240,   469,    64,   231,   243,   170,   236,   244,   431,
-     303,   245,   451,   306,   230,   455,   461,   495,   445,   130,
-     131,   381,   256,    57,   362,   198,   212,   264,   265,   272,
-     390,   441,   298,   219,   189,   190,   413,   259,   212,    41,
-     416,   519,   424,    66,   476,   249,   185,   232,    62,   207,
-     418,   336,   117,    33,    53,    34,   220,    27,   118,   363,
-      10,    35,   260,   375,   376,   377,   230,   237,    49,   364,
-     221,   222,    49,   520,   316,    33,   119,    34,   141,   120,
-     238,   317,   313,    55,    10,   236,    54,   179,   298,   318,
-     142,   337,   379,   223,   382,   261,   252,    64,   122,    51,
-     389,    52,   125,   452,   437,   132,   365,   392,   352,   356,
-     121,   319,   198,   462,   463,   134,   207,   366,   224,   136,
-      10,   262,   367,   378,   138,   232,   137,   316,   473,   191,
-     192,   466,   412,   438,   317,   163,   164,   150,   475,  -138,
-     151,   207,   318,   368,   395,   163,   164,   394,   509,    49,
-     163,   164,   254,   255,   275,   276,   144,   237,   301,   255,
-     145,    49,   163,   164,   319,   333,   334,    33,    73,    34,
-      74,   510,    33,   152,    34,   435,   153,   184,   249,   272,
-     501,   342,   343,   154,    75,    76,   246,   184,   444,   163,
-     164,   155,   159,   207,   156,   385,   386,   162,    78,    79,
-     172,   165,   249,   433,   181,   249,    80,    81,   411,   334,
-     419,   420,   464,   255,    82,    83,   160,    84,   465,   255,
-     188,   247,    85,   478,   334,   479,   386,    86,   193,   208,
-      87,   490,   255,   543,   249,   237,   477,   491,   255,   498,
-     334,   548,   499,   386,    88,    89,     1,   218,     2,   228,
-     184,   184,    90,   273,   488,    91,   356,   285,   286,   287,
-     288,   289,   290,   291,   292,   293,   294,   253,   163,   164,
-      92,   517,   343,   497,   283,   533,   343,     3,   549,   255,
-      93,   488,   284,    94,   551,   255,    95,    96,   297,   300,
-     307,   308,   309,     4,     5,   311,    97,   321,   326,   328,
-     331,     6,    98,   272,   338,     7,   488,    99,   248,   339,
-     496,   340,   357,   341,    33,    73,    34,    74,   380,   387,
-     199,   388,   391,   393,   295,     8,   396,   397,   398,   272,
-     399,    75,    76,   401,   402,   404,   405,   407,   408,   409,
-     523,   414,   415,   427,   175,    78,    79,   426,   430,   429,
-       9,   436,   532,    80,    81,   432,   440,   456,   443,    10,
-     449,    82,    83,   450,    84,   453,   467,   470,   481,    85,
-     184,   471,   482,   200,    86,    11,   474,    87,   184,   334,
-     483,   489,    12,   493,   484,    13,   494,   503,   504,   500,
-     516,    88,    89,   526,   508,   522,   528,   529,   531,    90,
-     530,   535,    91,   545,   547,    33,    73,    34,    74,   534,
-     554,   199,   546,   552,   278,   542,   335,    92,   544,   417,
-     553,   123,    75,    76,    10,   180,   434,    93,   187,   124,
-      94,   448,   502,    95,    96,   524,    78,    79,   239,   550,
-     525,   373,   226,    97,    80,    81,   374,   241,   279,    98,
-     242,   304,    82,    83,   201,    84,   174,   216,     0,     0,
-      85,     0,     0,     0,   200,    86,   305,     0,    87,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    88,    89,     0,     0,     0,     0,     0,     0,
-      90,     0,     0,    91,     0,     0,    33,    73,    34,    74,
-       0,     0,     0,     0,     0,     0,     0,     0,    92,     0,
-       0,     0,     0,    75,    76,    77,     0,     0,    93,     0,
-       0,    94,     0,     0,    95,    96,     0,    78,    79,     0,
-       0,     0,     0,     0,    97,    80,    81,     0,     0,     0,
-      98,     0,     0,    82,    83,   201,    84,     0,     0,     0,
-       0,    85,     0,     0,     0,     0,    86,     0,     0,    87,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    88,    89,     0,     0,     0,     0,     0,
-       0,    90,     0,     0,    91,     0,     0,    33,    73,    34,
-      74,     0,     0,     0,     0,     0,     0,     0,     0,    92,
-       0,     0,     0,     0,    75,    76,     0,     0,     0,    93,
-       0,     0,    94,     0,     0,    95,    96,     0,    78,    79,
-       0,     0,     0,     0,     0,    97,    80,    81,     0,     0,
-       0,    98,     0,     0,    82,    83,    99,    84,     0,     0,
-       0,     0,    85,     0,     0,     0,     0,    86,     0,     0,
-      87,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    88,    89,     0,     0,     0,     0,
+      36,   210,   105,    48,   211,   182,   236,   283,    45,    49,
+     175,   358,   207,   298,    33,   332,    34,   135,   126,   323,
+     207,   129,   322,    33,    33,    34,    34,    56,    63,   283,
+     283,   143,    56,    68,    69,    70,    71,    72,   147,   283,
+     312,   168,   169,    33,   258,    34,   232,   163,   164,    60,
+     163,   164,    37,   163,   164,   512,   538,   158,    42,   281,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+      51,   163,   164,   207,   127,   207,   383,   236,   163,   164,
+     492,    33,    56,    34,   194,    66,   280,    32,    43,   163,
+     164,    33,   344,    34,   345,   442,    38,    67,   513,   539,
+      39,   167,   509,   128,    40,   238,   518,    41,    48,   324,
+     313,   403,   227,   179,    49,   346,   184,   232,   186,   519,
+     105,   252,    50,   215,   176,   510,    11,   176,   295,    61,
+     400,   361,   195,   198,   249,   256,   130,   131,   184,   215,
+      64,   446,    57,   229,   372,   257,   302,   354,   439,    52,
+     390,   480,   520,   347,   231,    11,   237,   207,   207,   282,
+     384,   240,   469,   231,   243,   170,   461,   236,   244,   431,
+     303,   245,   451,   306,   230,   455,   495,   445,   514,   540,
+      64,   381,   185,   348,   349,   198,    59,   264,   265,   272,
+      62,   441,   298,   212,   219,   230,   413,   259,   146,   536,
+     416,    53,   163,   164,   476,   249,   316,   232,   189,   190,
+     418,   336,   207,   317,   212,   350,   447,   421,   220,   537,
+     422,   318,   191,   192,   260,   254,   255,   237,    49,   423,
+     138,   351,    49,   221,   222,    54,   375,   376,   377,   251,
+       1,    33,     2,    34,   319,   236,   117,   179,   298,   118,
+     457,   337,   379,   310,   382,   458,   223,    27,   261,   119,
+     389,    35,    11,   452,   437,   120,   362,   392,   352,   356,
+      11,     3,   198,   462,   463,   275,   276,    11,   394,   207,
+     141,   224,   122,    55,   262,   232,     4,     5,   473,    33,
+     142,    34,   412,   134,   466,     6,   125,   378,   424,     7,
+     363,   438,     8,   395,   207,   132,   163,   164,   136,    49,
+     121,   364,   137,   163,   164,   301,   255,   237,   165,   138,
+       9,    49,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   475,   163,   164,   435,   144,   184,   249,   272,
+     501,   145,   316,   150,   163,   164,    10,   184,   444,   317,
+     365,   163,   164,   151,  -138,    11,   207,   318,   333,   334,
+     152,   366,   249,   433,   153,   249,   367,   342,   343,   385,
+     386,    12,   411,   334,   419,   420,   464,   255,    13,   154,
+     319,   465,   255,   478,   334,   479,   386,   368,   490,   255,
+     295,   491,   255,   543,   249,   237,   477,   498,   334,   499,
+     386,   548,   155,   156,    33,    73,    34,    74,   517,   343,
+     184,   184,   533,   343,   488,   159,   356,   549,   255,   551,
+     255,    75,    76,   246,   160,   162,   172,   181,   188,   218,
+     193,   208,   228,   497,   253,    78,    79,   273,   283,   297,
+     284,   488,    80,    81,   300,   307,   308,   309,   311,   328,
+     321,    82,    83,   326,    84,   331,   339,   338,   247,    85,
+     340,   341,   380,   272,   357,    86,   488,   388,    87,   387,
+     496,   391,   393,   399,   401,   396,   397,   398,   402,   404,
+     405,   407,    88,    89,   408,   409,   414,   415,   175,   272,
+     426,    90,   427,   429,    91,   430,   440,   432,   436,   443,
+     523,   449,   467,   453,   450,   456,   470,   471,   474,    92,
+     481,   482,   532,   334,   483,    33,    73,    34,    74,    93,
+     489,   199,    94,   484,   493,    95,    96,   494,   503,   500,
+     184,   504,    75,    76,   516,    97,   508,   522,   184,   526,
+     528,    98,   531,   530,    99,   248,    78,    79,   535,   529,
+     545,   534,   542,    80,    81,   546,   544,   547,   552,   554,
+     553,   278,    82,    83,   434,    84,   417,   335,   123,   180,
+      85,   187,   124,   448,   502,   200,    86,   550,   239,    87,
+     524,   525,   373,   241,   374,   279,   304,   174,   226,   242,
+     216,     0,     0,    88,    89,   305,     0,     0,     0,     0,
        0,     0,    90,     0,     0,    91,     0,     0,     0,     0,
-       0,    33,    73,    34,    74,     0,     0,     0,     0,     0,
-      92,     0,     0,     0,     0,     0,     0,     0,    75,    76,
+       0,    33,    73,    34,    74,     0,     0,   199,     0,     0,
+      92,     0,     0,     0,     0,     0,     0,    11,    75,    76,
       93,     0,     0,    94,     0,     0,    95,    96,     0,     0,
-       0,     0,    78,    79,     0,     0,    97,   146,     0,     0,
-      80,    81,    98,     0,     0,     0,     0,    99,    82,    83,
+       0,     0,    78,    79,     0,     0,    97,     0,     0,    80,
+      81,     0,    98,     0,     0,   201,     0,     0,    82,    83,
        0,    84,     0,     0,     0,     0,    85,     0,     0,     0,
-       0,    86,     0,     0,    87,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    88,    89,
-       0,     0,     0,     0,     0,     0,    90,     0,     0,    91,
-       0,     0,    33,    73,    34,    74,     0,     0,     0,     0,
-       0,     0,     0,     0,    92,     0,     0,     0,     0,    75,
-      76,    10,     0,     0,    93,     0,     0,    94,     0,     0,
-      95,    96,     0,    78,    79,     0,     0,     0,     0,     0,
-      97,    80,    81,     0,     0,     0,    98,     0,     0,    82,
-      83,    99,    84,     0,     0,     0,     0,    85,     0,     0,
        0,   200,    86,     0,     0,    87,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,    88,
-      89,     0,     0,     0,     0,     0,     0,    90,     0,     0,
-      91,     0,     0,    33,    73,    34,    74,     0,     0,     0,
-       0,     0,     0,     0,     0,    92,     0,     0,     0,     0,
-      75,   173,     0,     0,     0,    93,     0,     0,    94,     0,
-       0,    95,    96,     0,    78,    79,     0,     0,     0,     0,
-       0,    97,    80,    81,     0,     0,     0,    98,     0,     0,
-      82,    83,   201,    84,     0,     0,     0,     0,    85,     0,
-       0,     0,     0,    86,     0,     0,    87,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      88,    89,     0,     0,     0,     0,     0,     0,    90,     0,
-       0,    91,     0,     0,    33,    73,    34,    74,     0,     0,
+      89,     0,     0,     0,     0,     0,     0,     0,    90,     0,
+       0,    91,     0,     0,     0,    33,    73,    34,    74,     0,
        0,     0,     0,     0,     0,     0,    92,     0,     0,     0,
-       0,    75,    76,     0,     0,     0,    93,     0,     0,    94,
-       0,     0,    95,    96,     0,    78,    79,     0,     0,     0,
+       0,     0,    75,    76,    77,     0,    93,     0,     0,    94,
+       0,     0,    95,    96,     0,     0,    78,    79,     0,     0,
        0,     0,    97,    80,    81,     0,     0,     0,    98,     0,
-       0,    82,    83,    99,    84,     0,     0,     0,     0,    85,
-       0,     0,     0,     0,    86,     0,     0,    87,     0,     0,
+       0,   201,    82,    83,     0,    84,     0,     0,     0,     0,
+      85,     0,     0,     0,     0,     0,    86,     0,     0,    87,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    88,    89,    73,     0,    74,     0,     0,     0,    90,
-       0,     0,    91,     0,     0,     0,     0,     0,     0,    75,
-     173,     0,    78,    79,     0,     0,     0,    92,     0,     0,
-       0,    81,     0,    78,    79,     0,     0,    93,    82,    83,
-      94,    84,    81,    95,    96,     0,    85,     0,     0,    82,
-      83,     0,    84,    97,    87,     0,     0,    85,     0,    98,
-       0,     0,     0,     0,    99,    87,     0,     0,    88,   277,
-       0,     0,     0,     0,     0,     0,    90,     0,     0,    88,
-      89,     0,     0,     0,     0,     0,     0,    90,     0,     0,
-      91,     0,     0,     0,    92,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    93,    92,     0,     0,     0,     0,
-      95,    96,     0,     0,     0,    93,     0,     0,     0,     0,
-      97,    95,    96,     0,     0,     0,    98,     0,     0,     0,
-       0,    97,     0,     0,     0,     0,     0,    98
+       0,     0,     0,    88,    89,     0,     0,     0,     0,     0,
+       0,     0,    90,     0,     0,    91,     0,     0,     0,    33,
+      73,    34,    74,     0,     0,     0,     0,     0,     0,     0,
+      92,     0,     0,     0,     0,     0,    75,    76,     0,     0,
+      93,     0,     0,    94,     0,     0,    95,    96,     0,     0,
+      78,    79,     0,     0,     0,     0,    97,    80,    81,     0,
+       0,     0,    98,     0,     0,    99,    82,    83,     0,    84,
+       0,     0,     0,     0,    85,     0,     0,     0,     0,     0,
+      86,     0,     0,    87,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    88,    89,     0,
+       0,     0,     0,     0,     0,     0,    90,     0,     0,    91,
+       0,     0,     0,     0,    33,    73,    34,    74,     0,     0,
+       0,     0,     0,     0,    92,     0,     0,     0,     0,     0,
+       0,    75,    76,     0,    93,     0,     0,    94,     0,     0,
+      95,    96,     0,     0,     0,    78,    79,     0,     0,     0,
+      97,   146,    80,    81,     0,     0,    98,     0,     0,    99,
+       0,    82,    83,     0,    84,     0,     0,     0,     0,    85,
+       0,     0,     0,     0,     0,    86,     0,     0,    87,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    88,    89,     0,     0,     0,     0,     0,     0,
+       0,    90,     0,     0,    91,     0,     0,     0,     0,     0,
+      33,    73,    34,    74,     0,     0,     0,     0,     0,    92,
+       0,     0,     0,     0,     0,     0,    11,    75,    76,    93,
+       0,     0,    94,     0,     0,    95,    96,     0,     0,     0,
+       0,    78,    79,     0,     0,    97,     0,     0,    80,    81,
+       0,    98,     0,     0,    99,     0,     0,    82,    83,     0,
+      84,     0,     0,     0,     0,    85,     0,     0,     0,     0,
+     200,    86,     0,     0,    87,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    88,    89,
+       0,     0,     0,     0,     0,     0,     0,    90,     0,     0,
+      91,     0,     0,     0,    33,    73,    34,    74,     0,     0,
+       0,     0,     0,     0,     0,    92,     0,     0,     0,     0,
+       0,    75,   173,     0,     0,    93,     0,     0,    94,     0,
+       0,    95,    96,     0,     0,    78,    79,     0,     0,     0,
+       0,    97,    80,    81,     0,     0,     0,    98,     0,     0,
+     201,    82,    83,     0,    84,     0,     0,     0,     0,    85,
+       0,     0,     0,     0,     0,    86,     0,     0,    87,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    88,    89,     0,     0,     0,     0,     0,     0,
+       0,    90,     0,     0,    91,     0,     0,     0,    33,    73,
+      34,    74,     0,     0,     0,     0,     0,     0,     0,    92,
+       0,     0,     0,     0,     0,    75,    76,     0,     0,    93,
+       0,     0,    94,     0,     0,    95,    96,     0,     0,    78,
+      79,     0,     0,     0,     0,    97,    80,    81,     0,     0,
+       0,    98,     0,     0,    99,    82,    83,     0,    84,     0,
+       0,     0,     0,    85,     0,     0,     0,     0,     0,    86,
+       0,     0,    87,    73,     0,    74,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    88,    89,     0,    75,
+     173,     0,     0,     0,     0,    90,     0,     0,    91,     0,
+       0,     0,     0,    78,    79,     0,     0,     0,     0,     0,
+       0,    81,     0,    92,     0,     0,    78,    79,     0,    82,
+      83,     0,    84,    93,    81,     0,    94,    85,     0,    95,
+      96,     0,    82,    83,     0,    84,    87,     0,     0,    97,
+      85,     0,     0,     0,     0,    98,     0,     0,    99,    87,
+      88,    89,     0,     0,     0,     0,     0,     0,     0,    90,
+       0,     0,    91,    88,   277,     0,     0,     0,     0,     0,
+       0,     0,    90,     0,     0,     0,     0,    92,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    93,     0,     0,
+      92,     0,     0,    95,    96,     0,     0,     0,     0,     0,
+      93,     0,     0,    97,     0,     0,    95,    96,     0,    98,
+       0,     0,     0,     0,     0,     0,    97,     0,     0,     0,
+       0,     0,    98
 };
 
 static const yytype_int16 yycheck[] =
 {
-       4,   142,    44,    12,   146,   119,   160,    11,    12,   138,
-       8,   275,     4,   208,     6,   247,    59,   146,     7,     7,
-       4,     5,     6,     7,     4,     4,     6,     6,    32,    72,
-      29,     8,    27,    37,    38,    39,    40,    41,    80,     8,
-       8,   189,    23,    24,    28,   231,   160,     4,    39,     6,
-      21,    22,   236,    69,    21,    22,    31,    99,   467,   201,
-      66,    50,    50,   387,    67,    78,     5,    29,    10,   121,
-     199,   135,   201,    21,    22,    29,    28,   231,    61,    30,
-      86,    65,   146,   121,   493,    60,   200,    21,    22,    21,
-      22,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,   105,    21,    22,   140,    71,    58,   143,   121,   118,
-      94,    95,   154,   117,   118,     0,   120,   231,   122,   443,
-     162,    36,   114,    37,   106,    61,    40,    41,   276,   145,
-     112,   134,   136,   137,   176,   321,   127,    71,   142,   128,
-     128,   325,   126,   186,   273,   122,   145,   145,   380,   144,
-      92,   134,   144,   144,   283,   284,   160,   114,    77,   201,
-     144,   165,   426,   125,   144,   144,   147,   321,   172,   364,
-     212,   175,   404,   215,   145,   407,   145,   145,   145,   118,
-     119,   295,   185,   137,    10,   189,   134,   191,   192,   193,
-     122,   386,   387,    53,    46,    47,   338,    45,   134,    83,
-     341,    74,   116,    71,   436,   247,   121,   321,     3,   338,
-     351,   253,   115,     4,    48,     6,    76,     0,   146,    45,
-     114,     4,    70,    17,    18,    19,   145,   231,   232,    55,
-      90,    91,   236,   106,    72,     4,    33,     6,   132,   144,
-     161,    79,    33,    26,   114,   399,    80,   251,   443,    87,
-     144,   255,   294,   113,   296,   103,   177,   125,    83,   140,
-     302,   142,   104,   405,   378,   137,    92,   309,   272,   273,
-      53,   109,   276,   414,   415,     5,   405,   103,   138,    95,
-     114,   129,   108,    77,   135,   399,   144,    72,   430,    46,
-      47,   420,   334,     9,    79,    21,    22,   144,     9,    84,
-      82,   430,    87,   129,   313,    21,    22,   145,    34,   313,
-      21,    22,   145,   146,   145,   146,     7,   321,   145,   146,
-       7,   325,    21,    22,   109,   145,   146,     4,     5,     6,
-       7,    57,     4,   144,     6,   377,     5,   341,   380,   343,
-     482,   145,   146,   144,    21,    22,    23,   351,   390,    21,
-      22,   144,     5,   482,    82,   145,   146,   146,    35,    36,
-      98,    33,   404,   367,   144,   407,    43,    44,   145,   146,
-     145,   146,   145,   146,    51,    52,    71,    54,   145,   146,
-       7,    58,    59,   145,   146,   145,   146,    64,   144,   144,
-      67,   145,   146,   534,   436,   399,   438,   145,   146,   145,
-     146,   542,   145,   146,    81,    82,     1,     7,     3,     7,
-     414,   415,    89,   144,   456,    92,   420,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    11,    21,    22,
-     107,   145,   146,   475,     8,   145,   146,    32,   145,   146,
-     117,   483,     9,   120,   145,   146,   123,   124,    20,   146,
-      62,   145,    71,    48,    49,   145,   133,   146,    73,    99,
-     145,    56,   139,   467,   144,    60,   508,   144,   145,    85,
-     474,    85,   131,   144,     4,     5,     6,     7,   144,   144,
-      10,   132,    62,     7,    77,    80,    97,    97,    97,   493,
-      84,    21,    22,     7,     7,    42,    75,    42,   145,    96,
-     504,   144,   144,   137,    27,    35,    36,   146,   144,    92,
-     105,   144,   516,    43,    44,    85,    92,    42,   144,   114,
-     101,    51,    52,   101,    54,    96,   144,    38,     7,    59,
-     534,    99,    95,    63,    64,   130,   144,    67,   542,   146,
-      42,    19,   137,   144,    88,   140,    42,     7,   136,   145,
-     108,    81,    82,    93,   146,   145,   102,   110,     9,    89,
-     102,    33,    92,    68,    68,     4,     5,     6,     7,   144,
-       7,    10,   110,   100,   198,   144,   251,   107,   144,   343,
-     145,    55,    21,    22,   114,   118,   370,   117,   124,    56,
-     120,   399,   483,   123,   124,   506,    35,    36,   162,   544,
-     508,   283,   153,   133,    43,    44,   284,   166,   199,   139,
-     171,   213,    51,    52,   144,    54,   115,   148,    -1,    -1,
-      59,    -1,    -1,    -1,    63,    64,   213,    -1,    67,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    81,    82,    -1,    -1,    -1,    -1,    -1,    -1,
-      89,    -1,    -1,    92,    -1,    -1,     4,     5,     6,     7,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,
-      -1,    -1,    -1,    21,    22,    23,    -1,    -1,   117,    -1,
-      -1,   120,    -1,    -1,   123,   124,    -1,    35,    36,    -1,
-      -1,    -1,    -1,    -1,   133,    43,    44,    -1,    -1,    -1,
-     139,    -1,    -1,    51,    52,   144,    54,    -1,    -1,    -1,
-      -1,    59,    -1,    -1,    -1,    -1,    64,    -1,    -1,    67,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    81,    82,    -1,    -1,    -1,    -1,    -1,
-      -1,    89,    -1,    -1,    92,    -1,    -1,     4,     5,     6,
-       7,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
-      -1,    -1,    -1,    -1,    21,    22,    -1,    -1,    -1,   117,
-      -1,    -1,   120,    -1,    -1,   123,   124,    -1,    35,    36,
-      -1,    -1,    -1,    -1,    -1,   133,    43,    44,    -1,    -1,
-      -1,   139,    -1,    -1,    51,    52,   144,    54,    -1,    -1,
-      -1,    -1,    59,    -1,    -1,    -1,    -1,    64,    -1,    -1,
-      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    81,    82,    -1,    -1,    -1,    -1,
-      -1,    -1,    89,    -1,    -1,    92,    -1,    -1,    -1,    -1,
-      -1,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,
-     107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    21,    22,
-     117,    -1,    -1,   120,    -1,    -1,   123,   124,    -1,    -1,
-      -1,    -1,    35,    36,    -1,    -1,   133,   134,    -1,    -1,
-      43,    44,   139,    -1,    -1,    -1,    -1,   144,    51,    52,
+       4,   142,    44,    13,   146,   119,   160,     8,    12,    13,
+      27,   275,   138,   208,     4,   247,     6,    67,    59,    39,
+     146,     5,   236,     4,     4,     6,     6,    29,    32,     8,
+       8,    72,    29,    37,    38,    39,    40,    41,    80,     8,
+     231,    23,    24,     4,   189,     6,   160,    21,    22,    63,
+      21,    22,    79,    21,    22,     7,     7,    99,    28,   201,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      63,    21,    22,   199,    31,   201,    10,   231,    21,    22,
+     467,     4,    29,     6,   134,    72,   200,   123,    58,    21,
+      22,     4,     5,     6,     7,   387,   123,    36,    50,    50,
+      72,   105,    34,    60,   123,   161,   493,    84,   118,   129,
+      33,   325,   154,   117,   118,    28,   120,   231,   122,    75,
+     162,   177,     0,    61,   144,    57,   116,   144,    78,   143,
+     321,   276,   136,   137,   176,   185,   120,   121,   142,    61,
+     127,    70,   139,   145,   145,   186,   124,   273,   380,   142,
+     124,   443,   108,    66,   144,   116,   160,   283,   284,   201,
+      94,   165,   426,   144,   144,   147,   145,   321,   172,   364,
+     212,   175,   404,   215,   145,   407,   145,   145,   130,   130,
+     127,   295,   121,    96,    97,   189,    30,   191,   192,   193,
+       3,   386,   387,   136,    53,   145,   338,    44,   136,    67,
+     341,    47,    21,    22,   436,   247,    73,   321,    45,    46,
+     351,   253,   338,    80,   136,   128,   145,    37,    77,    87,
+      40,    88,    45,    46,    71,   145,   146,   231,   232,    49,
+     137,   144,   236,    92,    93,    81,    17,    18,    19,   146,
+       1,     4,     3,     6,   111,   399,   117,   251,   443,   146,
+     108,   255,   294,    72,   296,   113,   115,     0,   105,    33,
+     302,     4,   116,   405,   378,   144,    10,   309,   272,   273,
+     116,    32,   276,   414,   415,   145,   146,   116,   145,   405,
+     134,   140,    84,    26,   131,   399,    47,    48,   430,     4,
+     144,     6,   334,     5,   420,    56,   106,    78,   118,    60,
+      44,     9,    63,   313,   430,   139,    21,    22,    97,   313,
+      53,    55,   144,    21,    22,   145,   146,   321,    33,   137,
+      81,   325,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,     9,    21,    22,   377,     7,   341,   380,   343,
+     482,     7,    73,   144,    21,    22,   107,   351,   390,    80,
+      94,    21,    22,    83,    85,   116,   482,    88,   145,   146,
+     144,   105,   404,   367,     5,   407,   110,   145,   146,   145,
+     146,   132,   145,   146,   145,   146,   145,   146,   139,   144,
+     111,   145,   146,   145,   146,   145,   146,   131,   145,   146,
+      78,   145,   146,   534,   436,   399,   438,   145,   146,   145,
+     146,   542,   144,    83,     4,     5,     6,     7,   145,   146,
+     414,   415,   145,   146,   456,     5,   420,   145,   146,   145,
+     146,    21,    22,    23,    72,   146,   100,   144,     7,     7,
+     144,   144,     7,   475,    11,    35,    36,   144,     8,    20,
+       9,   483,    42,    43,   146,    62,   145,    72,   145,   101,
+     146,    51,    52,    74,    54,   145,    86,   144,    58,    59,
+      86,   144,   144,   467,   133,    65,   508,   134,    68,   144,
+     474,    62,     7,    85,     7,    99,    99,    99,     7,    41,
+      76,    41,    82,    83,   145,    98,   144,   144,    27,   493,
+     146,    91,   139,    94,    94,   144,    94,    86,   144,   144,
+     504,   103,   144,    98,   103,    41,    38,   101,   144,   109,
+       7,    97,   516,   146,    41,     4,     5,     6,     7,   119,
+      19,    10,   122,    90,   144,   125,   126,    41,     7,   145,
+     534,   138,    21,    22,   110,   135,   146,   145,   542,    95,
+     104,   141,     9,   104,   144,   145,    35,    36,    33,   112,
+      69,   144,   144,    42,    43,   112,   144,    69,   102,     7,
+     145,   198,    51,    52,   370,    54,   343,   251,    55,   118,
+      59,   124,    56,   399,   483,    64,    65,   544,   162,    68,
+     506,   508,   283,   166,   284,   199,   213,   115,   153,   171,
+     148,    -1,    -1,    82,    83,   213,    -1,    -1,    -1,    -1,
+      -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    -1,    -1,
+      -1,     4,     5,     6,     7,    -1,    -1,    10,    -1,    -1,
+     109,    -1,    -1,    -1,    -1,    -1,    -1,   116,    21,    22,
+     119,    -1,    -1,   122,    -1,    -1,   125,   126,    -1,    -1,
+      -1,    -1,    35,    36,    -1,    -1,   135,    -1,    -1,    42,
+      43,    -1,   141,    -1,    -1,   144,    -1,    -1,    51,    52,
       -1,    54,    -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,
-      -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,    82,
-      -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    92,
-      -1,    -1,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,    21,
-      22,   114,    -1,    -1,   117,    -1,    -1,   120,    -1,    -1,
-     123,   124,    -1,    35,    36,    -1,    -1,    -1,    -1,    -1,
-     133,    43,    44,    -1,    -1,    -1,   139,    -1,    -1,    51,
-      52,   144,    54,    -1,    -1,    -1,    -1,    59,    -1,    -1,
-      -1,    63,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,
-      82,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
-      92,    -1,    -1,     4,     5,     6,     7,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,
-      21,    22,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,
-      -1,   123,   124,    -1,    35,    36,    -1,    -1,    -1,    -1,
-      -1,   133,    43,    44,    -1,    -1,    -1,   139,    -1,    -1,
-      51,    52,   144,    54,    -1,    -1,    -1,    -1,    59,    -1,
-      -1,    -1,    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,
+      -1,    64,    65,    -1,    -1,    68,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
+      83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,
+      -1,    94,    -1,    -1,    -1,     4,     5,     6,     7,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,
+      -1,    -1,    21,    22,    23,    -1,   119,    -1,    -1,   122,
+      -1,    -1,   125,   126,    -1,    -1,    35,    36,    -1,    -1,
+      -1,    -1,   135,    42,    43,    -1,    -1,    -1,   141,    -1,
+      -1,   144,    51,    52,    -1,    54,    -1,    -1,    -1,    -1,
+      59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      81,    82,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,
-      -1,    92,    -1,    -1,     4,     5,     6,     7,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,
-      -1,    21,    22,    -1,    -1,    -1,   117,    -1,    -1,   120,
-      -1,    -1,   123,   124,    -1,    35,    36,    -1,    -1,    -1,
-      -1,    -1,   133,    43,    44,    -1,    -1,    -1,   139,    -1,
-      -1,    51,    52,   144,    54,    -1,    -1,    -1,    -1,    59,
-      -1,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,    -1,
+      -1,    -1,    -1,    82,    83,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    -1,     4,
+       5,     6,     7,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     109,    -1,    -1,    -1,    -1,    -1,    21,    22,    -1,    -1,
+     119,    -1,    -1,   122,    -1,    -1,   125,   126,    -1,    -1,
+      35,    36,    -1,    -1,    -1,    -1,   135,    42,    43,    -1,
+      -1,    -1,   141,    -1,    -1,   144,    51,    52,    -1,    54,
+      -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,
+      65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    83,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    -1,    94,
+      -1,    -1,    -1,    -1,     4,     5,     6,     7,    -1,    -1,
+      -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,
+      -1,    21,    22,    -1,   119,    -1,    -1,   122,    -1,    -1,
+     125,   126,    -1,    -1,    -1,    35,    36,    -1,    -1,    -1,
+     135,   136,    42,    43,    -1,    -1,   141,    -1,    -1,   144,
+      -1,    51,    52,    -1,    54,    -1,    -1,    -1,    -1,    59,
+      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    81,    82,     5,    -1,     7,    -1,    -1,    -1,    89,
-      -1,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,    21,
-      22,    -1,    35,    36,    -1,    -1,    -1,   107,    -1,    -1,
-      -1,    44,    -1,    35,    36,    -1,    -1,   117,    51,    52,
-     120,    54,    44,   123,   124,    -1,    59,    -1,    -1,    51,
-      52,    -1,    54,   133,    67,    -1,    -1,    59,    -1,   139,
-      -1,    -1,    -1,    -1,   144,    67,    -1,    -1,    81,    82,
-      -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    81,
-      82,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
-      92,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   117,   107,    -1,    -1,    -1,    -1,
-     123,   124,    -1,    -1,    -1,   117,    -1,    -1,    -1,    -1,
-     133,   123,   124,    -1,    -1,    -1,   139,    -1,    -1,    -1,
-      -1,   133,    -1,    -1,    -1,    -1,    -1,   139
+      -1,    -1,    82,    83,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    91,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
+       4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,   109,
+      -1,    -1,    -1,    -1,    -1,    -1,   116,    21,    22,   119,
+      -1,    -1,   122,    -1,    -1,   125,   126,    -1,    -1,    -1,
+      -1,    35,    36,    -1,    -1,   135,    -1,    -1,    42,    43,
+      -1,   141,    -1,    -1,   144,    -1,    -1,    51,    52,    -1,
+      54,    -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,
+      64,    65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    83,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    -1,
+      94,    -1,    -1,    -1,     4,     5,     6,     7,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,
+      -1,    21,    22,    -1,    -1,   119,    -1,    -1,   122,    -1,
+      -1,   125,   126,    -1,    -1,    35,    36,    -1,    -1,    -1,
+      -1,   135,    42,    43,    -1,    -1,    -1,   141,    -1,    -1,
+     144,    51,    52,    -1,    54,    -1,    -1,    -1,    -1,    59,
+      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    82,    83,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    91,    -1,    -1,    94,    -1,    -1,    -1,     4,     5,
+       6,     7,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
+      -1,    -1,    -1,    -1,    -1,    21,    22,    -1,    -1,   119,
+      -1,    -1,   122,    -1,    -1,   125,   126,    -1,    -1,    35,
+      36,    -1,    -1,    -1,    -1,   135,    42,    43,    -1,    -1,
+      -1,   141,    -1,    -1,   144,    51,    52,    -1,    54,    -1,
+      -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    65,
+      -1,    -1,    68,     5,    -1,     7,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    82,    83,    -1,    21,
+      22,    -1,    -1,    -1,    -1,    91,    -1,    -1,    94,    -1,
+      -1,    -1,    -1,    35,    36,    -1,    -1,    -1,    -1,    -1,
+      -1,    43,    -1,   109,    -1,    -1,    35,    36,    -1,    51,
+      52,    -1,    54,   119,    43,    -1,   122,    59,    -1,   125,
+     126,    -1,    51,    52,    -1,    54,    68,    -1,    -1,   135,
+      59,    -1,    -1,    -1,    -1,   141,    -1,    -1,   144,    68,
+      82,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
+      -1,    -1,    94,    82,    83,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    91,    -1,    -1,    -1,    -1,   109,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
+     109,    -1,    -1,   125,   126,    -1,    -1,    -1,    -1,    -1,
+     119,    -1,    -1,   135,    -1,    -1,   125,   126,    -1,   141,
+      -1,    -1,    -1,    -1,    -1,    -1,   135,    -1,    -1,    -1,
+      -1,    -1,   141
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
      symbol of state STATE-NUM.  */
 static const yytype_uint16 yystos[] =
 {
-       0,     1,     3,    32,    48,    49,    56,    60,    80,   105,
-     114,   130,   137,   140,   149,   150,   151,   152,   153,   154,
+       0,     1,     3,    32,    47,    48,    56,    60,    63,    81,
+     107,   116,   132,   139,   149,   150,   151,   152,   153,   154,
      155,   177,   178,   181,   182,   185,   187,   190,   191,   192,
-     257,   258,   121,     4,     6,   190,   255,    78,   121,    71,
-     121,    83,    28,    58,   193,   255,   188,   189,   204,   255,
-       0,   140,   142,    48,    80,   190,    29,   137,   186,    30,
-     140,   143,     3,   255,   125,   179,    71,   179,   255,   255,
+     257,   258,   123,     4,     6,   190,   255,    79,   123,    72,
+     123,    84,    28,    58,   193,   255,   188,   189,   204,   255,
+       0,    63,   142,    47,    81,   190,    29,   139,   186,    30,
+      63,   143,     3,   255,   127,   179,    72,   179,   255,   255,
      255,   255,   255,     5,     7,    21,    22,    23,    35,    36,
-      43,    44,    51,    52,    54,    59,    64,    67,    81,    82,
-      89,    92,   107,   117,   120,   123,   124,   133,   139,   144,
+      42,    43,    51,    52,    54,    59,    65,    68,    82,    83,
+      91,    94,   109,   119,   122,   125,   126,   135,   141,   144,
      158,   194,   195,   196,   198,   230,   231,   232,   233,   234,
-     235,   236,   237,   244,   248,   251,   255,   115,   146,    33,
-     144,   190,    83,   186,   193,   104,   192,    31,    60,     5,
-     118,   119,   137,   180,     5,   180,    95,   144,   135,   224,
-     225,   132,   144,   192,     7,     7,   134,   230,   240,   241,
-     144,    82,   144,     5,   144,   144,    82,   190,   230,     5,
-      71,   197,   146,    21,    22,    33,   252,   255,    23,    24,
-     147,   253,    98,    22,   233,    27,   144,   183,   184,   255,
-     189,   144,   198,   254,   255,   179,   255,   191,     7,    46,
-      47,    46,    47,   144,   180,   255,   156,   157,   255,    10,
-      63,   144,   226,   227,   228,   229,   230,   248,   144,   247,
-     254,   226,   134,   238,   239,    61,   241,   242,     7,    53,
-      76,    90,    91,   113,   138,   245,   245,   230,     7,   145,
+     235,   236,   237,   244,   248,   251,   255,   117,   146,    33,
+     144,   190,    84,   186,   193,   106,   192,    31,    60,     5,
+     120,   121,   139,   180,     5,   180,    97,   144,   137,   224,
+     225,   134,   144,   192,     7,     7,   136,   230,   240,   241,
+     144,    83,   144,     5,   144,   144,    83,   190,   230,     5,
+      72,   197,   146,    21,    22,    33,   252,   255,    23,    24,
+     147,   253,   100,    22,   233,    27,   144,   183,   184,   255,
+     189,   144,   198,   254,   255,   179,   255,   191,     7,    45,
+      46,    45,    46,   144,   180,   255,   156,   157,   255,    10,
+      64,   144,   226,   227,   228,   229,   230,   248,   144,   247,
+     254,   226,   136,   238,   239,    61,   241,   242,     7,    53,
+      77,    92,    93,   115,   140,   245,   245,   230,     7,   145,
      145,   144,   198,   201,   202,   205,   234,   255,   224,   196,
      255,   231,   232,   144,   255,   255,    23,    58,   145,   230,
-     243,   146,   224,    11,   145,   146,   180,   192,   156,    45,
-      70,   103,   129,   162,   255,   255,   169,   170,   171,   172,
-     173,   174,   255,   144,   165,   145,   146,    82,   158,   229,
+     243,   146,   224,    11,   145,   146,   180,   192,   156,    44,
+      71,   105,   131,   162,   255,   255,   169,   170,   171,   172,
+     173,   174,   255,   144,   165,   145,   146,    83,   158,   229,
      198,   226,   230,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    77,   250,    20,   244,   246,
-     146,   145,   122,   230,   239,   242,   230,    62,   145,    71,
-      71,   145,   201,    33,   203,   204,    72,    79,    87,   109,
-     200,   146,   203,    39,   127,   199,    73,   206,    99,   213,
-     214,   145,   243,   145,   146,   184,   230,   255,   144,    85,
-      85,   144,   145,   146,     5,     7,    28,    65,    94,    95,
-     126,   144,   255,   256,   248,   249,   255,   131,   162,   163,
-     164,   156,    10,    45,    55,    92,   103,   108,   129,   159,
-     160,   161,   145,   227,   228,    17,    18,    19,    77,   230,
-     144,   198,   230,    10,    92,   145,   146,   144,   132,   230,
-     122,    62,   230,     7,   145,   204,    97,    97,    97,    84,
-     201,     7,     7,   203,    42,    75,   207,    42,   145,    96,
+      15,    16,    17,    18,    19,    78,   250,    20,   244,   246,
+     146,   145,   124,   230,   239,   242,   230,    62,   145,    72,
+      72,   145,   201,    33,   203,   204,    73,    80,    88,   111,
+     200,   146,   203,    39,   129,   199,    74,   206,   101,   213,
+     214,   145,   243,   145,   146,   184,   230,   255,   144,    86,
+      86,   144,   145,   146,     5,     7,    28,    66,    96,    97,
+     128,   144,   255,   256,   248,   249,   255,   133,   162,   163,
+     164,   156,    10,    44,    55,    94,   105,   110,   131,   159,
+     160,   161,   145,   227,   228,    17,    18,    19,    78,   230,
+     144,   198,   230,    10,    94,   145,   146,   144,   134,   230,
+     124,    62,   230,     7,   145,   204,    99,    99,    99,    85,
+     201,     7,     7,   203,    41,    76,   207,    41,   145,    98,
      215,   145,   230,   226,   144,   144,   254,   170,   254,   145,
-     146,    37,    40,    41,   116,   175,   146,   137,   166,    92,
-     144,   244,    85,   255,   159,   230,   144,   198,     9,   243,
-      92,   244,   246,   144,   230,   145,    69,   145,   202,   101,
-     101,   243,   226,    96,   208,   243,    42,   106,   112,   216,
+     146,    37,    40,    49,   118,   175,   146,   139,   166,    94,
+     144,   244,    86,   255,   159,   230,   144,   198,     9,   243,
+      94,   244,   246,   144,   230,   145,    70,   145,   202,   103,
+     103,   243,   226,    98,   208,   243,    41,   108,   113,   216,
      217,   145,   254,   254,   145,   145,   248,   144,   176,   162,
-      38,    99,   167,   226,   144,     9,   243,   230,   145,   145,
-     246,     7,    95,    42,    88,   209,   220,   221,   230,    19,
-     145,   145,   169,   144,    42,   145,   255,   230,   145,   145,
-     145,   226,   220,     7,   136,   210,   211,   212,   146,    34,
-      57,   222,     7,    50,   128,   218,   108,   145,   169,    74,
-     106,   168,   145,   255,   212,   221,    93,   223,   102,   110,
-     102,     9,   255,   145,   144,    33,    66,    86,     7,    50,
-     128,   219,   144,   254,   144,    68,   110,    68,   254,   145,
-     213,   145,   100,   145,     7
+      38,   101,   167,   226,   144,     9,   243,   230,   145,   145,
+     246,     7,    97,    41,    90,   209,   220,   221,   230,    19,
+     145,   145,   169,   144,    41,   145,   255,   230,   145,   145,
+     145,   226,   220,     7,   138,   210,   211,   212,   146,    34,
+      57,   222,     7,    50,   130,   218,   110,   145,   169,    75,
+     108,   168,   145,   255,   212,   221,    95,   223,   104,   112,
+     104,     9,   255,   145,   144,    33,    67,    87,     7,    50,
+     130,   219,   144,   254,   144,    69,   112,    69,   254,   145,
+     213,   145,   102,   145,     7
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
@@ -1996,7 +2010,7 @@
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2000 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2014 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 4: /* TOKEN_NAME  */
@@ -2006,7 +2020,7 @@
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2010 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2024 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 5: /* TOKEN_STRING_SINGLE_QUOTED  */
@@ -2016,7 +2030,7 @@
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2020 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2034 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 6: /* TOKEN_STRING_DOUBLE_QUOTED  */
@@ -2026,7 +2040,7 @@
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2030 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2044 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 7: /* TOKEN_UNSIGNED_NUMVAL  */
@@ -2036,7 +2050,7 @@
     delete ((*yyvaluep).numeric_literal_value_);
   }
 }
-#line 2040 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2054 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 150: /* sql_statement  */
@@ -2046,7 +2060,7 @@
     delete ((*yyvaluep).statement_);
   }
 }
-#line 2050 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2064 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 151: /* quit_statement  */
@@ -2056,7 +2070,7 @@
     delete ((*yyvaluep).quit_statement_);
   }
 }
-#line 2060 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2074 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 152: /* alter_table_statement  */
@@ -2066,7 +2080,7 @@
     delete ((*yyvaluep).statement_);
   }
 }
-#line 2070 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2084 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 153: /* create_table_statement  */
@@ -2076,7 +2090,7 @@
     delete ((*yyvaluep).create_table_statement_);
   }
 }
-#line 2080 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2094 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 154: /* create_index_statement  */
@@ -2086,7 +2100,7 @@
     delete ((*yyvaluep).statement_);
   }
 }
-#line 2090 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2104 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 155: /* drop_table_statement  */
@@ -2096,7 +2110,7 @@
     delete ((*yyvaluep).drop_table_statement_);
   }
 }
-#line 2100 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2114 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 156: /* column_def  */
@@ -2106,7 +2120,7 @@
     delete ((*yyvaluep).attribute_definition_);
   }
 }
-#line 2110 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2124 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 157: /* column_def_commalist  */
@@ -2116,7 +2130,7 @@
     delete ((*yyvaluep).attribute_definition_list_);
   }
 }
-#line 2120 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2134 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 158: /* data_type  */
@@ -2126,7 +2140,7 @@
     delete ((*yyvaluep).data_type_);
   }
 }
-#line 2130 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2144 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 159: /* column_constraint_def  */
@@ -2136,7 +2150,7 @@
     delete ((*yyvaluep).column_constraint_);
   }
 }
-#line 2140 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2154 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 160: /* column_constraint_def_list  */
@@ -2146,7 +2160,7 @@
     delete ((*yyvaluep).column_constraint_list_);
   }
 }
-#line 2150 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2164 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 161: /* opt_column_constraint_def_list  */
@@ -2156,7 +2170,7 @@
     delete ((*yyvaluep).column_constraint_list_);
   }
 }
-#line 2160 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2174 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 165: /* opt_column_list  */
@@ -2166,7 +2180,7 @@
     delete ((*yyvaluep).attribute_list_);
   }
 }
-#line 2170 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2184 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 166: /* opt_block_properties  */
@@ -2176,7 +2190,7 @@
     delete ((*yyvaluep).block_properties_);
   }
 }
-#line 2180 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2194 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 167: /* opt_partition_clause  */
@@ -2186,7 +2200,7 @@
     delete ((*yyvaluep).partition_clause_);
   }
 }
-#line 2190 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2204 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 168: /* partition_type  */
@@ -2196,7 +2210,7 @@
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2200 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2214 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 169: /* key_value_list  */
@@ -2206,7 +2220,7 @@
     delete ((*yyvaluep).key_value_list_);
   }
 }
-#line 2210 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2224 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 170: /* key_value  */
@@ -2216,7 +2230,7 @@
     delete ((*yyvaluep).key_value_);
   }
 }
-#line 2220 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2234 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 171: /* key_string_value  */
@@ -2226,7 +2240,7 @@
     delete ((*yyvaluep).key_string_value_);
   }
 }
-#line 2230 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2244 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 172: /* key_string_list  */
@@ -2236,7 +2250,7 @@
     delete ((*yyvaluep).key_string_list_);
   }
 }
-#line 2240 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2254 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 173: /* key_integer_value  */
@@ -2246,7 +2260,7 @@
     delete ((*yyvaluep).key_integer_value_);
   }
 }
-#line 2250 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2264 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 174: /* key_bool_value  */
@@ -2256,7 +2270,7 @@
     delete ((*yyvaluep).key_bool_value_);
   }
 }
-#line 2260 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2274 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 175: /* index_type  */
@@ -2266,7 +2280,7 @@
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2270 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2284 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 176: /* opt_index_properties  */
@@ -2276,7 +2290,7 @@
     delete ((*yyvaluep).key_value_list_);
   }
 }
-#line 2280 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2294 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 177: /* insert_statement  */
@@ -2286,7 +2300,7 @@
     delete ((*yyvaluep).insert_statement_);
   }
 }
-#line 2290 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2304 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 178: /* copy_statement  */
@@ -2296,7 +2310,7 @@
     delete ((*yyvaluep).copy_statement_);
   }
 }
-#line 2300 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2314 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 179: /* copy_to_target  */
@@ -2306,7 +2320,7 @@
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2310 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2324 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 180: /* opt_copy_params  */
@@ -2316,7 +2330,7 @@
     delete ((*yyvaluep).key_value_list_);
   }
 }
-#line 2320 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2334 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 181: /* update_statement  */
@@ -2326,7 +2340,7 @@
     delete ((*yyvaluep).update_statement_);
   }
 }
-#line 2330 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2344 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 182: /* delete_statement  */
@@ -2336,7 +2350,7 @@
     delete ((*yyvaluep).delete_statement_);
   }
 }
-#line 2340 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2354 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 183: /* assignment_list  */
@@ -2346,7 +2360,7 @@
     delete ((*yyvaluep).assignment_list_);
   }
 }
-#line 2350 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2364 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 184: /* assignment_item  */
@@ -2356,7 +2370,7 @@
     delete ((*yyvaluep).assignment_);
   }
 }
-#line 2360 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2374 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 185: /* set_operation_statement  */
@@ -2366,7 +2380,7 @@
     delete ((*yyvaluep).set_operation_statement_);
   }
 }
-#line 2370 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2384 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 186: /* opt_priority_clause  */
@@ -2376,7 +2390,7 @@
     delete ((*yyvaluep).opt_priority_clause_);
   }
 }
-#line 2380 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2394 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 187: /* with_clause  */
@@ -2386,7 +2400,7 @@
     delete ((*yyvaluep).with_list_);
   }
 }
-#line 2390 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2404 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 188: /* with_list  */
@@ -2396,7 +2410,7 @@
     delete ((*yyvaluep).with_list_);
   }
 }
-#line 2400 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2414 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 189: /* with_list_element  */
@@ -2406,7 +2420,7 @@
     delete ((*yyvaluep).with_list_element_);
   }
 }
-#line 2410 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2424 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 190: /* set_operation_union  */
@@ -2416,7 +2430,7 @@
     delete ((*yyvaluep).set_operation_);
   }
 }
-#line 2420 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2434 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 191: /* set_operation_intersect  */
@@ -2426,7 +2440,7 @@
     delete ((*yyvaluep).set_operation_);
   }
 }
-#line 2430 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2444 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 192: /* select_query  */
@@ -2436,13 +2450,13 @@
     delete ((*yyvaluep).select_query_);
   }
 }
-#line 2440 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2454 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 193: /* opt_all_distinct  */
 #line 629 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2446 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2460 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 194: /* selection  */
@@ -2452,7 +2466,7 @@
     delete ((*yyvaluep).selection_);
   }
 }
-#line 2456 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2470 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 195: /* selection_item_commalist  */
@@ -2462,7 +2476,7 @@
     delete ((*yyvaluep).selection_list_);
   }
 }
-#line 2466 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2480 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 196: /* selection_item  */
@@ -2472,7 +2486,7 @@
     delete ((*yyvaluep).selection_item_);
   }
 }
-#line 2476 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2490 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 197: /* from_clause  */
@@ -2482,7 +2496,7 @@
     delete ((*yyvaluep).table_reference_list_);
   }
 }
-#line 2486 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2500 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 198: /* subquery_expression  */
@@ -2492,7 +2506,7 @@
     delete ((*yyvaluep).subquery_expression_);
   }
 }
-#line 2496 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2510 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 199: /* opt_sample_clause  */
@@ -2502,13 +2516,13 @@
     delete ((*yyvaluep).opt_sample_clause_);
   }
 }
-#line 2506 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2520 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 200: /* join_type  */
 #line 633 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2512 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2526 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 201: /* joined_table_reference  */
@@ -2518,7 +2532,7 @@
     delete ((*yyvaluep).table_reference_);
   }
 }
-#line 2522 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2536 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 202: /* table_reference  */
@@ -2528,7 +2542,7 @@
     delete ((*yyvaluep).table_reference_);
   }
 }
-#line 2532 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2546 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 203: /* table_reference_signature  */
@@ -2538,7 +2552,7 @@
     delete ((*yyvaluep).table_reference_signature_);
   }
 }
-#line 2542 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2556 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 204: /* table_reference_signature_primary  */
@@ -2548,7 +2562,7 @@
     delete ((*yyvaluep).table_reference_signature_);
   }
 }
-#line 2552 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2566 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 205: /* joined_table_reference_commalist  */
@@ -2558,7 +2572,7 @@
     delete ((*yyvaluep).table_reference_list_);
   }
 }
-#line 2562 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2576 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 206: /* opt_group_by_clause  */
@@ -2568,7 +2582,7 @@
     delete ((*yyvaluep).opt_group_by_clause_);
   }
 }
-#line 2572 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2586 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 207: /* opt_having_clause  */
@@ -2578,7 +2592,7 @@
     delete ((*yyvaluep).opt_having_clause_);
   }
 }
-#line 2582 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2596 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 208: /* opt_order_by_clause  */
@@ -2588,7 +2602,7 @@
     delete ((*yyvaluep).opt_order_by_clause_);
   }
 }
-#line 2592 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2606 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 209: /* opt_limit_clause  */
@@ -2598,7 +2612,7 @@
     delete ((*yyvaluep).opt_limit_clause_);
   }
 }
-#line 2602 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2616 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 210: /* opt_window_clause  */
@@ -2608,7 +2622,7 @@
     delete ((*yyvaluep).opt_window_clause_);
   }
 }
-#line 2612 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2626 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 211: /* window_declaration_list  */
@@ -2618,7 +2632,7 @@
     delete ((*yyvaluep).opt_window_clause_);
   }
 }
-#line 2622 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2636 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 212: /* window_declaration  */
@@ -2628,7 +2642,7 @@
     delete ((*yyvaluep).window_definition_);
   }
 }
-#line 2632 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2646 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 213: /* window_definition  */
@@ -2638,7 +2652,7 @@
     delete ((*yyvaluep).window_definition_);
   }
 }
-#line 2642 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2656 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 214: /* opt_window_partition  */
@@ -2648,7 +2662,7 @@
     delete ((*yyvaluep).window_partition_by_list_);
   }
 }
-#line 2652 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2666 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 215: /* opt_window_order  */
@@ -2658,7 +2672,7 @@
     delete ((*yyvaluep).window_order_by_list_);
   }
 }
-#line 2662 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2676 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 216: /* opt_window_frame  */
@@ -2668,13 +2682,13 @@
     delete ((*yyvaluep).window_frame_info_);
   }
 }
-#line 2672 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2686 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 217: /* frame_mode  */
 #line 629 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2678 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2692 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 218: /* frame_preceding  */
@@ -2684,7 +2698,7 @@
     delete ((*yyvaluep).numeric_literal_value_);
   }
 }
-#line 2688 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2702 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 219: /* frame_following  */
@@ -2694,7 +2708,7 @@
     delete ((*yyvaluep).numeric_literal_value_);
   }
 }
-#line 2698 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2712 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 220: /* order_commalist  */
@@ -2704,7 +2718,7 @@
     delete ((*yyvaluep).order_commalist_);
   }
 }
-#line 2708 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2722 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 221: /* order_item  */
@@ -2714,7 +2728,7 @@
     delete ((*yyvaluep).order_item_);
   }
 }
-#line 2718 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2732 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 222: /* opt_order_direction  */
@@ -2724,7 +2738,7 @@
     delete ((*yyvaluep).order_direction_);
   }
 }
-#line 2728 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2742 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 223: /* opt_nulls_first  */
@@ -2734,7 +2748,7 @@
     delete ((*yyvaluep).order_direction_);
   }
 }
-#line 2738 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2752 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 224: /* opt_where_clause  */
@@ -2744,7 +2758,7 @@
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2748 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2762 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 225: /* where_clause  */
@@ -2754,7 +2768,7 @@
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2758 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2772 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 226: /* or_expression  */
@@ -2764,7 +2778,7 @@
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2768 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2782 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 227: /* and_expression  */
@@ -2774,7 +2788,7 @@
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2778 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2792 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 228: /* not_expression  */
@@ -2784,7 +2798,7 @@
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2788 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2802 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 229: /* predicate_expression_base  */
@@ -2794,7 +2808,7 @@
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2798 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2812 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 230: /* add_expression  */
@@ -2804,7 +2818,7 @@
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2808 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2822 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 231: /* multiply_expression  */
@@ -2814,7 +2828,7 @@
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2818 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2832 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 232: /* unary_expression  */
@@ -2824,7 +2838,7 @@
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2828 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2842 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 233: /* expression_base  */
@@ -2834,7 +2848,7 @@
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2838 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2852 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 234: /* function_call  */
@@ -2844,7 +2858,7 @@
     delete ((*yyvaluep).function_call_);
   }
 }
-#line 2848 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2862 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 235: /* extract_function  */
@@ -2854,7 +2868,7 @@
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2858 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2872 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 236: /* substr_function  */
@@ -2864,7 +2878,7 @@
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2868 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2882 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 237: /* case_expression  */
@@ -2874,7 +2888,7 @@
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2878 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2892 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 238: /* simple_when_clause_list  */
@@ -2884,7 +2898,7 @@
     delete ((*yyvaluep).simple_when_clause_list_);
   }
 }
-#line 2888 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2902 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 239: /* simple_when_clause  */
@@ -2894,7 +2908,7 @@
     delete ((*yyvaluep).simple_when_clause_);
   }
 }
-#line 2898 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2912 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 240: /* searched_when_clause_list  */
@@ -2904,7 +2918,7 @@
     delete ((*yyvaluep).searched_when_clause_list_);
   }
 }
-#line 2908 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2922 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 241: /* searched_when_clause  */
@@ -2914,7 +2928,7 @@
     delete ((*yyvaluep).searched_when_clause_);
   }
 }
-#line 2918 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2932 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 242: /* opt_else_clause  */
@@ -2924,7 +2938,7 @@
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2928 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2942 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 243: /* expression_list  */
@@ -2934,7 +2948,7 @@
     delete ((*yyvaluep).expression_list_);
   }
 }
-#line 2938 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2952 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 244: /* literal_value  */
@@ -2944,7 +2958,7 @@
     delete ((*yyvaluep).literal_value_);
   }
 }
-#line 2948 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2962 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 245: /* datetime_unit  */
@@ -2954,7 +2968,7 @@
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2958 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2972 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 246: /* literal_value_commalist  */
@@ -2964,7 +2978,7 @@
     delete ((*yyvaluep).literal_value_list_);
   }
 }
-#line 2968 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2982 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 247: /* literal_value_commalist_multiple  */
@@ -2974,7 +2988,7 @@
     delete ((*yyvaluep).literal_value_list_multiple_);
   }
 }
-#line 2978 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2992 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 248: /* attribute_ref  */
@@ -2984,7 +2998,7 @@
     delete ((*yyvaluep).attribute_);
   }
 }
-#line 2988 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3002 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 249: /* attribute_ref_list  */
@@ -2994,31 +3008,31 @@
     delete ((*yyvaluep).attribute_list_);
   }
 }
-#line 2998 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3012 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 250: /* comparison_operation  */
 #line 630 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 3004 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3018 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 251: /* unary_operation  */
 #line 631 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 3010 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3024 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 252: /* add_operation  */
 #line 632 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 3016 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3030 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 253: /* multiply_operation  */
 #line 632 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 3022 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3036 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 254: /* name_commalist  */
@@ -3028,7 +3042,7 @@
     delete ((*yyvaluep).string_list_);
   }
 }
-#line 3032 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3046 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 255: /* any_name  */
@@ -3038,13 +3052,13 @@
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 3042 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3056 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 256: /* boolean_value  */
 #line 629 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 3048 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3062 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 257: /* command  */
@@ -3054,7 +3068,7 @@
     delete ((*yyvaluep).command_);
   }
 }
-#line 3058 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3072 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 258: /* command_argument_list  */
@@ -3064,7 +3078,7 @@
     delete ((*yyvaluep).command_argument_list_);
   }
 }
-#line 3068 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 3082 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
 
@@ -3361,7 +3375,7 @@
     *parsedStatement = (yyvsp[-1].statement_);
     YYACCEPT;
   }
-#line 3365 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3379 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 3:
@@ -3370,7 +3384,7 @@
     *parsedStatement = (yyvsp[-1].statement_);
     YYACCEPT;
   }
-#line 3374 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3388 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 4:
@@ -3379,7 +3393,7 @@
     *parsedStatement = (yyvsp[-1].command_);
     YYACCEPT;
   }
-#line 3383 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3397 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 5:
@@ -3388,7 +3402,7 @@
     *parsedStatement = (yyvsp[-1].command_);
     YYACCEPT;
   }
-#line 3392 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3406 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 6:
@@ -3396,7 +3410,7 @@
     {
     YYABORT;
   }
-#line 3400 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3414 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 7:
@@ -3405,7 +3419,7 @@
     // Regular yyparse() return codes are non-negative, so use a negative one here.
     return -1;
   }
-#line 3409 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3423 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 8:
@@ -3413,7 +3427,7 @@
     {
     (yyval.statement_) = (yyvsp[0].statement_);
   }
-#line 3417 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3431 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 9:
@@ -3421,7 +3435,7 @@
     {
     (yyval.statement_) = (yyvsp[0].copy_statement_);
   }
-#line 3425 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3439 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 10:
@@ -3429,7 +3443,7 @@
     {
     (yyval.statement_) = (yyvsp[0].create_table_statement_);
   }
-#line 3433 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3447 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 11:
@@ -3437,7 +3451,7 @@
     {
     (yyval.statement_) = (yyvsp[0].statement_);
   }
-#line 3441 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3455 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 12:
@@ -3445,7 +3459,7 @@
     {
     (yyval.statement_) = (yyvsp[0].delete_statement_);
   }
-#line 3449 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3463 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 13:
@@ -3453,7 +3467,7 @@
     {
     (yyval.statement_) = (yyvsp[0].drop_table_statement_);
   }
-#line 3457 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3471 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 14:
@@ -3461,7 +3475,7 @@
     {
     (yyval.statement_) = (yyvsp[0].insert_statement_);
   }
-#line 3465 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3479 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 15:
@@ -3469,7 +3483,7 @@
     {
     (yyval.statement_) = (yyvsp[0].quit_statement_);
   }
-#line 3473 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3487 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 16:
@@ -3477,7 +3491,7 @@
     {
     (yyval.statement_) = (yyvsp[0].set_operation_statement_);
   }
-#line 3481 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3495 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 17:
@@ -3485,7 +3499,7 @@
     {
     (yyval.statement_) = (yyvsp[0].update_statement_);
   }
-#line 3489 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3503 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 18:
@@ -3493,7 +3507,7 @@
     {
     (yyval.quit_statement_) = new quickstep::ParseStatementQuit((yylsp[0]).first_line, (yylsp[0]).first_column);
   }
-#line 3497 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3511 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 19:
@@ -3505,7 +3519,7 @@
     NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
     YYERROR;
   }
-#line 3509 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3523 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 20:
@@ -3516,7 +3530,7 @@
     NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
     YYERROR;
   }
-#line 3520 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3534 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 21:
@@ -3528,7 +3542,7 @@
     NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
     YYERROR;
   }
-#line 3532 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3546 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 22:
@@ -3540,7 +3554,7 @@
     NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
     YYERROR;
   }
-#line 3544 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3558 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 23:
@@ -3548,7 +3562,7 @@
     {
     (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 3552 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3566 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 24:
@@ -3560,7 +3574,7 @@
       (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 3564 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3578 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 25:
@@ -3568,7 +3582,7 @@
     {
     (yyval.drop_table_statement_) = new quickstep::ParseStatementDropTable((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].string_value_));
   }
-#line 3572 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3586 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 26:
@@ -3576,7 +3590,7 @@
     {
     (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 3580 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3594 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 27:
@@ -3585,7 +3599,7 @@
     (yyval.attribute_definition_list_) = new quickstep::PtrList<quickstep::ParseAttributeDefinition>();
     (yyval.attribute_definition_list_)->push_back((yyvsp[0].attribute_definition_));
   }
-#line 3589 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3603 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 28:
@@ -3594,7 +3608,7 @@
     (yyval.attribute_definition_list_) = (yyvsp[-2].attribute_definition_list_);
     (yyval.attribute_definition_list_)->push_back((yyvsp[0].attribute_definition_));
   }
-#line 3598 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3612 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 29:
@@ -3604,7 +3618,7 @@
     NotSupported(&(yylsp[0]), yyscanner, "BIT data type");
     YYERROR;
   }
-#line 3608 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3622 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 30:
@@ -3612,7 +3626,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDate));
   }
-#line 3616 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3630 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 31:
@@ -3620,7 +3634,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDatetime));
   }
-#line 3624 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3638 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 32:
@@ -3630,7 +3644,7 @@
     NotSupported(&(yylsp[0]), yyscanner, "TIME data type");
     YYERROR;
   }
-#line 3634 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3648 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 33:
@@ -3638,7 +3652,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDatetime));
   }
-#line 3642 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3656 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 34:
@@ -3646,7 +3660,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDouble));
   }
-#line 3650 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3664 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 35:
@@ -3654,7 +3668,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDouble));
   }
-#line 3658 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3672 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 36:
@@ -3662,7 +3676,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDouble));
   }
-#line 3666 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3680 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 37:
@@ -3670,7 +3684,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kFloat));
   }
-#line 3674 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3688 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 38:
@@ -3678,7 +3692,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kInt));
   }
-#line 3682 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3696 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 39:
@@ -3686,7 +3700,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kInt));
   }
-#line 3690 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3704 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 40:
@@ -3694,7 +3708,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kLong));
   }
-#line 3698 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3712 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 41:
@@ -3702,7 +3716,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kLong));
   }
-#line 3706 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3720 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 42:
@@ -3719,7 +3733,7 @@
         "or YEARMONTH INTERVAL");
     YYERROR;
   }
-#line 3723 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3737 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 43:
@@ -3727,7 +3741,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDatetimeInterval));
   }
-#line 3731 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3745 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 44:
@@ -3735,7 +3749,7 @@
     {
     (yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kYearMonthInterval));
   }
-#line 3739 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3753 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 45:
@@ -3758,7 +3772,7 @@
       }
     }
   }
-#line 3762 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3776 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 46:
@@ -3781,7 +3795,7 @@
       }
     }
   }
-#line 3785 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3799 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 47:
@@ -3789,7 +3803,7 @@
     {
     (yyval.column_constraint_) = new quickstep::ParseColumnConstraintNull((yylsp[0]).first_line, (yylsp[0]).first_column);
   }
-#line 3793 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3807 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 48:
@@ -3797,7 +3811,7 @@
     {
     (yyval.column_constraint_) = new quickstep::ParseColumnConstraintNotNull((yylsp[-1]).first_line, (yylsp[-1]).first_column);
   }
-#line 3801 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3815 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 49:
@@ -3807,7 +3821,7 @@
     NotSupported(&(yylsp[0]), yyscanner, "Column Constraints (UNIQUE)");
     YYERROR;
   }
-#line 3811 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3825 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 50:
@@ -3817,7 +3831,7 @@
     NotSupported(&(yylsp[-1]), yyscanner, "Column Constraints (PRIMARY KEY)");
     YYERROR;
   }
-#line 3821 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3835 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 51:
@@ -3828,7 +3842,7 @@
     NotSupported(&(yylsp[-1]), yyscanner, "Column Constraints (DEFAULT)");
     YYERROR;
   }
-#line 3832 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3846 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 52:
@@ -3839,7 +3853,7 @@
     NotSupported(&(yylsp[-3]), yyscanner, "Column Constraints (CHECK)");
     YYERROR;
   }
-#line 3843 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3857 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 53:
@@ -3851,7 +3865,7 @@
     NotSupported(&(yylsp[-4]), yyscanner, "Foreign Keys");
     YYERROR;
   }
-#line 3855 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3869 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 54:
@@ -3860,7 +3874,7 @@
     (yyval.column_constraint_list_) = (yyvsp[-1].column_constraint_list_);
     (yyval.column_constraint_list_)->push_back((yyvsp[0].column_constraint_));
   }
-#line 3864 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3878 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 55:
@@ -3869,7 +3883,7 @@
     (yyval.column_constraint_list_) = new quickstep::PtrList<quickstep::ParseColumnConstraint>();
     (yyval.column_constraint_list_)->push_back((yyvsp[0].column_constraint_));
   }
-#line 3873 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3887 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 56:
@@ -3877,7 +3891,7 @@
     {
     (yyval.column_constraint_list_) = nullptr;
   }
-#line 3881 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3895 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 57:
@@ -3885,7 +3899,7 @@
     {
     (yyval.column_constraint_list_) = (yyvsp[0].column_constraint_list_);
   }
-#line 3889 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3903 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 58:
@@ -3895,7 +3909,7 @@
     NotSupported(&(yylsp[-3]), yyscanner, "Table Constraints (UNIQUE)");
     YYERROR;
   }
-#line 3899 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3913 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 59:
@@ -3905,7 +3919,7 @@
     NotSupported(&(yylsp[-4]), yyscanner, "Table Constraints (PRIMARY KEY)");
     YYERROR;
   }
-#line 3909 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3923 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 60:
@@ -3917,7 +3931,7 @@
     NotSupported(&(yylsp[-9]), yyscanner, "Table Constraints (FOREIGN KEY)");
     YYERROR;
   }
-#line 3921 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3935 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 61:
@@ -3927,7 +3941,7 @@
     NotSupported(&(yylsp[-3]), yyscanner, "Table Constraints (CHECK)");
     YYERROR;
   }
-#line 3931 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3945 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 62:
@@ -3936,7 +3950,7 @@
     NotSupported(&(yylsp[-2]), yyscanner, "Table Constraints");
     YYERROR;
   }
-#line 3940 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3954 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 63:
@@ -3945,7 +3959,7 @@
     NotSupported(&(yylsp[0]), yyscanner, "Table Constraints");
     YYERROR;
   }
-#line 3949 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3963 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 64:
@@ -3953,7 +3967,7 @@
     {
     /* $$ = nullptr; */
   }
-#line 3957 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3971 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 65:
@@ -3961,7 +3975,7 @@
     {
     /* $$ = $1; */
   }
-#line 3965 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3979 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 66:
@@ -3969,7 +3983,7 @@
     {
     (yyval.attribute_list_) = nullptr;
   }
-#line 3973 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3987 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 67:
@@ -3977,7 +3991,7 @@
     {
     (yyval.attribute_list_) = (yyvsp[-1].attribute_list_);
   }
-#line 3981 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3995 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 68:
@@ -3985,7 +3999,7 @@
     {
     (yyval.block_properties_) = nullptr;
   }
-#line 3989 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4003 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 69:
@@ -3993,7 +4007,7 @@
     {
     (yyval.block_properties_) = new quickstep::ParseBlockProperties((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-1].key_value_list_));
   }
-#line 3997 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4011 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 70:
@@ -4001,7 +4015,7 @@
     {
     (yyval.partition_clause_) = nullptr;
   }
-#line 4005 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4019 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 71:
@@ -4023,7 +4037,7 @@
       }
     }
   }
-#line 4027 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4041 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 72:
@@ -4031,7 +4045,7 @@
     {
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, quickstep::kHashPartitionType);
   }
-#line 4035 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4049 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 73:
@@ -4039,7 +4053,7 @@
     {
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, quickstep::kRangePartitionType);
   }
-#line 4043 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4057 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 74:
@@ -4048,7 +4062,7 @@
     (yyval.key_value_list_) = new quickstep::PtrList<quickstep::ParseKeyValue>();
     (yyval.key_value_list_)->push_back((yyvsp[0].key_value_));
   }
-#line 4052 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4066 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 75:
@@ -4057,7 +4071,7 @@
     (yyval.key_value_list_) = (yyvsp[-2].key_value_list_);
     (yyval.key_value_list_)->push_back((yyvsp[0].key_value_));
   }
-#line 4061 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4075 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 76:
@@ -4065,7 +4079,7 @@
     {
     (yyval.key_value_) = (yyvsp[0].key_string_value_);
   }
-#line 4069 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4083 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 77:
@@ -4073,7 +4087,7 @@
     {
     (yyval.key_value_) = (yyvsp[0].key_string_list_);
   }
-#line 4077 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4091 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 78:
@@ -4081,7 +4095,7 @@
     {
     (yyval.key_value_) = (yyvsp[0].key_integer_value_);
   }
-#line 4085 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4099 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 79:
@@ -4089,7 +4103,7 @@
     {
     (yyval.key_value_) = (yyvsp[0].key_bool_value_);
   }
-#line 4093 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4107 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 80:
@@ -4097,7 +4111,7 @@
     {
     (yyval.key_string_value_) = new quickstep::ParseKeyStringValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].string_value_));
   }
-#line 4101 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4115 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 81:
@@ -4105,7 +4119,7 @@
     {
     (yyval.key_string_value_) = new quickstep::ParseKeyStringValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].string_value_));
   }
-#line 4109 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4123 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 82:
@@ -4115,7 +4129,7 @@
     (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 4119 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4133 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 83:
@@ -4123,7 +4137,7 @@
     {
     (yyval.key_string_list_) = new quickstep::ParseKeyStringList((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-3].string_value_), (yyvsp[-1].string_list_));
   }
-#line 4127 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4141 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 84:
@@ -4137,7 +4151,7 @@
     }
     (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 4141 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4155 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 85:
@@ -4145,7 +4159,7 @@
     {
     (yyval.key_bool_value_) = new quickstep::ParseKeyBoolValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].boolean_value_));
   }
-#line 4149 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4163 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 86:
@@ -4155,7 +4169,7 @@
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
            std::to_string(quickstep::IndexSubBlockType::kBitWeavingV));
   }
-#line 4159 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4173 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 87:
@@ -4164,7 +4178,7 @@
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
            std::to_string(quickstep::IndexSubBlockType::kBloomFilter));
   }
-#line 4168 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4182 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 88:
@@ -4173,7 +4187,7 @@
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
            std::to_string(quickstep::IndexSubBlockType::kCSBTree));
   }
-#line 4177 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4191 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 89:
@@ -4182,7 +4196,7 @@
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
            std::to_string(quickstep::IndexSubBlockType::kSMA));
   }
-#line 4186 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4200 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 90:
@@ -4190,7 +4204,7 @@
     {
     (yyval.key_value_list_) = nullptr;
   }
-#line 4194 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4208 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 91:
@@ -4198,7 +4212,7 @@
     {
     (yyval.key_value_list_) = (yyvsp[-1].key_value_list_);
   }
-#line 4202 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4216 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 92:
@@ -4211,7 +4225,7 @@
     NotSupported(&(yylsp[-6]), yyscanner, "list of column names in INSERT statement");
     YYERROR;
   }
-#line 4215 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4229 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 93:
@@ -4219,7 +4233,7 @@
     {
     (yyval.insert_statement_) = new quickstep::ParseStatementInsertTuple((yylsp[-4]).first_line, (yylsp[-4]).first_column, (yyvsp[-2].string_value_), (yyvsp[0].literal_value_list_multiple_));
   }
-#line 4223 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4237 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 94:
@@ -4227,7 +4241,7 @@
     {
     (yyval.insert_statement_) = new quickstep::ParseStatementInsertSelection((yylsp[-3]).first_line, (yylsp[-2]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].select_query_), nullptr);
   }
-#line 4231 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4245 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 95:
@@ -4235,7 +4249,7 @@
     {
     (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 4239 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4253 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 96:
@@ -4245,7 +4259,7 @@
                                            quickstep::ParseStatementCopy::kFrom,
                                            (yyvsp[-3].string_value_), (yyvsp[-1].string_value_), (yyvsp[0].key_value_list_));
   }
-#line 4249 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4263 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 97:
@@ -4255,7 +4269,7 @@
                                            quickstep::ParseStatementCopy::kTo,
                                            (yyvsp[-2].string_value_), (yyvsp[-1].string_value_), (yyvsp[0].key_value_list_));
   }
-#line 4259 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4273 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 98:
@@ -4264,7 +4278,7 @@
     (yyval.copy_statement_) = new quickstep::ParseStatementCopy((yylsp[-3]).first_line, (yylsp[-3]).first_column,
                                            (yyvsp[-2].set_operation_), nullptr, (yyvsp[-1].string_value_), (yyvsp[0].key_value_list_));
   }
-#line 4268 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4282 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 99:
@@ -4273,7 +4287,7 @@
     (yyval.copy_statement_) = new quickstep::ParseStatementCopy((yylsp[-4]).first_line, (yylsp[-4]).first_column,
                                            (yyvsp[-2].set_operation_), (yyvsp[-4].with_list_), (yyvsp[-1].string_value_), (yyvsp[0].key_value_list_));
   }
-#line 4277 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4291 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 100:
@@ -4282,7 +4296,7 @@
     (yyval.string_value_) = new quickstep::ParseString((yyvsp[0].string_value_)->line_number(), (yyvsp[0].string_value_)->column_number(), "@" + (yyvsp[0].string_value_)->value());
     delete (yyvsp[0].string_value_);
   }
-#line 4286 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4300 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 101:
@@ -4290,7 +4304,7 @@
     {
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, "$stdout");
   }
-#line 4294 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4308 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 102:
@@ -4298,7 +4312,7 @@
     {
     (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, "$stderr");
   }
-#line 4302 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4316 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 103:
@@ -4306,7 +4320,7 @@
     {
     (yyval.key_value_list_) = nullptr;
   }
-#line 4310 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4324 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 104:
@@ -4314,7 +4328,7 @@
     {
     (yyval.key_value_list_) = (yyvsp[-1].key_value_list_);
   }
-#line 4318 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4332 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 105:
@@ -4322,7 +4336,7 @@
     {
     (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 4326 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4340 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 106:
@@ -4330,7 +4344,7 @@
     {
     (yyval.delete_statement_) = new quickstep::ParseStatementDelete((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].predicate_));
   }
-#line 4334 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4348 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 107:
@@ -4339,7 +4353,7 @@
     (yyval.assignment_list_) = (yyvsp[-2].assignment_list_);
     (yyval.assignment_list_)->push_back((yyvsp[0].assignment_));
   }
-#line 4343 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4357 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 108:
@@ -4348,7 +4362,7 @@
     (yyval.assignment_list_) = new quickstep::PtrList<quickstep::ParseAssignment>();
     (yyval.assignment_list_)->push_back((yyvsp[0].assignment_));
   }
-#line 4352 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4366 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 109:
@@ -4356,7 +4370,7 @@
     {
     (yyval.assignment_) = new quickstep::ParseAssignment((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-2].string_value_), (yyvsp[0].expression_));
   }
-#line 4360 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4374 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 110:
@@ -4364,7 +4378,7 @@
     {
     (yyval.set_operation_statement_) = new quickstep::ParseStatementSetOperation((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].set_operation_), nullptr, (yyvsp[0].opt_priority_clause_));
   }
-#line 4368 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4382 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 111:
@@ -4372,7 +4386,7 @@
     {
     (yyval.set_operation_statement_) = new quickstep::ParseStatementSetOperation((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-1].set_operation_), (yyvsp[-2].with_list_), (yyvsp[0].opt_priority_clause_));
   }
-#line 4376 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4390 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 112:
@@ -4380,7 +4394,7 @@
     {
     (yyval.opt_priority_clause_) = nullptr;
   }
-#line 4384 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4398 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 113:
@@ -4402,7 +4416,7 @@
       }
     }
   }
-#line 4406 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4420 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 114:
@@ -4410,7 +4424,7 @@
     {
     (yyval.with_list_) = (yyvsp[0].with_list_);
   }
-#line 4414 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4428 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 115:
@@ -4419,7 +4433,7 @@
     (yyval.with_list_) = new quickstep::PtrVector<quickstep::ParseSubqueryTableReference>();
     (yyval.with_list_)->push_back((yyvsp[0].with_list_element_));
   }
-#line 4423 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4437 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 116:
@@ -4428,7 +4442,7 @@
     (yyval.with_list_) = (yyvsp[-2].with_list_);
     (yyval.with_list_)->push_back((yyvsp[0].with_list_element_));
   }
-#line 4432 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4446 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 117:
@@ -4437,7 +4451,7 @@
     (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 4441 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4455 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 118:
@@ -4451,7 +4465,7 @@
     (yyval.set_operation_)->addOperand((yyvsp[-3].set_operation_));
     (yyval.set_operation_)->addOperand((yyvsp[0].set_operation_));
   }
-#line 4455 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4469 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 119:
@@ -4459,7 +4473,7 @@
     {
     (yyval.set_operation_) = (yyvsp[0].set_operation_);
   }
-#line 4463 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4477 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 120:
@@ -4472,7 +4486,7 @@
     (yyval.set_operation_)->addOperand((yyvsp[-2].set_operation_));
     (yyval.set_operation_)->addOperand(op);
   }
-#line 4476 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4490 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 121:
@@ -4481,7 +4495,7 @@
     (yyval.set_operation_) = new quickstep::ParseSetOperation((yylsp[0]).first_line, (yylsp[0]).first_column, quickstep::ParseSetOperation::kSelect);
     (yyval.set_operation_)->addOperand((yyvsp[0].select_query_));
   }
-#line 4485 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4499 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 122:
@@ -4489,7 +4503,7 @@
     {
     (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 4493 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4507 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 123:
@@ -4497,7 +4511,7 @@
     {
     (yyval.boolean_value_) = true;  // Distinct
   }
-#line 4501 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4515 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 124:
@@ -4505,7 +4519,7 @@
     {
     (yyval.boolean_value_) = false;  // All
   }
-#line 4509 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4523 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 125:
@@ -4513,7 +4527,7 @@
     {
     (yyval.boolean_value_) = true;  // Distinct
   }
-#line 4517 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4531 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 126:
@@ -4521,7 +4535,7 @@
     {
     (yyval.selection_) = new quickstep::ParseSelectionStar((yylsp[0]).first_line, (yylsp[0]).first_column);
   }
-#line 4525 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4539 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 127:
@@ -4529,7 +4543,7 @@
     {
     (yyval.selection_) = (yyvsp[0].selection_list_);
   }
-#line 4533 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4547 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 128:
@@ -4538,7 +4552,7 @@
     (yyval.selection_list_) = new quickstep::ParseSelectionList((yylsp[0]).first_line, (yylsp[0]).first_column);
     (yyval.selection_list_)->add((yyvsp[0].selection_item_));
   }
-#line 4542 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4556 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 129:
@@ -4547,7 +4561,7 @@
     (yyval.selection_list_) = (yyvsp[-2].selection_list_);
     (yyval.selection_list_)->add((yyvsp[0].selection_item_));
   }
-#line 4551 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4565 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 130:
@@ -4555,7 +4569,7 @@
     {
     (yyval.selection_item_) = new quickstep::ParseSelectionItem((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-2].expression_), (yyvsp[0].string_value_));
   }
-#line 4559 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4573 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 131:
@@ -4563,7 +4577,7 @@
     {
     (yyval.selection_item_) = new quickstep::ParseSelectionItem((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].expression_), (yyvsp[0].string_value_));
   }
-#line 4567 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4581 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 132:
@@ -4571,7 +4585,7 @@
     {
     (yyval.selection_item_) = new quickstep::ParseSelectionItem((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].expression_));
   }
-#line 4575 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4589 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 133:
@@ -4579,7 +4593,7 @@
     {
     (yyval.table_reference_list_) = (yyvsp[0].table_reference_list_);
   }
-#line 4583 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4597 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 134:
@@ -4587,7 +4601,7 @@
     {
     (yyval.subquery_expression_) = new quickstep::ParseSubqueryExpression((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-1].set_operation_));
   }
-#line 4591 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4605 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 135:
@@ -4595,7 +4609,7 @@
     {
     (yyval.opt_sample_clause_) = NULL;
   }
-#line 4599 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4613 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 136:
@@ -4603,7 +4617,7 @@
     {
     (yyval.opt_sample_clause_) = new quickstep::ParseSample((yylsp[-2]).first_line, (yylsp[-2]).first_column, true, (yyvsp[-1].numeric_literal_value_));
   }
-#line 4607 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4621 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 137:
@@ -4611,7 +4625,7 @@
     {
     (yyval.opt_sample_clause_) = new quickstep::ParseSample((yylsp[-2]).first_line, (yylsp[-2]).first_column, false, (yyvsp[-1].numeric_literal_value_));
   }
-#line 4615 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4629 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 138:
@@ -4619,7 +4633,7 @@
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kInnerJoin;
   }
-#line 4623 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4637 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 139:
@@ -4627,7 +4641,7 @@
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kInnerJoin;
   }
-#line 4631 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4645 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 140:
@@ -4635,7 +4649,7 @@
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kLeftOuterJoin;
   }
-#line 4639 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4653 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 141:
@@ -4643,7 +4657,7 @@
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kLeftOuterJoin;
   }
-#line 4647 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4661 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 142:
@@ -4651,7 +4665,7 @@
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kRightOuterJoin;
   }
-#line 4655 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4669 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 143:
@@ -4659,7 +4673,7 @@
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kRightOuterJoin;
   }
-#line 4663 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4677 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 144:
@@ -4667,7 +4681,7 @@
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kFullOuterJoin;
   }
-#line 4671 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4685 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 145:
@@ -4675,7 +4689,7 @@
     {
     (yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kFullOuterJoin;
   }
-#line 4679 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4693 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 146:
@@ -4683,7 +4697,7 @@
     {
     (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 4687 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4701 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 147:
@@ -4691,7 +4705,7 @@
     {
     (yyval.table_reference_) = (yyvsp[0].table_reference_);
   }
-#line 4695 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4709 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 148:
@@ -4700,7 +4714,7 @@
     (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 4704 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4718 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 149:
@@ -4709,7 +4723,7 @@
     (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 4713 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4727 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 150:
@@ -4717,7 +4731,7 @@
     {
     (yyval.table_reference_) = new quickstep::ParseSimpleTableReference((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].opt_sample_clause_));
   }
-#line 4721 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4735 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 151:
@@ -4726,7 +4740,7 @@
     (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 4730 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4744 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 152:
@@ -4734,7 +4748,7 @@
     {
     (yyval.table_reference_) = new quickstep::ParseGeneratorTableReference((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].function_call_));
   }
-#line 4738 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4752 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 153:
@@ -4742,7 +4756,7 @@
     {
     (yyval.table_reference_) = (yyvsp[-1].table_reference_);
   }
-#line 4746 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4760 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 154:
@@ -4750,7 +4764,7 @@
     {
     (yyval.table_reference_signature_) = (yyvsp[0].table_reference_signature_);
   }
-#line 4754 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4768 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 155:
@@ -4758,7 +4772,7 @@
     {
     (yyval.table_reference_signature_) = (yyvsp[0].table_reference_signature_);
   }
-#line 4762 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4776 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 156:
@@ -4766,7 +4780,7 @@
     {
     (yyval.table_reference_signature_) = new ::quickstep::ParseTableReferenceSignature((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].string_value_));
   }
-#line 4770 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4784 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 157:
@@ -4774,7 +4788,7 @@
     {
     (yyval.table_reference_signature_) = new ::quickstep::ParseTableReferenceSignature((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-3].string_value_), (yyvsp[-1].string_list_));
   }
-#line 4778 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4792 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 158:
@@ -4783,7 +4797,7 @@
     (yyval.table_reference_list_) = new quickstep::PtrList<quickstep::ParseTableReference>();
     (yyval.table_reference_list_)->push_back((yyvsp[0].table_reference_));
   }
-#line 4787 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4801 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 159:
@@ -4792,7 +4806,7 @@
     (yyval.table_reference_list_) = (yyvsp[-2].table_reference_list_);
     (yyval.table_reference_list_)->push_back((yyvsp[0].table_reference_));
   }
-#line 4796 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4810 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 160:
@@ -4800,7 +4814,7 @@
     {
     (yyval.opt_group_by_clause_) = nullptr;
   }
-#line 4804 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4818 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 161:
@@ -4808,7 +4822,7 @@
     {
     (yyval.opt_group_by_clause_) = new quickstep::ParseGroupBy((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].expression_list_));
   }
-#line 4812 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4826 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 162:
@@ -4816,7 +4830,7 @@
     {
     (yyval.opt_having_clause_) = nullptr;
   }
-#line 4820 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4834 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 163:
@@ -4824,7 +4838,7 @@
     {
     (yyval.opt_having_clause_) = new quickstep::ParseHaving((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[0].predicate_));
   }
-#line 4828 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4842 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 164:
@@ -4832,7 +4846,7 @@
     {
     (yyval.opt_order_by_clause_) = nullptr;
   }
-#line 4836 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4850 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 165:
@@ -4840,7 +4854,7 @@
     {
     (yyval.opt_order_by_clause_) = new quickstep::ParseOrderBy((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].order_commalist_));
   }
-#line 4844 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4858 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 166:
@@ -4848,7 +4862,7 @@
     {
     (yyval.opt_limit_clause_) = nullptr;
   }
-#line 4852 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4866 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 167:
@@ -4870,7 +4884,7 @@
       }
     }
   }
-#line 4874 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4888 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 168:
@@ -4878,7 +4892,7 @@
     {
     (yyval.opt_window_clause_) = nullptr;
   }
-#line 4882 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4896 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 169:
@@ -4886,7 +4900,7 @@
     {
     (yyval.opt_window_clause_) = (yyvsp[0].opt_window_clause_);
   }
-#line 4890 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4904 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 170:
@@ -4895,7 +4909,7 @@
     (yyval.opt_window_clause_) = new quickstep::PtrList<quickstep::ParseWindow>();
     (yyval.opt_window_clause_)->push_back((yyvsp[0].window_definition_));
   }
-#line 4899 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4913 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 171:
@@ -4904,7 +4918,7 @@
     (yyval.opt_window_clause_) = (yyvsp[-1].opt_window_clause_);
     (yyval.opt_window_clause_)->push_back((yyvsp[0].window_definition_));
   }
-#line 4908 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4922 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 172:
@@ -4913,7 +4927,7 @@
     (yyval.window_definition_) = (yyvsp[-1].window_definition_);
     (yyval.window_definition_)->setName((yyvsp[-4].string_value_));
   }
-#line 4917 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4931 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 173:
@@ -4921,7 +4935,7 @@
     {
     (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 4925 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4939 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 174:
@@ -4929,7 +4943,7 @@
     {
     (yyval.window_partition_by_list_) = nullptr;
   }
-#line 4933 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4947 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 175:
@@ -4937,7 +4951,7 @@
     {
     (yyval.window_partition_by_list_) = (yyvsp[0].expression_list_);
   }
-#line 4941 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4955 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 176:
@@ -4945,7 +4959,7 @@
     {
     (yyval.window_order_by_list_) = nullptr;
   }
-#line 4949 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4963 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 177:
@@ -4953,7 +4967,7 @@
     {
     (yyval.window_order_by_list_) = (yyvsp[0].order_commalist_);
   }
-#line 4957 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4971 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 178:
@@ -4961,7 +4975,7 @@
     {
     (yyval.window_frame_info_) = nullptr;
   }
-#line 4965 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4979 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 179:
@@ -4969,7 +4983,7 @@
     {
     (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 4973 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4987 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 180:
@@ -4977,7 +4991,7 @@
     {
     (yyval.boolean_value_) = true;
   }
-#line 4981 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 4995 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 181:
@@ -4985,7 +4999,7 @@
     {
     (yyval.boolean_value_) = false;
   }
-#line 4989 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5003 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 183:
@@ -4993,7 +5007,7 @@
     {
     (yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "-1");
   }
-#line 4997 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5011 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 184:
@@ -5001,7 +5015,7 @@
     {
     (yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "0");
   }
-#line 5005 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5019 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 186:
@@ -5009,7 +5023,7 @@
     {
     (yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "-1");
   }
-#line 5013 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5027 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 187:
@@ -5017,7 +5031,7 @@
     {
     (yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "0");
   }
-#line 5021 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5035 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 188:
@@ -5026,7 +5040,7 @@
     (yyval.order_commalist_) = new quickstep::PtrList<quickstep::ParseOrderByItem>();
     (yyval.order_commalist_)->push_back((yyvsp[0].order_item_));
   }
-#line 5030 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5044 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 189:
@@ -5035,7 +5049,7 @@
     (yyval.order_commalist_) = (yyvsp[-2].order_commalist_);
     (yyval.order_commalist_)->push_back((yyvsp[0].order_item_));
   }
-#line 5039 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5053 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 190:
@@ -5045,7 +5059,7 @@
     delete (yyvsp[-1].order_direction_);
     delete (yyvsp[0].order_direction_);
   }
-#line 5049 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5063 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 191:
@@ -5053,7 +5067,7 @@
     {
     (yyval.order_direction_) = nullptr;
   }
-#line 5057 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5071 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 192:
@@ -5061,7 +5075,7 @@
     {
     (yyval.order_direction_) = new bool(true);
   }
-#line 5065 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5079 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 193:
@@ -5069,7 +5083,7 @@
     {
     (yyval.order_direction_) = new bool(false);
   }
-#line 5073 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5087 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 194:
@@ -5077,7 +5091,7 @@
     {
     (yyval.order_direction_) = nullptr;
   }
-#line 5081 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5095 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 195:
@@ -5085,7 +5099,7 @@
     {
     (yyval.order_direction_) = new bool(true);
   }
-#line 5089 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5103 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 196:
@@ -5093,7 +5107,7 @@
     {
     (yyval.order_direction_) = new bool(false);
   }
-#line 5097 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5111 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 197:
@@ -5101,7 +5115,7 @@
     {
     (yyval.predicate_) = nullptr;
   }
-#line 5105 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5119 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 198:
@@ -5109,7 +5123,7 @@
     {
     (yyval.predicate_) = (yyvsp[0].predicate_);
   }
-#line 5113 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5127 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 199:
@@ -5117,7 +5131,7 @@
     {
     (yyval.predicate_) = (yyvsp[0].predicate_);
   }
-#line 5121 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5135 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 200:
@@ -5131,7 +5145,7 @@
     }
     static_cast<quickstep::ParsePredicateDisjunction *>((yyval.predicate_))->addPredicate((yyvsp[0].predicate_));
   }
-#line 5135 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5149 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 201:
@@ -5139,7 +5153,7 @@
     {
     (yyval.predicate_) = (yyvsp[0].predicate_);
   }
-#line 5143 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5157 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 202:
@@ -5153,7 +5167,7 @@
     }
     static_cast<quickstep::ParsePredicateConjunction *>((yyval.predicate_))->addPredicate((yyvsp[0].predicate_));
   }
-#line 5157 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5171 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 203:
@@ -5161,7 +5175,7 @@
     {
     (yyval.predicate_) = (yyvsp[0].predicate_);
   }
-#line 5165 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5179 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 204:
@@ -5169,7 +5183,7 @@
     {
     (yyval.predicate_) = new quickstep::ParsePredicateNegation((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[0].predicate_));
   }
-#line 5173 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5187 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 205:
@@ -5177,7 +5191,7 @@
     {
     (yyval.predicate_) = (yyvsp[0].predicate_);
   }
-#line 5181 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5195 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 206:
@@ -5185,7 +5199,7 @@
     {
     (yyval.predicate_) = new quickstep::ParsePredicateBetween((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-4].expression_), (yyvsp[-2].expression_), (yyvsp[0].expression_));
   }
-#line 5189 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5203 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 207:
@@ -5195,7 +5209,7 @@
         (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 5199 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5213 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 208:
@@ -5206,7 +5220,7 @@
     NotSupported(&(yylsp[-2]), yyscanner, "NULL comparison predicates");
     YYERROR;
   }
-#line 5210 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5224 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 209:
@@ -5217,7 +5231,7 @@
     NotSupported(&(yylsp[-1]), yyscanner, "NULL comparison predicates");
     YYERROR;
   }
-#line 5221 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5235 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 210:
@@ -5225,7 +5239,7 @@
     {
     (yyval.predicate_) = new quickstep::ParsePredicateComparison((yylsp[-1]).first_line, (yylsp[-1]).first_column, *(yyvsp[-1].comparison_), (yyvsp[-2].expression_), (yyvsp[0].expression_));
   }
-#line 5229 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5243 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 211:
@@ -5233,7 +5247,7 @@
     {
     (yyval.predicate_) = (yyvsp[-1].predicate_);
   }
-#line 5237 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5251 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 212:
@@ -5241,7 +5255,7 @@
     {
     (yyval.predicate_) = new quickstep::ParsePredicateExists((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[0].subquery_expression_));
   }
-#line 5245 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5259 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 213:
@@ -5249,7 +5263,7 @@
     {
     (yyval.predicate_) = new quickstep::ParsePredicateInTableQuery((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-2].expression_), (yyvsp[0].subquery_expression_));
   }
-#line 5253 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5267 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 214:
@@ -5257,7 +5271,7 @@
     {
     (yyval.predicate_) = new quickstep::ParsePredicateInValueList((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-4].expression_), (yyvsp[-1].expression_list_));
   }
-#line 5261 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5275 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 215:
@@ -5268,7 +5282,7 @@
         (yylsp[-2]).first_column,
         new quickstep::ParsePredicateInTableQuery((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-3].expression_), (yyvsp[0].subquery_expression_)));
   }
-#line 5272 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5286 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 216:
@@ -5279,7 +5293,7 @@
         (yylsp[-4]).first_column,
         new quickstep::ParsePredicateInValueList((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-5].expression_), (yyvsp[-1].expression_list_)));
   }
-#line 5283 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5297 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 217:
@@ -5287,7 +5301,7 @@
     {
     (yyval.expression_) = new quickstep::ParseBinaryExpression((yylsp[-1]).first_line, (yylsp[-1]).first_column, *(yyvsp[-1].binary_operation_), (yyvsp[-2].expression_), (yyvsp[0].expression_));
   }
-#line 5291 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5305 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 218:
@@ -5295,7 +5309,7 @@
     {
     (yyval.expression_) = (yyvsp[0].expression_);
   }
-#line 5299 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5313 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 219:
@@ -5303,7 +5317,7 @@
     {
     (yyval.expression_) = new quickstep::ParseBinaryExpression((yylsp[-1]).first_line, (yylsp[-1]).first_column, *(yyvsp[-1].binary_operation_), (yyvsp[-2].expression_), (yyvsp[0].expression_));
   }
-#line 5307 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5321 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 220:
@@ -5311,7 +5325,7 @@
     {
     (yyval.expression_) = (yyvsp[0].expression_);
   }
-#line 5315 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5329 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 221:
@@ -5319,7 +5333,7 @@
     {
     (yyval.expression_) = new quickstep::ParseUnaryExpression((yylsp[-1]).first_line, (yylsp[-1]).first_column, *(yyvsp[-1].unary_operation_), (yyvsp[0].expression_));
   }
-#line 5323 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5337 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 222:
@@ -5327,7 +5341,7 @@
     {
     (yyval.expression_) = (yyvsp[0].expression_);
   }
-#line 5331 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5345 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 223:
@@ -5335,7 +5349,7 @@
     {
     (yyval.expression_) = (yyvsp[0].attribute_);
   }
-#line 5339 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5353 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 224:
@@ -5343,7 +5357,7 @@
     {
     (yyval.expression_) = new quickstep::ParseScalarLiteral((yyvsp[0].literal_value_));
   }
-#line 5347 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5361 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 225:
@@ -5351,7 +5365,7 @@
     {
     (yyval.expression_) = (yyvsp[0].function_call_);
   }
-#line 5355 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5369 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 226:
@@ -5360,7 +5374,7 @@
     (yyvsp[-2].function_call_)->setWindowName((yyvsp[0].string_value_));
     (yyval.expression_) = (yyvsp[-2].function_call_);
   }
-#line 5364 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5378 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 227:
@@ -5369,7 +5383,7 @@
     (yyvsp[-4].function_call_)->setWindow((yyvsp[-1].window_definition_));
     (yyval.expression_) = (yyvsp[-4].function_call_);
   }
-#line 5373 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5387 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 228:
@@ -5377,7 +5391,7 @@
     {
     (yyval.expression_) = (yyvsp[0].expression_);
   }
-#line 5381 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5395 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 229:
@@ -5385,7 +5399,7 @@
     {
     (yyval.expression_) = (yyvsp[0].expression_);
   }
-#line 5389 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5403 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 230:
@@ -5393,7 +5407,7 @@
     {
     (yyval.expression_) = (yyvsp[0].expression_);
   }
-#line 5397 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5411 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 231:
@@ -5401,7 +5415,7 @@
     {
     (yyval.expression_) = (yyvsp[-1].expression_);
   }
-#line 5405 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5419 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 232:
@@ -5409,7 +5423,7 @@
     {
     (yyval.expression_) = (yyvsp[0].subquery_expression_);
   }
-#line 5413 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5427 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 233:
@@ -5418,7 +5432,7 @@
     (yyval.function_call_) = new quickstep::ParseFunctionCall(
         (yylsp[-2]).first_line, (yylsp[-2]).first_column, false, (yyvsp[-2].string_value_), new quickstep::PtrList<quickstep::ParseExpression>());
   }
-#line 5422 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5436 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 234:
@@ -5427,7 +5441,7 @@
     (yyval.function_call_) = new quickstep::ParseFunctionCall(
         (yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-3].string_value_), new quickstep::ParseStar((yylsp[-1]).first_line, (yylsp[-1]).first_column));
   }
-#line 5431 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5445 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 235:
@@ -5435,7 +5449,7 @@
     {
     (yyval.function_call_) = new quickstep::ParseFunctionCall((yylsp[-3]).first_line, (yylsp[-3]).first_column, false, (yyvsp[-3].string_value_), (yyvsp[-1].expression_list_));
   }
-#line 5439 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5453 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 236:
@@ -5443,7 +5457,7 @@
     {
     (yyval.function_call_) = new quickstep::ParseFunctionCall((yylsp[-4]).first_line, (yylsp[-4]).first_column, true, (yyvsp[-4].string_value_), (yyvsp[-1].expression_list_));
   }
-#line 5447 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5461 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 237:
@@ -5451,7 +5465,7 @@
     {
     (yyval.expression_) = new quickstep::ParseExtractFunction((yylsp[-5]).first_line, (yylsp[-5]).first_column, (yyvsp[-3].string_value_), (yyvsp[-1].expression_));
   }
-#line 5455 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5469 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 238:
@@ -5460,7 +5474,7 @@
     (yyval.expression_) = new quickstep::ParseSubstringFunction(
         (yylsp[-5]).first_line, (yylsp[-5]).first_column, (yyvsp[-3].expression_), (yyvsp[-1].numeric_literal_value_)->long_value());
   }
-#line 5464 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5478 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 239:
@@ -5469,7 +5483,7 @@
     (yyval.expression_) = new quickstep::ParseSubstringFunction(
         (yylsp[-7]).first_line, (yylsp[-7]).first_column, (yyvsp[-5].expression_), (yyvsp[-3].numeric_literal_value_)->long_value(), (yyvsp[-1].numeric_literal_value_)->long_value());
   }
-#line 5473 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5487 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 240:
@@ -5477,7 +5491,7 @@
     {
     (yyval.expression_) = new quickstep::ParseSimpleCaseExpression((yylsp[-4]).first_line, (yylsp[-4]).first_column, (yyvsp[-3].expression_), (yyvsp[-2].simple_when_clause_list_), (yyvsp[-1].expression_));
   }
-#line 5481 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5495 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 241:
@@ -5485,7 +5499,7 @@
     {
     (yyval.expression_) = new quickstep::ParseSearchedCaseExpression((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-2].searched_when_clause_list_), (yyvsp[-1].expression_));
   }
-#line 5489 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5503 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 242:
@@ -5494,7 +5508,7 @@
     (yyval.simple_when_clause_list_) = new quickstep::PtrVector<quickstep::ParseSimpleWhenClause>;
     (yyval.simple_when_clause_list_)->push_back((yyvsp[0].simple_when_clause_));
   }
-#line 5498 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5512 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 243:
@@ -5503,7 +5517,7 @@
     (yyval.simple_when_clause_list_) = (yyvsp[-1].simple_when_clause_list_);
     (yyval.simple_when_clause_list_)->push_back((yyvsp[0].simple_when_clause_));
   }
-#line 5507 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5521 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 244:
@@ -5511,7 +5525,7 @@
     {
     (yyval.simple_when_clause_) = new quickstep::ParseSimpleWhenClause((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-2].expression_), (yyvsp[0].expression_));
   }
-#line 5515 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5529 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 245:
@@ -5520,7 +5534,7 @@
     (yyval.searched_when_clause_list_) = new quickstep::PtrVector<quickstep::ParseSearchedWhenClause>;
     (yyval.searched_when_clause_list_)->push_back((yyvsp[0].searched_when_clause_));
   }
-#line 5524 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5538 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 246:
@@ -5529,7 +5543,7 @@
     (yyval.searched_when_clause_list_) = (yyvsp[-1].searched_when_clause_list_);
     (yyval.searched_when_clause_list_)->push_back((yyvsp[0].searched_when_clause_));
   }
-#line 5533 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5547 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 247:
@@ -5537,7 +5551,7 @@
     {
     (yyval.searched_when_clause_) = new quickstep::ParseSearchedWhenClause((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-2].predicate_), (yyvsp[0].expression_));
   }
-#line 5541 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5555 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 248:
@@ -5545,7 +5559,7 @@
     {
     (yyval.expression_) = NULL;
   }
-#line 5549 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5563 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 249:
@@ -5553,7 +5567,7 @@
     {
     (yyval.expression_) = (yyvsp[0].expression_);
   }
-#line 5557 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5571 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 250:
@@ -5562,7 +5576,7 @@
     (yyval.expression_list_) = new quickstep::PtrList<quickstep::ParseExpression>();
     (yyval.expression_list_)->push_back((yyvsp[0].expression_));
   }
-#line 5566 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5580 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 251:
@@ -5571,7 +5585,7 @@
     (yyval.expression_list_) = (yyvsp[-2].expression_list_);
     (yyval.expression_list_)->push_back((yyvsp[0].expression_));
   }
-#line 5575 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5589 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 252:
@@ -5579,7 +5593,7 @@
     {
     (yyval.literal_value_) = new quickstep::NullParseLiteralValue((yylsp[0]).first_line, (yylsp[0]).first_column);
   }
-#line 5583 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5597 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 253:
@@ -5587,7 +5601,7 @@
     {
     (yyval.literal_value_) = (yyvsp[0].numeric_literal_value_);
   }
-#line 5591 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5605 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 254:
@@ -5595,7 +5609,7 @@
     {
     (yyval.literal_value_) = (yyvsp[0].numeric_literal_value_);
   }
-#line 5599 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5613 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 255:
@@ -5612,7 +5626,7 @@
     (yyvsp[0].numeric_literal_value_)->prependMinus();
     (yyval.literal_value_) = (yyvsp[0].numeric_literal_value_);
   }
-#line 5616 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5630 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 256:
@@ -5621,7 +5635,7 @@
     (yyval.literal_value_) = new quickstep::StringParseLiteralValue((yyvsp[0].string_value_),
                                                 nullptr);  // No explicit type.
   }
-#line 5625 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5639 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 257:
@@ -5645,7 +5659,7 @@
       YYERROR;
     }
   }
-#line 5649 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5663 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 258:
@@ -5663,7 +5677,7 @@
       YYERROR;
     }
   }
-#line 5667 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5681 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 259:
@@ -5681,7 +5695,7 @@
       (yyval.literal_value_) = parse_value;
     }
   }
-#line 5685 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5699 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 260:
@@ -5689,7 +5703,7 @@
     {
      (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("YEAR"));
   }
-#line 5693 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5707 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 261:
@@ -5697,7 +5711,7 @@
     {
      (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("MONTH"));
   }
-#line 5701 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5715 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 262:
@@ -5705,7 +5719,7 @@
     {
      (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("DAY"));
   }
-#line 5709 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5723 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 263:
@@ -5713,7 +5727,7 @@
     {
      (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("HOUR"));
   }
-#line 5717 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5731 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 264:
@@ -5721,7 +5735,7 @@
     {
      (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("MINUTE"));
   }
-#line 5725 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5739 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 265:
@@ -5729,7 +5743,7 @@
     {
      (yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("SECOND"));
   }
-#line 5733 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5747 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 266:
@@ -5738,7 +5752,7 @@
     (yyval.literal_value_list_) = new quickstep::PtrList<quickstep::ParseScalarLiteral>();
     (yyval.literal_value_list_)->push_back(new quickstep::ParseScalarLiteral((yyvsp[0].literal_value_)));
   }
-#line 5742 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5756 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 267:
@@ -5747,7 +5761,7 @@
     (yyval.literal_value_list_) = (yyvsp[-2].literal_value_list_);
     (yyval.literal_value_list_)->push_back(new quickstep::ParseScalarLiteral((yyvsp[0].literal_value_)));
   }
-#line 5751 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5765 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 268:
@@ -5756,7 +5770,7 @@
     (yyval.literal_value_list_multiple_) = new quickstep::PtrList<quickstep::PtrList<quickstep::ParseScalarLiteral>>();
     (yyval.literal_value_list_multiple_)->push_back((yyvsp[-1].literal_value_list_));
   }
-#line 5760 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5774 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 269:
@@ -5765,7 +5779,7 @@
     (yyval.literal_value_list_multiple_) = (yyvsp[-4].literal_value_list_multiple_);
     (yyval.literal_value_list_multiple_)->push_back((yyvsp[-1].literal_value_list_));
   }
-#line 5769 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5783 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 270:
@@ -5773,7 +5787,7 @@
     {
     (yyval.attribute_) = new quickstep::ParseAttribute((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].string_value_));
   }
-#line 5777 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5791 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 271:
@@ -5781,7 +5795,7 @@
     {
     (yyval.attribute_) = new quickstep::ParseAttribute((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].string_value_), (yyvsp[-2].string_value_));
   }
-#line 5785 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5799 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 272:
@@ -5790,7 +5804,7 @@
     (yyval.attribute_list_) = new quickstep::PtrList<quickstep::ParseAttribute>();
     (yyval.attribute_list_)->push_back((yyvsp[0].attribute_));
   }
-#line 5794 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5808 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 273:
@@ -5799,7 +5813,7 @@
     (yyval.attribute_list_) = (yyvsp[-2].attribute_list_);
     (yyval.attribute_list_)->push_back((yyvsp[0].attribute_));
   }
-#line 5803 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5817 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 274:
@@ -5807,7 +5821,7 @@
     {
     (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kEqual);
   }
-#line 5811 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5825 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 275:
@@ -5815,7 +5829,7 @@
     {
     (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kNotEqual);
   }
-#line 5819 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5833 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 276:
@@ -5823,7 +5837,7 @@
     {
     (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kLess);
   }
-#line 5827 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5841 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 277:
@@ -5831,7 +5845,7 @@
     {
     (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kLessOrEqual);
   }
-#line 5835 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5849 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 278:
@@ -5839,7 +5853,7 @@
     {
     (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kGreater);
   }
-#line 5843 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5857 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 279:
@@ -5847,7 +5861,7 @@
     {
     (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kGreaterOrEqual);
   }
-#line 5851 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5865 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 280:
@@ -5855,7 +5869,7 @@
     {
     (yyval.comparison_) =  &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kLike);
   }
-#line 5859 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5873 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 281:
@@ -5863,7 +5877,7 @@
     {
     (yyval.comparison_) =  &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kNotLike);
   }
-#line 5867 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5881 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 282:
@@ -5871,7 +5885,7 @@
     {
     (yyval.comparison_) =  &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kRegexMatch);
   }
-#line 5875 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5889 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 283:
@@ -5879,7 +5893,7 @@
     {
     (yyval.comparison_) =  &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kNotRegexMatch);
   }
-#line 5883 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5897 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 284:
@@ -5893,7 +5907,7 @@
      **/
     (yyval.unary_operation_) = &quickstep::UnaryOperationFactory::GetUnaryOperation(quickstep::UnaryOperationID::kNegate);
   }
-#line 5897 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5911 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 285:
@@ -5901,7 +5915,7 @@
     {
     (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kAdd);
   }
-#line 5905 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5919 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 286:
@@ -5909,7 +5923,7 @@
     {
     (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kSubtract);
   }
-#line 5913 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5927 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 287:
@@ -5917,7 +5931,7 @@
     {
     (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kModulo);
   }
-#line 5921 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5935 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 288:
@@ -5925,7 +5939,7 @@
     {
     (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kMultiply);
   }
-#line 5929 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5943 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 289:
@@ -5933,7 +5947,7 @@
     {
     (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kDivide);
   }
-#line 5937 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5951 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 290:
@@ -5942,7 +5956,7 @@
     (yyval.string_list_) = new quickstep::PtrList<quickstep::ParseString>();
     (yyval.string_list_)->push_back((yyvsp[0].string_value_));
   }
-#line 5946 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5960 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 291:
@@ -5951,7 +5965,7 @@
     (yyval.string_list_) = (yyvsp[-2].string_list_);
     (yyval.string_list_)->push_back((yyvsp[0].string_value_));
   }
-#line 5955 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5969 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 292:
@@ -5959,7 +5973,7 @@
     {
     (yyval.string_value_) = (yyvsp[0].string_value_);
   }
-#line 5963 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5977 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 293:
@@ -5970,7 +5984,7 @@
     }
     (yyval.string_value_) = (yyvsp[0].string_value_);
   }
-#line 5974 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5988 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 294:
@@ -5978,7 +5992,7 @@
     {
     (yyval.boolean_value_) = true;
   }
-#line 5982 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 5996 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 295:
@@ -5986,7 +6000,7 @@
     {
     (yyval.boolean_value_) = true;
   }
-#line 5990 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 6004 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 296:
@@ -5994,7 +6008,7 @@
     {
     (yyval.boolean_value_) = false;
   }
-#line 5998 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 6012 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 297:
@@ -6002,7 +6016,7 @@
     {
     (yyval.boolean_value_) = false;
   }
-#line 6006 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 6020 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 298:
@@ -6010,7 +6024,7 @@
     {
     (yyval.command_) = new quickstep::ParseCommand((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].command_argument_list_));
   }
-#line 6014 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 6028 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 299:
@@ -6020,7 +6034,7 @@
     argument_list->push_back((yyvsp[0].string_value_));
     (yyval.command_argument_list_) = argument_list;
   }
-#line 6024 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 6038 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 300:
@@ -6028,11 +6042,11 @@
     { /* Epsilon, an empy match. */
     (yyval.command_argument_list_) = new quickstep::PtrVector<quickstep::ParseString>();
   }
-#line 6032 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 6046 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
 
-#line 6036 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 6050 "SqlParser_gen.cpp" /* yacc.c:1661  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
diff --git a/parser/preprocessed/SqlParser_gen.hpp b/parser/preprocessed/SqlParser_gen.hpp
index 142059d..dd2728d 100644
--- a/parser/preprocessed/SqlParser_gen.hpp
+++ b/parser/preprocessed/SqlParser_gen.hpp
@@ -78,15 +78,15 @@
     TOKEN_BLOCKPROPERTIES = 288,
     TOKEN_BLOCKSAMPLE = 289,
     TOKEN_BLOOM_FILTER = 290,
-    TOKEN_CSB_TREE = 291,
-    TOKEN_BY = 292,
-    TOKEN_CASE = 293,
-    TOKEN_CHARACTER = 294,
-    TOKEN_CHECK = 295,
-    TOKEN_COLUMN = 296,
-    TOKEN_CONSTRAINT = 297,
-    TOKEN_COPY = 298,
-    TOKEN_CREATE = 299,
+    TOKEN_BY = 291,
+    TOKEN_CASE = 292,
+    TOKEN_CHARACTER = 293,
+    TOKEN_CHECK = 294,
+    TOKEN_COLUMN = 295,
+    TOKEN_CONSTRAINT = 296,
+    TOKEN_COPY = 297,
+    TOKEN_CREATE = 298,
+    TOKEN_CSB_TREE = 299,
     TOKEN_CURRENT = 300,
     TOKEN_DATE = 301,
     TOKEN_DATETIME = 302,
@@ -100,85 +100,85 @@
     TOKEN_DROP = 310,
     TOKEN_ELSE = 311,
     TOKEN_END = 312,
-    TOKEN_EXISTS = 313,
-    TOKEN_EXTRACT = 314,
-    TOKEN_FALSE = 315,
-    TOKEN_FIRST = 316,
-    TOKEN_FLOAT = 317,
-    TOKEN_FOLLOWING = 318,
-    TOKEN_FOR = 319,
-    TOKEN_FOREIGN = 320,
-    TOKEN_FROM = 321,
-    TOKEN_FULL = 322,
-    TOKEN_GROUP = 323,
-    TOKEN_HASH = 324,
-    TOKEN_HAVING = 325,
-    TOKEN_HOUR = 326,
-    TOKEN_IN = 327,
-    TOKEN_INDEX = 328,
-    TOKEN_INNER = 329,
-    TOKEN_INSERT = 330,
-    TOKEN_INTEGER = 331,
-    TOKEN_INTERVAL = 332,
-    TOKEN_INTO = 333,
-    TOKEN_JOIN = 334,
-    TOKEN_KEY = 335,
-    TOKEN_LAST = 336,
-    TOKEN_LEFT = 337,
-    TOKEN_LIMIT = 338,
-    TOKEN_LONG = 339,
-    TOKEN_MINUTE = 340,
-    TOKEN_MONTH = 341,
-    TOKEN_NULL = 342,
-    TOKEN_NULLS = 343,
-    TOKEN_OFF = 344,
-    TOKEN_ON = 345,
-    TOKEN_ORDER = 346,
-    TOKEN_OUTER = 347,
-    TOKEN_OVER = 348,
-    TOKEN_PARTITION = 349,
-    TOKEN_PARTITIONS = 350,
-    TOKEN_PERCENT = 351,
-    TOKEN_PRECEDING = 352,
-    TOKEN_PRIMARY = 353,
-    TOKEN_PRIORITY = 354,
-    TOKEN_QUIT = 355,
-    TOKEN_RANGE = 356,
-    TOKEN_REAL = 357,
-    TOKEN_REFERENCES = 358,
-    TOKEN_RIGHT = 359,
-    TOKEN_ROW = 360,
-    TOKEN_ROW_DELIMITER = 361,
-    TOKEN_ROWS = 362,
-    TOKEN_SECOND = 363,
-    TOKEN_SELECT = 364,
-    TOKEN_SET = 365,
-    TOKEN_SMA = 366,
-    TOKEN_SMALLINT = 367,
-    TOKEN_STDERR = 368,
-    TOKEN_STDOUT = 369,
-    TOKEN_SUBSTRING = 370,
-    TOKEN_TABLE = 371,
-    TOKEN_THEN = 372,
-    TOKEN_TIME = 373,
-    TOKEN_TIMESTAMP = 374,
-    TOKEN_TO = 375,
-    TOKEN_TRUE = 376,
-    TOKEN_TUPLESAMPLE = 377,
-    TOKEN_UNBOUNDED = 378,
-    TOKEN_UNIQUE = 379,
-    TOKEN_UPDATE = 380,
-    TOKEN_USING = 381,
-    TOKEN_VALUES = 382,
-    TOKEN_VARCHAR = 383,
-    TOKEN_WHEN = 384,
-    TOKEN_WHERE = 385,
-    TOKEN_WINDOW = 386,
-    TOKEN_WITH = 387,
-    TOKEN_YEAR = 388,
-    TOKEN_YEARMONTH = 389,
-    TOKEN_EOF = 390,
-    TOKEN_LEX_ERROR = 391
+    TOKEN_EOF = 313,
+    TOKEN_EXISTS = 314,
+    TOKEN_EXTRACT = 315,
+    TOKEN_FALSE = 316,
+    TOKEN_FIRST = 317,
+    TOKEN_FLOAT = 318,
+    TOKEN_FOLLOWING = 319,
+    TOKEN_FOR = 320,
+    TOKEN_FOREIGN = 321,
+    TOKEN_FROM = 322,
+    TOKEN_FULL = 323,
+    TOKEN_GROUP = 324,
+    TOKEN_HASH = 325,
+    TOKEN_HAVING = 326,
+    TOKEN_HOUR = 327,
+    TOKEN_IN = 328,
+    TOKEN_INDEX = 329,
+    TOKEN_INNER = 330,
+    TOKEN_INSERT = 331,
+    TOKEN_INTEGER = 332,
+    TOKEN_INTERVAL = 333,
+    TOKEN_INTO = 334,
+    TOKEN_JOIN = 335,
+    TOKEN_KEY = 336,
+    TOKEN_LAST = 337,
+    TOKEN_LEFT = 338,
+    TOKEN_LEX_ERROR = 339,
+    TOKEN_LIMIT = 340,
+    TOKEN_LONG = 341,
+    TOKEN_MINUTE = 342,
+    TOKEN_MONTH = 343,
+    TOKEN_NULL = 344,
+    TOKEN_NULLS = 345,
+    TOKEN_OFF = 346,
+    TOKEN_ON = 347,
+    TOKEN_ORDER = 348,
+    TOKEN_OUTER = 349,
+    TOKEN_OVER = 350,
+    TOKEN_PARTITION = 351,
+    TOKEN_PARTITIONS = 352,
+    TOKEN_PERCENT = 353,
+    TOKEN_PRECEDING = 354,
+    TOKEN_PRIMARY = 355,
+    TOKEN_PRIORITY = 356,
+    TOKEN_QUIT = 357,
+    TOKEN_RANGE = 358,
+    TOKEN_REAL = 359,
+    TOKEN_REFERENCES = 360,
+    TOKEN_RIGHT = 361,
+    TOKEN_ROW = 362,
+    TOKEN_ROWS = 363,
+    TOKEN_ROW_DELIMITER = 364,
+    TOKEN_SECOND = 365,
+    TOKEN_SELECT = 366,
+    TOKEN_SET = 367,
+    TOKEN_SMA = 368,
+    TOKEN_SMALLINT = 369,
+    TOKEN_STDERR = 370,
+    TOKEN_STDOUT = 371,
+    TOKEN_SUBSTRING = 372,
+    TOKEN_TABLE = 373,
+    TOKEN_THEN = 374,
+    TOKEN_TIME = 375,
+    TOKEN_TIMESTAMP = 376,
+    TOKEN_TO = 377,
+    TOKEN_TRUE = 378,
+    TOKEN_TUPLESAMPLE = 379,
+    TOKEN_UNBOUNDED = 380,
+    TOKEN_UNIQUE = 381,
+    TOKEN_UPDATE = 382,
+    TOKEN_USING = 383,
+    TOKEN_VALUES = 384,
+    TOKEN_VARCHAR = 385,
+    TOKEN_WHEN = 386,
+    TOKEN_WHERE = 387,
+    TOKEN_WINDOW = 388,
+    TOKEN_WITH = 389,
+    TOKEN_YEAR = 390,
+    TOKEN_YEARMONTH = 391
   };
 #endif
 
diff --git a/query_optimizer/cost_model/StarSchemaSimpleCostModel.cpp b/query_optimizer/cost_model/StarSchemaSimpleCostModel.cpp
index 6ab86e5..6b506be 100644
--- a/query_optimizer/cost_model/StarSchemaSimpleCostModel.cpp
+++ b/query_optimizer/cost_model/StarSchemaSimpleCostModel.cpp
@@ -287,6 +287,7 @@
         return static_cast<std::size_t>(
             left_child_num_distinct_values * right_child_selectivity + 0.5);
       }
+      break;
     }
     case P::PhysicalType::kHashJoin: {
       const P::HashJoinPtr &hash_join =
@@ -447,7 +448,7 @@
           if (E::ContainsExprId(child->getOutputAttributes(), attr->id())) {
             const std::size_t child_num_distinct_values = estimateNumDistinctValues(attr->id(), child);
             if (comparison_expression->isEqualityComparisonPredicate()) {
-              return 1.0 / child_num_distinct_values;
+              return 1.0 / std::max(child_num_distinct_values, static_cast<std::size_t>(1u));
             } else {
               return 1.0 / std::max(std::min(child_num_distinct_values / 100.0, 10.0), 2.0);
             }
diff --git a/query_optimizer/resolver/Resolver.cpp b/query_optimizer/resolver/Resolver.cpp
index b07cf10..6e03b83 100644
--- a/query_optimizer/resolver/Resolver.cpp
+++ b/query_optimizer/resolver/Resolver.cpp
@@ -1523,18 +1523,22 @@
   std::vector<const ParseSetOperation*> operands;
   CollapseSetOperation(parse_set_operations, parse_set_operations, &operands);
 
-  DCHECK_LT(1u, operands.size());
+  const std::size_t num_operands = operands.size();
+  DCHECK_LT(1u, num_operands);
   std::vector<L::LogicalPtr> resolved_operations;
+  resolved_operations.reserve(num_operands);
   std::vector<std::vector<E::AttributeReferencePtr>> attribute_matrix;
+  attribute_matrix.reserve(num_operands);
 
   // Resolve the first operation, and get the output attributes.
   auto iter = operands.begin();
   const ParseSetOperation &operation = static_cast<const ParseSetOperation&>(**iter);
   L::LogicalPtr operation_logical =
       resolveSetOperation(operation, set_operation_name, type_hints, parent_resolver);
-  const std::vector<E::AttributeReferencePtr> operation_attributes =
+  std::vector<E::AttributeReferencePtr> operation_attributes =
       operation_logical->getOutputAttributes();
-  attribute_matrix.push_back(operation_attributes);
+  const std::size_t num_operation_attributes = operation_attributes.size();
+  attribute_matrix.push_back(std::move(operation_attributes));
   resolved_operations.push_back(operation_logical);
 
   // Resolve the rest operations, and check the size of output attributes.
@@ -1547,22 +1551,25 @@
 
     // Check output attributes size.
     // Detailed type check and type cast will perform later.
-    if (attribute_matrix.back().size() != operation_attributes.size()) {
+    if (attribute_matrix.back().size() != num_operation_attributes) {
       THROW_SQL_ERROR_AT(&current_operation)
           << "Can not perform " << parse_set_operations.getName()
           << "opeartion between " << std::to_string(attribute_matrix.back().size())
-          << "and " << std::to_string(operation_attributes.size())
+          << "and " << std::to_string(num_operation_attributes)
           << "columns";
     }
 
     resolved_operations.push_back(current_logical);
   }
+  DCHECK_EQ(num_operands, attribute_matrix.size());
+  DCHECK_EQ(num_operands, resolved_operations.size());
 
   // Get the possible output attributes that the attributes of all operands can cast to.
   std::vector<E::AttributeReferencePtr> possible_attributes;
-  for (std::size_t aid = 0; aid < operation_attributes.size(); ++aid) {
+  possible_attributes.reserve(num_operation_attributes);
+  for (std::size_t aid = 0; aid < num_operation_attributes; ++aid) {
     E::AttributeReferencePtr possible_attribute = attribute_matrix[0][aid];
-    for (std::size_t opid = 1; opid < resolved_operations.size(); ++opid) {
+    for (std::size_t opid = 1; opid < num_operands; ++opid) {
       const Type &current_type = attribute_matrix[opid][aid]->getValueType();
       const Type &possible_type = possible_attribute->getValueType();
       if (!possible_type.equals(current_type)) {
@@ -1593,10 +1600,10 @@
     possible_attributes.push_back(possible_attribute);
   }
 
-  for (std::size_t opid = 0; opid < operation_attributes.size(); ++opid) {
+  for (std::size_t opid = 0; opid < num_operation_attributes; ++opid) {
     // Generate a cast operation if needed.
     std::vector<E::NamedExpressionPtr> cast_expressions;
-    for (std::size_t aid = 0; aid < operation_attributes.size(); ++aid) {
+    for (std::size_t aid = 0; aid < num_operation_attributes; ++aid) {
       const E::AttributeReferencePtr current_attr = attribute_matrix[opid][aid];
       const Type &current_type = current_attr->getValueType();
       const Type &possible_type = possible_attributes[aid]->getValueType();
@@ -1635,10 +1642,11 @@
     case ParseSetOperation::kUnionAll:
       return L::SetOperation::Create(
           L::SetOperation::kUnionAll, resolved_operations, output_attributes);
-    default:
-      LOG(FATAL) << "Unknown operation: " << parse_set_operations.toString();
-      return nullptr;
+    case ParseSetOperation::kSelect:
+      LOG(FATAL) << "Unexpected operation: " << parse_set_operations.toString();
   }
+  LOG(FATAL) << "Unreachable";
+  return nullptr;
 }
 
 L::LogicalPtr Resolver::resolveSetOperation(
@@ -1664,10 +1672,9 @@
                            type_hints,
                            parent_resolver);
     }
-    default:
-      LOG(FATAL) << "Unknown set operation: " << set_operation_query.toString();
-      return nullptr;
   }
+  LOG(FATAL) << "Unreachable";
+  return nullptr;
 }
 
 E::SubqueryExpressionPtr Resolver::resolveSubqueryExpression(
diff --git a/query_optimizer/rules/InjectJoinFilters.cpp b/query_optimizer/rules/InjectJoinFilters.cpp
index 90e81d5..a165377 100644
--- a/query_optimizer/rules/InjectJoinFilters.cpp
+++ b/query_optimizer/rules/InjectJoinFilters.cpp
@@ -49,6 +49,28 @@
 namespace E = ::quickstep::optimizer::expressions;
 namespace P = ::quickstep::optimizer::physical;
 
+namespace {
+
+P::PhysicalPtr wrapSelection(const P::PhysicalPtr &input) {
+  DCHECK(P::SomeTopLevelPlan::Matches(input));
+  const P::TopLevelPlanPtr &top_level_plan =
+      std::static_pointer_cast<const P::TopLevelPlan>(input);
+  const P::PhysicalPtr &plan = top_level_plan->plan();
+
+  if (P::SomeFilterJoin::Matches(plan)) {
+    return input;
+  }
+
+  const P::SelectionPtr selection =
+      P::Selection::Create(
+          plan,
+          E::ToNamedExpressions(top_level_plan->plan()->getOutputAttributes()),
+          nullptr /* filter_predicate */);
+  return input->copyWithNewChildren({ selection });
+}
+
+}  // namespace
+
 P::PhysicalPtr InjectJoinFilters::apply(const P::PhysicalPtr &input) {
   DCHECK(input->getPhysicalType() == P::PhysicalType::kTopLevelPlan);
 
@@ -62,17 +84,25 @@
   // Step 1. Transform applicable HashJoin nodes to FilterJoin nodes.
   P::PhysicalPtr output = transformHashJoinToFilters(input);
 
-  // Step 2. Push down FilterJoin nodes to be evaluated early.
+  if (output == input) {
+    return input;
+  }
+
+  // Step 2. If the top level plan is a filter join, wrap it with a Selection
+  // to stabilize output columns.
+  output = wrapSelection(output);
+
+  // Step 3. Push down FilterJoin nodes to be evaluated early.
   output = pushDownFilters(output);
 
-  // Step 3. Add Selection nodes for attaching the LIPFilters, if necessary.
+  // Step 4. Add Selection nodes for attaching the LIPFilters, if necessary.
   output = addFilterAnchors(output, false);
 
-  // Step 4. Because of the pushdown of FilterJoin nodes, there are optimization
+  // Step 5. Because of the pushdown of FilterJoin nodes, there are optimization
   // opportunities for projecting columns early.
   output = PruneColumns().apply(output);
 
-  // Step 5. For each FilterJoin node, attach its corresponding LIPFilter to
+  // Step 6. For each FilterJoin node, attach its corresponding LIPFilter to
   // proper nodes.
   concretizeAsLIPFilters(output, nullptr);
 
@@ -146,13 +176,8 @@
 P::PhysicalPtr InjectJoinFilters::transformHashJoinToFilters(
     const P::PhysicalPtr &input) const {
   std::vector<P::PhysicalPtr> new_children;
-  bool has_changed_children = false;
   for (const P::PhysicalPtr &child : input->children()) {
-    const P::PhysicalPtr new_child = transformHashJoinToFilters(child);
-    if (child != new_child && !has_changed_children) {
-      has_changed_children = true;
-    }
-    new_children.push_back(new_child);
+    new_children.emplace_back(transformHashJoinToFilters(child));
   }
 
   P::HashJoinPtr hash_join;
@@ -187,7 +212,7 @@
                                  hash_join->cloneOutputPartitionSchemeHeader());
   }
 
-  if (has_changed_children) {
+  if (input->children() != new_children) {
     return input->copyWithNewChildren(new_children);
   } else {
     return input;
diff --git a/query_optimizer/rules/ReorderColumns.cpp b/query_optimizer/rules/ReorderColumns.cpp
index 5f52938..6373f36 100644
--- a/query_optimizer/rules/ReorderColumns.cpp
+++ b/query_optimizer/rules/ReorderColumns.cpp
@@ -61,7 +61,9 @@
   if (skip_transform) {
     std::vector<P::PhysicalPtr> new_children;
     for (const P::PhysicalPtr &child : input->children()) {
-      new_children.emplace_back(applyInternal(child, lock_ordering && is_not_transformable));
+      const bool child_lock_ordering =
+          (lock_ordering && is_not_transformable) || P::SomeUnionAll::Matches(child);
+      new_children.emplace_back(applyInternal(child, child_lock_ordering));
     }
 
     if (new_children != input->children()) {
diff --git a/utility/BarrieredReadWriteConcurrentBitVector.hpp b/utility/BarrieredReadWriteConcurrentBitVector.hpp
index 0086c7f..dba5ff0 100644
--- a/utility/BarrieredReadWriteConcurrentBitVector.hpp
+++ b/utility/BarrieredReadWriteConcurrentBitVector.hpp
@@ -42,7 +42,7 @@
  * @brief A bit vector that supports concurrent read/write operations, with a
  *        RESTRICTED CONCURRENCY LEVEL that the read operations and the write
  *        operations must be isolated with a (mostly implicit) barrier.
- * 
+ *
  * In other words, when using this bit vector, the read operations and write
  * operations must be grouped into phases. Within a phase there can be either
  * concurrent read operations or concurrent write operations, but not both (or
diff --git a/utility/ExecutionDAGVisualizer.cpp b/utility/ExecutionDAGVisualizer.cpp
index 8059ef3..4b30492 100644
--- a/utility/ExecutionDAGVisualizer.cpp
+++ b/utility/ExecutionDAGVisualizer.cpp
@@ -292,19 +292,17 @@
       node_info.labels.emplace_back(
           "effective concurrency: " + FormatDigits(concurrency, 2));
 
-      DCHECK(workorders_count.find(node_index) != workorders_count.end());
-      const std::size_t workorders_count_for_node = workorders_count.at(node_index);
-      if (workorders_count_for_node > 0) {
-        mean_time_per_workorder[node_index] =
-            mean_time_per_workorder[node_index] /
+      const auto cit = workorders_count.find(node_index);
+      if (cit != workorders_count.end()) {
+        const std::size_t workorders_count_for_node = cit->second;
+        mean_time_per_workorder[node_index] /=
             (1000 * static_cast<float>(workorders_count_for_node));
-      } else {
-        mean_time_per_workorder[node_index] = 0;
+
+        node_info.labels.emplace_back(std::to_string(workorders_count_for_node) + " work orders");
+        node_info.labels.emplace_back(
+            "Mean work order execution time: " +
+            FormatDigits(mean_time_per_workorder[node_index], 2) + " ms");
       }
-      node_info.labels.emplace_back(std::to_string(workorders_count_for_node) + " work orders");
-      node_info.labels.emplace_back(
-          "Mean work order execution time: " +
-          FormatDigits(mean_time_per_workorder[node_index], 2) + " ms");
     }
   }
 }
