You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by zu...@apache.org on 2016/05/05 06:16:44 UTC

[08/30] incubator-quickstep git commit: Adds support for scalar subqueries (#185)

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/9b3d9156/parser/preprocessed/SqlParser_gen.cpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlParser_gen.cpp b/parser/preprocessed/SqlParser_gen.cpp
index d625dc7..32149a1 100644
--- a/parser/preprocessed/SqlParser_gen.cpp
+++ b/parser/preprocessed/SqlParser_gen.cpp
@@ -678,16 +678,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  47
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   975
+#define YYLAST   1072
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  128
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  94
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  254
+#define YYNRULES  255
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  470
+#define YYNSTATES  471
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
@@ -764,13 +764,13 @@ static const yytype_uint16 yyrline[] =
     1343,  1346,  1349,  1354,  1357,  1360,  1366,  1369,  1374,  1379,
     1388,  1393,  1402,  1407,  1410,  1415,  1418,  1423,  1429,  1435,
     1438,  1441,  1444,  1447,  1450,  1456,  1465,  1468,  1473,  1476,
-    1481,  1484,  1489,  1492,  1495,  1498,  1501,  1504,  1509,  1513,
-    1517,  1520,  1525,  1530,  1533,  1538,  1542,  1548,  1553,  1557,
-    1563,  1568,  1571,  1576,  1580,  1586,  1589,  1592,  1595,  1607,
-    1611,  1630,  1645,  1649,  1655,  1658,  1663,  1667,  1674,  1677,
-    1680,  1683,  1686,  1689,  1692,  1695,  1698,  1701,  1706,  1717,
-    1720,  1725,  1728,  1731,  1737,  1741,  1747,  1750,  1758,  1761,
-    1764,  1767,  1773,  1778,  1783
+    1481,  1484,  1489,  1492,  1495,  1498,  1501,  1504,  1507,  1512,
+    1516,  1520,  1523,  1528,  1533,  1536,  1541,  1545,  1551,  1556,
+    1560,  1566,  1571,  1574,  1579,  1583,  1589,  1592,  1595,  1598,
+    1610,  1614,  1633,  1648,  1652,  1658,  1661,  1666,  1670,  1677,
+    1680,  1683,  1686,  1689,  1692,  1695,  1698,  1701,  1704,  1709,
+    1720,  1723,  1728,  1731,  1734,  1740,  1744,  1750,  1753,  1761,
+    1764,  1767,  1770,  1776,  1781,  1786
 };
 #endif
 
@@ -863,10 +863,10 @@ static const yytype_uint16 yytoknum[] =
 };
 # endif
 
-#define YYPACT_NINF -223
+#define YYPACT_NINF -216
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-223)))
+  (!!((Yystate) == (-216)))
 
 #define YYTABLE_NINF -128
 
@@ -877,53 +877,54 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-      63,  -223,  -223,   -56,   229,   -15,     4,   -51,    14,  -223,
-      36,   229,   229,  -223,    96,   124,  -223,  -223,  -223,  -223,
-    -223,  -223,  -223,  -223,  -223,  -223,    97,  -223,    48,   101,
-     229,  -223,  -223,   133,   229,   229,   229,   229,   229,  -223,
-    -223,   493,    23,    79,  -223,   199,    60,  -223,  -223,  -223,
-     179,  -223,  -223,  -223,  -223,    27,   260,   181,   165,   158,
-    -223,   123,  -223,  -223,   289,   293,  -223,  -223,  -223,   526,
-     178,  -223,   232,  -223,  -223,   180,  -223,  -223,   306,  -223,
-    -223,  -223,  -223,  -223,  -223,   188,   242,   735,   320,   273,
-     248,  -223,   221,    22,  -223,  -223,  -223,  -223,  -223,  -223,
-    -223,   768,    -5,   229,   229,   223,   229,   229,   115,   194,
-     237,   229,   229,   405,  -223,  -223,   234,   229,  -223,  -223,
-    -223,   405,    51,   -22,  -223,   377,  -223,   229,  -223,   378,
-    -223,     7,  -223,    21,   158,   735,  -223,  -223,   229,   735,
-    -223,  -223,  -223,  -223,   735,   293,  -223,   229,   272,   -64,
-    -223,   375,  -223,   287,  -223,   138,  -223,   287,   229,    58,
-     229,   229,   265,  -223,   266,  -223,   148,   851,   614,   223,
-     405,   384,   385,  -223,  -223,   349,   379,   856,   155,    16,
-     735,    -2,  -223,   735,  -223,   336,   276,   331,   277,  -223,
-      15,   195,   111,  -223,   278,   195,    52,   334,  -223,  -223,
-      22,  -223,  -223,   280,   735,  -223,   261,   161,   229,  -223,
-     735,   281,  -223,   229,  -223,  -223,   283,   328,   333,   290,
-    -223,  -223,  -223,   117,   229,   303,    58,   229,  -223,   151,
-    -223,  -223,     5,    64,   405,   405,    25,  -223,  -223,  -223,
-    -223,  -223,  -223,  -223,  -223,   735,   298,   735,    13,  -223,
-     166,   309,   735,    38,  -223,   358,   261,  -223,  -223,   735,
-    -223,   129,   229,  -223,  -223,   335,  -223,   338,   339,   345,
-      21,  -223,   423,   424,   195,   393,   364,  -223,   173,  -223,
-     735,  -223,   261,  -223,  -223,   405,   312,   316,   229,   436,
-      24,   182,  -223,   190,   415,   157,  -223,   317,   326,  -223,
-     360,   324,   856,  -223,   369,   229,  -223,  -223,   151,  -223,
-    -223,   385,  -223,  -223,  -223,   735,   327,   246,   647,  -223,
-     261,   365,  -223,  -223,   856,   340,   261,   735,  -223,    26,
-    -223,  -223,  -223,  -223,  -223,    21,   111,   366,   367,  -223,
-     735,   405,   368,  -223,   261,    12,   229,   229,   192,  -223,
-    -223,  -223,  -223,  -223,  -223,  -223,   153,  -223,   229,  -223,
-    -223,  -223,  -223,   341,    58,   422,   371,  -223,   405,  -223,
-    -223,   344,  -223,   250,   647,  -223,   735,   198,  -223,  -223,
-     856,   261,  -223,   381,  -223,  -223,   337,   384,   431,   389,
-    -223,   204,   207,  -223,   468,    24,  -223,   229,  -223,  -223,
-     350,   435,  -223,    30,   229,   735,   210,   261,  -223,   213,
-     405,   735,   469,  -223,   380,  -223,  -223,  -223,   225,  -223,
-    -223,  -223,  -223,    11,   229,   118,  -223,   352,   261,  -223,
-    -223,   384,   353,  -223,   186,  -223,   229,  -223,   229,  -223,
-    -223,   229,  -223,   227,  -223,  -223,   356,  -223,   735,  -223,
-    -223,   397,   361,  -223,   247,  -223,   229,  -223,   -13,  -223,
-     229,  -223,   252,  -223,  -223,   257,   392,  -223,   479,  -223
+     198,  -216,  -216,   -46,   175,   -19,    46,   -27,    20,  -216,
+      32,   175,   175,  -216,    88,   127,  -216,  -216,  -216,  -216,
+    -216,  -216,  -216,  -216,  -216,  -216,    -8,  -216,   115,   114,
+     175,  -216,  -216,    54,   175,   175,   175,   175,   175,  -216,
+    -216,   527,    52,    34,  -216,   135,    67,  -216,  -216,  -216,
+     191,  -216,  -216,  -216,  -216,    37,   197,   117,   152,   180,
+    -216,    86,  -216,  -216,   293,   294,  -216,  -216,  -216,   560,
+     188,  -216,   236,  -216,  -216,   202,  -216,  -216,   312,  -216,
+    -216,  -216,  -216,  -216,  -216,   212,   260,   648,   334,   274,
+     214,  -216,  -216,   164,    -1,  -216,  -216,  -216,  -216,  -216,
+    -216,  -216,   769,    23,   175,   175,   224,   175,   175,    28,
+     171,   233,   175,   175,   439,  -216,  -216,   228,   175,  -216,
+    -216,  -216,   439,    27,   -17,  -216,   346,  -216,   175,  -216,
+     347,  -216,   231,     7,  -216,    15,   180,   802,  -216,  -216,
+     175,   802,  -216,  -216,  -216,  -216,   802,   294,  -216,   175,
+     273,    56,  -216,   348,  -216,   272,  -216,   101,  -216,   272,
+     175,   118,   175,   175,   250,  -216,   251,  -216,   111,   885,
+     681,   224,   406,   370,   374,  -216,  -216,  1000,   359,   890,
+     131,    17,   802,   -11,  -216,   802,  -216,   325,   261,   318,
+     262,  -216,  -216,    40,    75,   124,  -216,   263,    75,   -13,
+     321,  -216,  -216,    -1,  -216,  -216,   266,   802,  -216,   219,
+     133,   175,  -216,   802,  -216,   175,  -216,  -216,   269,   315,
+     316,   275,  -216,  -216,  -216,   144,   175,   287,   118,   175,
+    -216,    82,  -216,  -216,    -3,   350,   439,   439,    58,  -216,
+    -216,  -216,  -216,  -216,  -216,  -216,  -216,   802,   278,   802,
+      25,  -216,   137,   289,   802,    47,  -216,   345,   219,  -216,
+    -216,   802,  -216,    89,   175,  -216,  -216,   317,  -216,   319,
+     324,   326,    15,  -216,   399,   401,    75,   375,   352,  -216,
+     139,  -216,   802,  -216,   219,  -216,   439,   300,   301,   175,
+     412,     3,   141,  -216,   145,   391,    45,  -216,   303,   308,
+    -216,   349,   306,   890,  -216,   351,   175,  -216,  -216,    82,
+    -216,  -216,   374,  -216,  -216,  -216,   802,   313,   187,   648,
+    -216,   219,   356,  -216,  -216,   890,   327,   219,   802,  -216,
+      21,  -216,  -216,  -216,  -216,  -216,    15,   124,   339,   343,
+    -216,   802,   439,   353,  -216,   219,    12,   175,   175,   149,
+    -216,  -216,  -216,  -216,  -216,  -216,  -216,   193,  -216,   175,
+    -216,  -216,  -216,  -216,   328,   118,   414,   367,  -216,   439,
+    -216,  -216,   335,  -216,   221,   648,  -216,   802,   156,  -216,
+    -216,   890,   219,  -216,   376,  -216,  -216,   337,   370,   425,
+     383,  -216,   158,   162,  -216,   464,     3,  -216,   175,  -216,
+    -216,   354,   430,  -216,    19,   175,   802,   166,   219,  -216,
+     179,   439,   802,   467,  -216,   378,  -216,  -216,  -216,   183,
+    -216,  -216,  -216,  -216,    11,   175,   -14,  -216,   360,   219,
+    -216,  -216,   370,   358,  -216,    31,  -216,   175,  -216,   175,
+    -216,  -216,   175,  -216,   194,  -216,  -216,   355,  -216,   802,
+    -216,  -216,   400,   368,  -216,   199,  -216,   175,  -216,    38,
+    -216,   175,  -216,   205,  -216,  -216,   208,   385,  -216,   486,
+    -216
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -931,83 +932,84 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       0,     6,   254,     0,     0,     0,     0,     0,     0,    18,
+       0,     6,   255,     0,     0,     0,     0,     0,     0,    18,
      112,     0,     0,     7,     0,     0,    15,     8,    10,    11,
-      13,    14,     9,    17,    12,    16,     0,   105,     0,   252,
-       0,   246,   247,     0,     0,     0,     0,     0,     0,   113,
+      13,    14,     9,    17,    12,    16,     0,   105,     0,   253,
+       0,   247,   248,     0,     0,     0,     0,     0,     0,   113,
      114,     0,     0,   107,   108,     0,   145,     1,     3,     2,
-       0,   106,     5,     4,   253,     0,     0,     0,     0,   166,
-      25,     0,   219,   216,     0,   238,   115,    40,    29,     0,
+       0,   106,     5,     4,   254,     0,     0,     0,     0,   166,
+      25,     0,   220,   217,     0,   239,   115,    40,    29,     0,
        0,    30,    31,    34,    36,     0,    37,    39,     0,    41,
-     215,    35,    38,    32,    33,     0,     0,     0,     0,     0,
-     116,   117,   121,   187,   189,   191,   194,   195,   196,   193,
-     192,     0,   224,     0,     0,     0,     0,     0,     0,     0,
-      94,     0,     0,     0,   101,   167,     0,     0,    91,   217,
-     218,     0,     0,   211,   208,     0,    43,     0,   220,     0,
-      44,     0,   221,     0,   166,     0,   239,   240,     0,     0,
-     120,   242,   243,   241,     0,     0,   190,     0,     0,   166,
-     103,     0,   109,     0,   110,     0,   244,     0,     0,     0,
-       0,     0,     0,    93,    66,    27,     0,     0,     0,     0,
-       0,   168,   170,   172,   174,     0,   192,     0,     0,     0,
-       0,   211,   205,     0,   209,     0,     0,     0,     0,   197,
-       0,     0,   147,   136,   122,   141,   124,   149,   118,   119,
-     186,   188,   225,     0,     0,   198,   213,     0,     0,   100,
-       0,     0,   146,     0,    92,    19,     0,     0,     0,     0,
-      20,    21,    22,     0,     0,     0,    64,     0,    42,    56,
-     173,   181,     0,     0,     0,     0,     0,   228,   230,   231,
-     232,   233,   229,   234,   236,     0,     0,     0,     0,   222,
-       0,     0,     0,     0,   206,     0,   212,   204,    45,     0,
-      46,   127,     0,   137,   143,   133,   128,   129,   131,     0,
-       0,   140,     0,     0,   139,     0,   151,   199,     0,   200,
-       0,   102,   104,   123,   245,     0,     0,     0,     0,     0,
-       0,     0,   226,     0,   224,     0,    63,    65,    68,    28,
-       0,     0,     0,    47,     0,     0,    49,    55,    57,    26,
-     180,   169,   171,   235,   237,     0,     0,     0,     0,   182,
-     179,     0,   178,    90,     0,     0,   210,     0,   203,     0,
-     142,   144,   134,   130,   132,     0,   148,     0,     0,   138,
-       0,     0,   153,   201,   214,     0,     0,     0,     0,    96,
-     250,   251,   249,   248,    97,    95,     0,    67,     0,    83,
-      84,    85,    86,    87,     0,     0,    70,    48,     0,    51,
-      50,     0,    54,     0,     0,   184,     0,     0,   177,   223,
-       0,   207,   202,     0,   125,   126,   150,   152,     0,   155,
-      61,     0,     0,    58,     0,     0,   227,     0,    24,    62,
-       0,     0,    23,     0,     0,     0,     0,   175,   183,     0,
-       0,     0,     0,   111,     0,    59,    98,    99,     0,    74,
-      76,    77,    78,     0,     0,     0,    52,     0,   176,   185,
-      89,   135,   154,   157,   160,   156,     0,    88,     0,    82,
-      80,     0,    79,     0,    72,    73,     0,    53,     0,   161,
-     162,   163,     0,    75,     0,    69,     0,   158,     0,   159,
-       0,    81,     0,   164,   165,     0,     0,    60,     0,    71
+     216,    35,    38,    32,    33,     0,     0,     0,     0,     0,
+     116,   117,   198,   121,   187,   189,   191,   194,   195,   196,
+     193,   192,     0,   225,     0,     0,     0,     0,     0,     0,
+       0,    94,     0,     0,     0,   101,   167,     0,     0,    91,
+     218,   219,     0,     0,   212,   209,     0,    43,     0,   221,
+       0,    44,     0,     0,   222,     0,   166,     0,   240,   241,
+       0,     0,   120,   243,   244,   242,     0,     0,   190,     0,
+       0,   166,   103,     0,   109,     0,   110,     0,   245,     0,
+       0,     0,     0,     0,     0,    93,    66,    27,     0,     0,
+       0,     0,     0,   168,   170,   172,   174,     0,   192,     0,
+       0,     0,     0,   212,   206,     0,   210,     0,     0,     0,
+       0,   123,   197,     0,     0,   147,   136,   122,   141,   124,
+     149,   118,   119,   186,   188,   226,     0,     0,   199,   214,
+       0,     0,   100,     0,   146,     0,    92,    19,     0,     0,
+       0,     0,    20,    21,    22,     0,     0,     0,    64,     0,
+      42,    56,   173,   181,     0,     0,     0,     0,     0,   229,
+     231,   232,   233,   234,   230,   235,   237,     0,     0,     0,
+       0,   223,     0,     0,     0,     0,   207,     0,   213,   205,
+      45,     0,    46,   127,     0,   137,   143,   133,   128,   129,
+     131,     0,     0,   140,     0,     0,   139,     0,   151,   200,
+       0,   201,     0,   102,   104,   246,     0,     0,     0,     0,
+       0,     0,     0,   227,     0,   225,     0,    63,    65,    68,
+      28,     0,     0,     0,    47,     0,     0,    49,    55,    57,
+      26,   180,   169,   171,   236,   238,     0,     0,     0,     0,
+     182,   179,     0,   178,    90,     0,     0,   211,     0,   204,
+       0,   142,   144,   134,   130,   132,     0,   148,     0,     0,
+     138,     0,     0,   153,   202,   215,     0,     0,     0,     0,
+      96,   251,   252,   250,   249,    97,    95,     0,    67,     0,
+      83,    84,    85,    86,    87,     0,     0,    70,    48,     0,
+      51,    50,     0,    54,     0,     0,   184,     0,     0,   177,
+     224,     0,   208,   203,     0,   125,   126,   150,   152,     0,
+     155,    61,     0,     0,    58,     0,     0,   228,     0,    24,
+      62,     0,     0,    23,     0,     0,     0,     0,   175,   183,
+       0,     0,     0,     0,   111,     0,    59,    98,    99,     0,
+      74,    76,    77,    78,     0,     0,     0,    52,     0,   176,
+     185,    89,   135,   154,   157,   160,   156,     0,    88,     0,
+      82,    80,     0,    79,     0,    72,    73,     0,    53,     0,
+     161,   162,   163,     0,    75,     0,    69,     0,   158,     0,
+     159,     0,    81,     0,   164,   165,     0,     0,    60,     0,
+      71
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -223,  -223,  -223,  -223,  -223,  -223,  -223,  -223,  -121,  -223,
-     321,   183,  -223,  -223,  -222,  -223,  -223,  -223,  -223,  -223,
-    -223,    68,    49,  -223,  -223,  -223,  -223,  -223,  -223,  -223,
-    -223,  -223,  -223,  -223,  -223,   285,  -223,  -223,  -223,   390,
-       9,  -223,  -223,  -223,   370,  -223,  -100,  -223,  -223,  -149,
-     160,  -143,    -9,  -223,  -223,  -223,  -223,  -223,  -223,    53,
-    -223,  -223,   107,  -223,  -120,   262,   268,   342,   -30,   372,
-     362,   403,  -123,  -223,  -223,  -223,   347,  -223,   394,   355,
-    -192,  -161,   127,  -107,  -223,  -223,  -223,  -223,  -223,  -115,
-      -4,   113,  -223,  -223
+    -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -102,  -216,
+     329,   185,  -216,  -216,  -215,  -216,  -216,  -216,  -216,  -216,
+    -216,    71,    60,  -216,  -216,  -216,  -216,  -216,  -216,  -216,
+    -216,  -216,  -216,  -216,  -216,   286,  -216,  -216,  -216,   397,
+      10,  -216,  -216,  -216,   369,  -216,   -97,  -216,  -216,  -138,
+     169,  -161,   -10,  -216,  -216,  -216,  -216,  -216,  -216,    59,
+    -216,  -216,   -91,  -216,  -121,   276,   280,   341,   -30,   377,
+     363,   417,  -123,  -216,  -216,  -216,   344,  -216,   396,   357,
+    -203,  -163,   147,  -108,  -216,  -216,  -216,  -216,  -216,  -115,
+      -4,   126,  -216,  -216
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    14,    15,    16,    17,    18,    19,    20,   165,   166,
-      88,   307,   308,   309,   220,   297,   298,   225,   366,   402,
-     446,   418,   419,   420,   421,   422,   363,   398,    21,    22,
-     163,   291,    23,    24,   149,   150,    25,    26,    43,    44,
-     211,    41,    89,    90,    91,   134,   191,   274,   269,   192,
-     193,   263,   264,   194,   276,   342,   389,   413,   432,   433,
-     451,   459,   114,   115,   171,   172,   173,   174,   175,    93,
-      94,    95,    96,    97,    98,   181,   182,   123,   124,   185,
-     207,    99,   250,   100,   293,   247,   101,   139,   144,   155,
-     102,   354,    28,    29
+      -1,    14,    15,    16,    17,    18,    19,    20,   167,   168,
+      88,   308,   309,   310,   222,   298,   299,   227,   367,   403,
+     447,   419,   420,   421,   422,   423,   364,   399,    21,    22,
+     165,   292,    23,    24,   151,   152,    25,    26,    43,    44,
+     132,    41,    89,    90,    91,   136,    92,   276,   271,   195,
+     196,   265,   266,   197,   278,   343,   390,   414,   433,   434,
+     452,   460,   115,   116,   173,   174,   175,   176,   177,    94,
+      95,    96,    97,    98,    99,   183,   184,   124,   125,   187,
+     210,   100,   252,   101,   294,   249,   102,   141,   146,   157,
+     103,   355,    28,    29
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -1015,206 +1017,226 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      33,   179,   178,    45,   296,   154,   176,    42,    46,    27,
-     195,    92,   278,   234,   176,    31,   249,    32,   439,    31,
-     234,    32,   147,   321,   234,    31,    55,    32,   136,   137,
-      57,    58,    59,    60,    61,    51,   183,   215,   234,   122,
-     440,   261,   313,   314,   315,   141,   142,   136,   137,    30,
-     232,   463,   271,   113,    37,   108,   183,   131,    34,   136,
-     137,   176,   208,   176,     1,    39,     2,   195,   464,   231,
-     118,    36,   136,   137,   236,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   109,   136,   137,   350,   140,   272,
-      35,    40,    38,     3,   121,    45,    47,   316,   322,   151,
-      46,   216,   156,   157,    54,    92,   299,   164,   167,     4,
-       5,   351,   352,   156,   180,     6,    10,   292,   206,   148,
-       7,   336,   252,   187,   217,   103,   377,   176,   176,   196,
-     310,   339,   189,   353,   199,   441,   246,   390,     8,   190,
-     233,   369,   399,   202,   327,   190,   319,   195,   386,   143,
-     253,   382,   218,   256,   167,   426,   221,   222,     9,   158,
-     159,   300,   273,   379,    10,   345,   214,   180,    52,   219,
-     289,    53,    50,   348,   206,    11,   148,   290,   176,   265,
-     282,    12,   406,    13,   106,   266,   196,    46,   444,   189,
-    -127,    46,   359,   267,   301,   360,   361,   265,    10,    31,
-      56,    32,   302,   266,   151,   104,   394,   136,   137,   284,
-     268,   267,   195,   395,   445,   317,   375,   320,   449,   249,
-     294,   387,   326,   167,    10,    31,   262,    32,   268,   329,
-     105,   391,   392,    31,   176,    32,   303,   116,   160,   161,
-     450,   197,   136,   137,    48,   304,    49,   117,   403,   305,
-     344,   396,   138,   331,   330,   376,   209,   107,    46,   405,
-     362,   176,   306,   212,   213,   110,   196,   136,   137,   111,
-      46,   136,   137,   226,   227,   113,    31,    62,    32,    63,
-     251,   213,   136,   137,   156,   373,   279,   280,   206,   112,
-     431,   323,   324,    64,    65,   203,   119,   381,   343,   280,
-     120,   371,   125,   176,   127,    67,    68,   355,   356,   126,
-     206,   128,   129,    69,    70,   357,   358,   393,   213,   130,
-      71,    72,    73,   408,   280,   132,   454,   204,    74,   414,
-     213,   196,   415,   213,    75,   429,   280,    76,   430,   324,
-     133,   462,   156,   156,   206,   465,   407,   153,    77,    78,
-     437,   438,   455,   438,   294,   162,    79,    80,   177,   236,
-     237,   238,   239,   240,   241,   242,   243,   244,   245,    81,
-     136,   137,   461,   213,   135,   428,    82,   466,   213,    83,
-      84,   434,   467,   213,   186,   188,   210,    85,    10,   223,
-     224,    86,   234,   423,   235,   257,    87,   205,   259,   248,
-     427,   258,   260,   275,   270,   277,   283,   285,   286,    31,
-      62,    32,    63,   287,   288,   168,   295,   328,   434,   442,
-     423,   246,   318,   325,   335,   332,    64,    65,   333,   334,
-     337,   338,   452,   340,   423,   341,   346,   156,    67,    68,
-     347,   349,   147,   364,   365,   367,    69,    70,   368,   370,
-     378,   374,   156,    71,    72,    73,   156,   388,   400,   384,
-     385,    74,   401,   280,   380,   397,   169,    75,   404,   410,
-      76,   411,   412,   416,   424,   425,   435,   447,   436,   448,
-     456,    77,    78,   458,   468,   460,   469,   453,   229,    79,
-      80,   372,   443,   281,   152,   383,   311,    31,    62,    32,
-      63,   457,    81,   312,   146,   198,   201,   409,   417,    82,
-     230,   200,    83,    84,    64,    65,    66,   184,     0,     0,
-      85,     0,     0,     0,    86,     0,    67,    68,   254,   170,
-      31,    62,    32,    63,    69,    70,   255,     0,     0,     0,
-       0,    71,    72,    73,     0,     0,     0,    64,    65,    74,
-       0,     0,     0,     0,     0,    75,     0,     0,    76,    67,
-      68,     0,     0,     0,     0,     0,     0,    69,    70,    77,
-      78,     0,     0,     0,    71,    72,    73,    79,    80,     0,
-       0,     0,    74,     0,     0,     0,     0,     0,    75,     0,
-      81,    76,     0,     0,     0,     0,     0,    82,     0,     0,
-      83,    84,    77,    78,     0,     0,     0,     0,    85,     0,
-      79,    80,    86,     0,     0,     0,     0,    87,    31,    62,
-      32,    63,     0,    81,     0,     0,     0,     0,     0,     0,
-      82,     0,     0,    83,    84,    64,    65,     0,     0,     0,
-       0,    85,   121,     0,     0,    86,     0,    67,    68,     0,
-      87,    31,    62,    32,    63,    69,    70,     0,     0,     0,
-       0,     0,    71,    72,    73,     0,     0,     0,    64,    65,
-      74,     0,     0,     0,     0,   169,    75,     0,     0,    76,
-      67,    68,     0,     0,     0,     0,     0,     0,    69,    70,
-      77,    78,     0,     0,     0,    71,    72,    73,    79,    80,
-       0,     0,     0,    74,     0,     0,     0,     0,     0,    75,
-       0,    81,    76,     0,     0,     0,     0,     0,    82,     0,
-       0,    83,    84,    77,    78,     0,     0,     0,     0,    85,
-       0,    79,    80,    86,     0,     0,     0,     0,   170,    31,
-      62,    32,    63,     0,    81,     0,     0,     0,    10,     0,
-       0,    82,     0,     0,    83,    84,    64,    65,     0,     0,
-       0,     0,    85,     0,     0,     0,    86,     0,    67,    68,
-       0,    87,    31,    62,    32,    63,    69,    70,     0,     0,
-       0,     0,     0,    71,    72,    73,     0,     0,     0,    64,
-     145,    74,     0,     0,     0,     0,     0,    75,     0,     0,
-      76,    67,    68,     0,     0,     0,     0,     0,     0,    69,
-      70,    77,    78,     0,     0,     0,    71,    72,    73,    79,
-      80,     0,     0,     0,    74,     0,     0,     0,     0,     0,
-      75,     0,    81,    76,     0,     0,     0,     0,     0,    82,
-       0,     0,    83,    84,    77,    78,     0,     0,     0,     0,
-      85,     0,    79,    80,    86,     0,     0,     0,     0,    87,
-       0,    62,     0,    63,     0,    81,     0,     0,     0,     0,
-       0,     0,    82,     0,     0,    83,    84,    64,   145,     0,
-       0,     0,     0,    85,    67,    68,     0,    86,     0,    67,
-      68,     0,    87,    70,     0,     0,     0,     0,    70,    71,
-      72,    73,     0,     0,    71,    72,    73,    74,     0,     0,
-       0,     0,    74,     0,     0,     0,    76,     0,     0,     0,
-       0,    76,     0,     0,     0,     0,     0,    77,   228,     0,
-       0,     0,    77,    78,     0,    79,     0,     0,     0,     0,
-      79,    80,     0,     0,     0,     0,     0,     0,    81,     0,
-       0,     0,     0,    81,     0,    82,     0,     0,    83,    84,
-      82,     0,     0,    83,    84,     0,    85,     0,     0,     0,
-      86,    85,     0,     0,     0,    86
+      33,   181,    45,   180,   280,   236,   178,    42,    46,   156,
+      27,    93,   198,   297,   178,    31,   251,    32,   440,    31,
+     236,    32,   143,   144,   274,   236,    55,   236,   138,   139,
+      57,    58,    59,    60,    61,   322,    51,   273,   194,   123,
+     441,   185,   138,   139,    31,   200,    32,   185,   138,   139,
+     149,   234,   138,   139,    34,   263,   445,   133,   217,    30,
+     212,    39,   178,   450,   178,   109,   351,    50,   138,   139,
+     198,   119,   160,   161,   233,   314,   315,   316,    37,    31,
+     360,    32,   446,   361,   362,   451,    35,    40,    47,   142,
+     352,   353,   301,    10,   110,    45,   194,   275,    38,   122,
+     153,    46,   464,   158,   159,   182,   264,    93,   166,   169,
+     323,   150,   354,    36,   158,   340,   378,    54,   293,   465,
+     209,    56,   311,   254,   189,   302,   145,   300,   178,   178,
+     317,   199,   192,   303,   337,   442,   202,   391,   387,   193,
+     370,    10,   235,   182,   427,   205,   383,   150,   363,   198,
+     400,   320,   255,   328,   104,   258,   169,   267,   223,   224,
+     105,   218,   380,   268,   193,   346,   106,   304,    31,   216,
+      32,   269,   407,   114,   349,   194,   305,   209,   178,    31,
+     306,    32,   211,   284,   219,   138,   139,    10,   270,   199,
+      46,   107,   267,   307,    46,   140,   377,   290,   268,     1,
+     117,     2,   111,  -127,   291,   112,   269,   153,   138,   139,
+     118,   285,   220,   198,   331,   162,   163,   318,   251,   321,
+     376,   388,   295,   270,   327,   169,   214,   215,     3,   221,
+     406,   330,   392,   393,   178,    52,   228,   229,    53,   194,
+     138,   139,   138,   139,     4,     5,   395,    48,   404,    49,
+       6,   397,   345,   396,   332,     7,   253,   215,   281,   282,
+      46,   178,   324,   325,   344,   282,   356,   357,   199,   108,
+     358,   359,    46,     8,   394,   215,   113,    31,    62,    32,
+      63,   409,   282,   415,   215,   158,   374,   416,   215,   209,
+     432,   430,   282,     9,    64,    65,   206,   114,   382,    10,
+     120,   121,   372,   178,   431,   325,    67,    68,   438,   439,
+      11,   209,   126,   127,    69,    70,    12,   129,    13,   456,
+     439,    71,    72,    73,   462,   215,   128,   455,   207,    74,
+     467,   215,   199,   468,   215,    75,   130,   131,    76,   134,
+     137,   135,   463,   158,   158,   209,   466,   408,   155,    77,
+      78,   164,   179,   188,   190,   295,   191,    79,    80,   213,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+      81,   138,   139,    10,   225,   226,   429,    82,   236,   250,
+      83,    84,   435,   237,   259,   261,   260,   262,    85,   272,
+     277,   279,    86,   286,   424,   287,   288,    87,   208,   289,
+     296,   428,   319,   326,   329,   336,   338,   333,   339,   334,
+      31,    62,    32,    63,   335,   341,   170,   350,   149,   435,
+     443,   424,   248,   342,   347,   348,   366,    64,    65,   365,
+     369,   371,   385,   453,   368,   424,   386,   375,   158,    67,
+      68,   379,   389,    31,    62,    32,    63,    69,    70,   170,
+     401,   381,   398,   158,    71,    72,    73,   158,   402,   405,
+      64,    65,    74,   282,   411,   412,   413,   171,    75,   417,
+     426,    76,    67,    68,   436,   192,   437,   469,   425,   457,
+      69,    70,    77,    78,   449,   448,   459,    71,    72,    73,
+      79,    80,   461,   470,   373,    74,   444,   283,   231,   454,
+     171,    75,   154,    81,    76,   384,   201,    10,   458,   204,
+      82,   232,   312,    83,    84,    77,    78,   313,   203,   148,
+     186,    85,   418,    79,    80,    86,     0,   256,   410,     0,
+     172,    31,    62,    32,    63,     0,    81,     0,     0,     0,
+     257,     0,     0,    82,     0,     0,    83,    84,    64,    65,
+      66,     0,     0,     0,    85,     0,     0,     0,    86,     0,
+      67,    68,     0,   172,    31,    62,    32,    63,    69,    70,
+       0,     0,     0,     0,     0,    71,    72,    73,     0,     0,
+       0,    64,    65,    74,     0,     0,     0,     0,     0,    75,
+       0,     0,    76,    67,    68,     0,     0,     0,     0,     0,
+       0,    69,    70,    77,    78,     0,     0,     0,    71,    72,
+      73,    79,    80,     0,     0,     0,    74,     0,     0,     0,
+       0,     0,    75,     0,    81,    76,     0,     0,     0,     0,
+       0,    82,     0,     0,    83,    84,    77,    78,     0,     0,
+       0,     0,    85,     0,    79,    80,    86,     0,     0,     0,
+       0,    87,    31,    62,    32,    63,     0,    81,     0,     0,
+       0,     0,     0,     0,    82,     0,     0,    83,    84,    64,
+      65,     0,     0,     0,     0,    85,   122,     0,     0,    86,
+       0,    67,    68,     0,    87,    31,    62,    32,    63,    69,
+      70,     0,     0,     0,     0,     0,    71,    72,    73,     0,
+       0,     0,    64,    65,    74,     0,     0,     0,     0,     0,
+      75,     0,     0,    76,    67,    68,     0,     0,     0,     0,
+       0,     0,    69,    70,    77,    78,     0,     0,     0,    71,
+      72,    73,    79,    80,     0,     0,     0,    74,     0,     0,
+       0,     0,   171,    75,     0,    81,    76,     0,     0,    10,
+       0,     0,    82,     0,     0,    83,    84,    77,    78,     0,
+       0,     0,     0,    85,     0,    79,    80,    86,     0,     0,
+       0,     0,    87,    31,    62,    32,    63,     0,    81,     0,
+       0,     0,     0,     0,     0,    82,     0,     0,    83,    84,
+      64,   147,     0,     0,     0,     0,    85,     0,     0,     0,
+      86,     0,    67,    68,     0,   172,    31,    62,    32,    63,
+      69,    70,     0,     0,     0,     0,     0,    71,    72,    73,
+       0,     0,     0,    64,    65,    74,     0,     0,     0,     0,
+       0,    75,     0,     0,    76,    67,    68,     0,     0,     0,
+       0,     0,     0,    69,    70,    77,    78,     0,     0,     0,
+      71,    72,    73,    79,    80,     0,     0,     0,    74,     0,
+       0,     0,     0,     0,    75,     0,    81,    76,     0,     0,
+       0,     0,     0,    82,     0,     0,    83,    84,    77,    78,
+       0,     0,     0,     0,    85,     0,    79,    80,    86,     0,
+       0,     0,     0,    87,     0,    62,     0,    63,     0,    81,
+       0,     0,     0,     0,     0,     0,    82,     0,     0,    83,
+      84,    64,   147,     0,     0,     0,     0,    85,    67,    68,
+       0,    86,     0,    67,    68,     0,    87,    70,     0,     0,
+       0,     0,    70,    71,    72,    73,     0,     0,    71,    72,
+      73,    74,     0,     0,     0,     0,    74,     0,     0,     0,
+      76,     0,     0,     0,     0,    76,     0,     0,     0,     0,
+       0,    77,   230,     0,     0,     0,    77,    78,     0,    79,
+       0,     0,     0,     0,    79,    80,     0,     0,     0,     0,
+       0,     0,    81,     0,     0,     0,     0,    81,     0,    82,
+       0,     0,    83,    84,    82,     0,     0,    83,    84,     0,
+      85,     0,     0,     0,    86,    85,     0,     0,     0,    86,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+       0,   138,   139,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   248
 };
 
 static const yytype_int16 yycheck[] =
 {
-       4,   121,   117,    12,   226,   105,   113,    11,    12,     0,
-     133,    41,   204,     8,   121,     4,   177,     6,     7,     4,
-       8,     6,    27,    10,     8,     4,    30,     6,    21,    22,
-      34,    35,    36,    37,    38,    26,    58,   158,     8,    69,
-      29,   190,    17,    18,    19,    23,    24,    21,    22,   105,
-     170,    64,   195,   117,   105,    28,    58,    87,    73,    21,
-      22,   168,   126,   170,     1,    29,     3,   190,    81,   169,
-      61,    67,    21,    22,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    57,    21,    22,    63,    92,    37,
-     105,    55,    78,    30,   116,   104,     0,    72,    85,   103,
-     104,    43,   106,   107,     3,   135,   227,   111,   112,    46,
-      47,    87,    88,   117,   116,    52,   101,   224,   148,   124,
-      57,   270,   106,   127,    66,   102,   318,   234,   235,   133,
-     125,   274,   125,   109,   138,   124,    72,   125,    75,   124,
-     170,   302,   364,   147,   106,   124,   246,   270,   340,   127,
-     180,   125,    94,   183,   158,   125,   160,   161,    95,    44,
-      45,    10,   110,   324,   101,   285,   157,   116,   120,   111,
-      53,   123,    75,   288,   204,   112,   124,    60,   285,    68,
-     210,   118,   374,   120,   124,    74,   190,   191,    70,   125,
-      79,   195,    35,    82,    43,    38,    39,    68,   101,     4,
-      67,     6,    51,    74,   208,   126,    53,    21,    22,   213,
-      99,    82,   335,    60,    96,   245,   316,   247,    32,   380,
-     224,   341,   252,   227,   101,     4,    31,     6,    99,   259,
-      31,   346,   347,     4,   341,     6,    85,   114,    44,    45,
-      54,   134,    21,    22,   120,    94,   122,   124,   368,    98,
-     280,   358,    31,   262,   125,     9,   149,    78,   262,     9,
-     103,   368,   111,   125,   126,     5,   270,    21,    22,    88,
-     274,    21,    22,   125,   126,   117,     4,     5,     6,     7,
-     125,   126,    21,    22,   288,   315,   125,   126,   318,   124,
-     410,   125,   126,    21,    22,    23,     7,   327,   125,   126,
-       7,   305,   124,   410,   124,    33,    34,   125,   126,    77,
-     340,     5,   124,    41,    42,   125,   126,   125,   126,    77,
-      48,    49,    50,   125,   126,     5,   441,    55,    56,   125,
-     126,   335,   125,   126,    62,   125,   126,    65,   125,   126,
-      67,   456,   346,   347,   374,   460,   376,   124,    76,    77,
-     125,   126,   125,   126,   358,   118,    84,    85,   124,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    97,
-      21,    22,   125,   126,   126,   405,   104,   125,   126,   107,
-     108,   411,   125,   126,     7,     7,    11,   115,   101,   124,
-     124,   119,     8,   397,     9,    59,   124,   125,    67,    20,
-     404,   125,   125,    69,   126,   125,   125,   124,    80,     4,
-       5,     6,     7,    80,   124,    10,   113,    59,   448,   423,
-     424,    72,   124,   114,    79,    90,    21,    22,    90,    90,
-       7,     7,   436,    40,   438,    71,   124,   441,    33,    34,
-     124,     5,    27,   126,   118,    85,    41,    42,   124,    80,
-      85,   124,   456,    48,    49,    50,   460,    89,    36,    93,
-      93,    56,    91,   126,   124,   124,    61,    62,   124,    88,
-      65,    40,    83,     5,   124,    40,     7,   125,    98,   126,
-     124,    76,    77,    86,    92,   124,     7,   438,   167,    84,
-      85,   308,   424,   208,   104,   335,   234,     4,     5,     6,
-       7,   448,    97,   235,   101,   135,   144,   380,   395,   104,
-     168,   139,   107,   108,    21,    22,    23,   123,    -1,    -1,
-     115,    -1,    -1,    -1,   119,    -1,    33,    34,   181,   124,
-       4,     5,     6,     7,    41,    42,   181,    -1,    -1,    -1,
-      -1,    48,    49,    50,    -1,    -1,    -1,    21,    22,    56,
-      -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    33,
-      34,    -1,    -1,    -1,    -1,    -1,    -1,    41,    42,    76,
-      77,    -1,    -1,    -1,    48,    49,    50,    84,    85,    -1,
-      -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,
-      97,    65,    -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,
-     107,   108,    76,    77,    -1,    -1,    -1,    -1,   115,    -1,
-      84,    85,   119,    -1,    -1,    -1,    -1,   124,     4,     5,
-       6,     7,    -1,    97,    -1,    -1,    -1,    -1,    -1,    -1,
-     104,    -1,    -1,   107,   108,    21,    22,    -1,    -1,    -1,
-      -1,   115,   116,    -1,    -1,   119,    -1,    33,    34,    -1,
-     124,     4,     5,     6,     7,    41,    42,    -1,    -1,    -1,
-      -1,    -1,    48,    49,    50,    -1,    -1,    -1,    21,    22,
-      56,    -1,    -1,    -1,    -1,    61,    62,    -1,    -1,    65,
-      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    41,    42,
-      76,    77,    -1,    -1,    -1,    48,    49,    50,    84,    85,
-      -1,    -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,
-      -1,    97,    65,    -1,    -1,    -1,    -1,    -1,   104,    -1,
-      -1,   107,   108,    76,    77,    -1,    -1,    -1,    -1,   115,
-      -1,    84,    85,   119,    -1,    -1,    -1,    -1,   124,     4,
-       5,     6,     7,    -1,    97,    -1,    -1,    -1,   101,    -1,
-      -1,   104,    -1,    -1,   107,   108,    21,    22,    -1,    -1,
-      -1,    -1,   115,    -1,    -1,    -1,   119,    -1,    33,    34,
-      -1,   124,     4,     5,     6,     7,    41,    42,    -1,    -1,
-      -1,    -1,    -1,    48,    49,    50,    -1,    -1,    -1,    21,
-      22,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
-      65,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    41,
-      42,    76,    77,    -1,    -1,    -1,    48,    49,    50,    84,
-      85,    -1,    -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,
-      62,    -1,    97,    65,    -1,    -1,    -1,    -1,    -1,   104,
-      -1,    -1,   107,   108,    76,    77,    -1,    -1,    -1,    -1,
-     115,    -1,    84,    85,   119,    -1,    -1,    -1,    -1,   124,
-      -1,     5,    -1,     7,    -1,    97,    -1,    -1,    -1,    -1,
-      -1,    -1,   104,    -1,    -1,   107,   108,    21,    22,    -1,
-      -1,    -1,    -1,   115,    33,    34,    -1,   119,    -1,    33,
-      34,    -1,   124,    42,    -1,    -1,    -1,    -1,    42,    48,
-      49,    50,    -1,    -1,    48,    49,    50,    56,    -1,    -1,
-      -1,    -1,    56,    -1,    -1,    -1,    65,    -1,    -1,    -1,
-      -1,    65,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,
-      -1,    -1,    76,    77,    -1,    84,    -1,    -1,    -1,    -1,
-      84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,
-      -1,    -1,    -1,    97,    -1,   104,    -1,    -1,   107,   108,
-     104,    -1,    -1,   107,   108,    -1,   115,    -1,    -1,    -1,
-     119,   115,    -1,    -1,    -1,   119
+       4,   122,    12,   118,   207,     8,   114,    11,    12,   106,
+       0,    41,   135,   228,   122,     4,   179,     6,     7,     4,
+       8,     6,    23,    24,    37,     8,    30,     8,    21,    22,
+      34,    35,    36,    37,    38,    10,    26,   198,   135,    69,
+      29,    58,    21,    22,     4,   136,     6,    58,    21,    22,
+      27,   172,    21,    22,    73,   193,    70,    87,   160,   105,
+     151,    29,   170,    32,   172,    28,    63,    75,    21,    22,
+     193,    61,    44,    45,   171,    17,    18,    19,   105,     4,
+      35,     6,    96,    38,    39,    54,   105,    55,     0,    93,
+      87,    88,    10,   101,    57,   105,   193,   110,    78,   116,
+     104,   105,    64,   107,   108,   116,    31,   137,   112,   113,
+      85,   124,   109,    67,   118,   276,   319,     3,   226,    81,
+     150,    67,   125,   106,   128,    43,   127,   229,   236,   237,
+      72,   135,   125,    51,   272,   124,   140,   125,   341,   124,
+     303,   101,   172,   116,   125,   149,   125,   124,   103,   272,
+     365,   248,   182,   106,   102,   185,   160,    68,   162,   163,
+     126,    43,   325,    74,   124,   286,    31,    85,     4,   159,
+       6,    82,   375,   117,   289,   272,    94,   207,   286,     4,
+      98,     6,   126,   213,    66,    21,    22,   101,    99,   193,
+     194,   124,    68,   111,   198,    31,     9,    53,    74,     1,
+     114,     3,     5,    79,    60,    88,    82,   211,    21,    22,
+     124,   215,    94,   336,   125,    44,    45,   247,   381,   249,
+     317,   342,   226,    99,   254,   229,   125,   126,    30,   111,
+       9,   261,   347,   348,   342,   120,   125,   126,   123,   336,
+      21,    22,    21,    22,    46,    47,    53,   120,   369,   122,
+      52,   359,   282,    60,   264,    57,   125,   126,   125,   126,
+     264,   369,   125,   126,   125,   126,   125,   126,   272,    78,
+     125,   126,   276,    75,   125,   126,   124,     4,     5,     6,
+       7,   125,   126,   125,   126,   289,   316,   125,   126,   319,
+     411,   125,   126,    95,    21,    22,    23,   117,   328,   101,
+       7,     7,   306,   411,   125,   126,    33,    34,   125,   126,
+     112,   341,   124,    77,    41,    42,   118,     5,   120,   125,
+     126,    48,    49,    50,   125,   126,   124,   442,    55,    56,
+     125,   126,   336,   125,   126,    62,   124,    77,    65,     5,
+     126,    67,   457,   347,   348,   375,   461,   377,   124,    76,
+      77,   118,   124,     7,     7,   359,   125,    84,    85,    11,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      97,    21,    22,   101,   124,   124,   406,   104,     8,    20,
+     107,   108,   412,     9,    59,    67,   125,   125,   115,   126,
+      69,   125,   119,   124,   398,    80,    80,   124,   125,   124,
+     113,   405,   124,   114,    59,    79,     7,    90,     7,    90,
+       4,     5,     6,     7,    90,    40,    10,     5,    27,   449,
+     424,   425,    72,    71,   124,   124,   118,    21,    22,   126,
+     124,    80,    93,   437,    85,   439,    93,   124,   442,    33,
+      34,    85,    89,     4,     5,     6,     7,    41,    42,    10,
+      36,   124,   124,   457,    48,    49,    50,   461,    91,   124,
+      21,    22,    56,   126,    88,    40,    83,    61,    62,     5,
+      40,    65,    33,    34,     7,   125,    98,    92,   124,   124,
+      41,    42,    76,    77,   126,   125,    86,    48,    49,    50,
+      84,    85,   124,     7,   309,    56,   425,   211,   169,   439,
+      61,    62,   105,    97,    65,   336,   137,   101,   449,   146,
+     104,   170,   236,   107,   108,    76,    77,   237,   141,   102,
+     124,   115,   396,    84,    85,   119,    -1,   183,   381,    -1,
+     124,     4,     5,     6,     7,    -1,    97,    -1,    -1,    -1,
+     183,    -1,    -1,   104,    -1,    -1,   107,   108,    21,    22,
+      23,    -1,    -1,    -1,   115,    -1,    -1,    -1,   119,    -1,
+      33,    34,    -1,   124,     4,     5,     6,     7,    41,    42,
+      -1,    -1,    -1,    -1,    -1,    48,    49,    50,    -1,    -1,
+      -1,    21,    22,    56,    -1,    -1,    -1,    -1,    -1,    62,
+      -1,    -1,    65,    33,    34,    -1,    -1,    -1,    -1,    -1,
+      -1,    41,    42,    76,    77,    -1,    -1,    -1,    48,    49,
+      50,    84,    85,    -1,    -1,    -1,    56,    -1,    -1,    -1,
+      -1,    -1,    62,    -1,    97,    65,    -1,    -1,    -1,    -1,
+      -1,   104,    -1,    -1,   107,   108,    76,    77,    -1,    -1,
+      -1,    -1,   115,    -1,    84,    85,   119,    -1,    -1,    -1,
+      -1,   124,     4,     5,     6,     7,    -1,    97,    -1,    -1,
+      -1,    -1,    -1,    -1,   104,    -1,    -1,   107,   108,    21,
+      22,    -1,    -1,    -1,    -1,   115,   116,    -1,    -1,   119,
+      -1,    33,    34,    -1,   124,     4,     5,     6,     7,    41,
+      42,    -1,    -1,    -1,    -1,    -1,    48,    49,    50,    -1,
+      -1,    -1,    21,    22,    56,    -1,    -1,    -1,    -1,    -1,
+      62,    -1,    -1,    65,    33,    34,    -1,    -1,    -1,    -1,
+      -1,    -1,    41,    42,    76,    77,    -1,    -1,    -1,    48,
+      49,    50,    84,    85,    -1,    -1,    -1,    56,    -1,    -1,
+      -1,    -1,    61,    62,    -1,    97,    65,    -1,    -1,   101,
+      -1,    -1,   104,    -1,    -1,   107,   108,    76,    77,    -1,
+      -1,    -1,    -1,   115,    -1,    84,    85,   119,    -1,    -1,
+      -1,    -1,   124,     4,     5,     6,     7,    -1,    97,    -1,
+      -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,   107,   108,
+      21,    22,    -1,    -1,    -1,    -1,   115,    -1,    -1,    -1,
+     119,    -1,    33,    34,    -1,   124,     4,     5,     6,     7,
+      41,    42,    -1,    -1,    -1,    -1,    -1,    48,    49,    50,
+      -1,    -1,    -1,    21,    22,    56,    -1,    -1,    -1,    -1,
+      -1,    62,    -1,    -1,    65,    33,    34,    -1,    -1,    -1,
+      -1,    -1,    -1,    41,    42,    76,    77,    -1,    -1,    -1,
+      48,    49,    50,    84,    85,    -1,    -1,    -1,    56,    -1,
+      -1,    -1,    -1,    -1,    62,    -1,    97,    65,    -1,    -1,
+      -1,    -1,    -1,   104,    -1,    -1,   107,   108,    76,    77,
+      -1,    -1,    -1,    -1,   115,    -1,    84,    85,   119,    -1,
+      -1,    -1,    -1,   124,    -1,     5,    -1,     7,    -1,    97,
+      -1,    -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,   107,
+     108,    21,    22,    -1,    -1,    -1,    -1,   115,    33,    34,
+      -1,   119,    -1,    33,    34,    -1,   124,    42,    -1,    -1,
+      -1,    -1,    42,    48,    49,    50,    -1,    -1,    48,    49,
+      50,    56,    -1,    -1,    -1,    -1,    56,    -1,    -1,    -1,
+      65,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
+      -1,    76,    77,    -1,    -1,    -1,    76,    77,    -1,    84,
+      -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,
+      -1,    -1,    97,    -1,    -1,    -1,    -1,    97,    -1,   104,
+      -1,    -1,   107,   108,   104,    -1,    -1,   107,   108,    -1,
+     115,    -1,    -1,    -1,   119,   115,    -1,    -1,    -1,   119,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      -1,    21,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    72
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1230,44 +1252,45 @@ static const yytype_uint8 yystos[] =
      218,   218,     5,     7,    21,    22,    23,    33,    34,    41,
       42,    48,    49,    50,    56,    62,    65,    76,    77,    84,
       85,    97,   104,   107,   108,   115,   119,   124,   138,   170,
-     171,   172,   196,   197,   198,   199,   200,   201,   202,   209,
-     211,   214,   218,   102,   126,    31,   124,    78,    28,    57,
-       5,    88,   124,   117,   190,   191,   114,   124,   168,     7,
-       7,   116,   196,   205,   206,   124,    77,   124,     5,   124,
-      77,   196,     5,    67,   173,   126,    21,    22,    31,   215,
-     218,    23,    24,   127,   216,    22,   199,    27,   124,   162,
-     163,   218,   167,   124,   174,   217,   218,   218,    44,    45,
-      44,    45,   118,   158,   218,   136,   137,   218,    10,    61,
-     124,   192,   193,   194,   195,   196,   211,   124,   217,   192,
-     116,   203,   204,    58,   206,   207,     7,   218,     7,   125,
-     124,   174,   177,   178,   181,   200,   218,   190,   172,   218,
-     197,   198,   218,    23,    55,   125,   196,   208,   126,   190,
-      11,   168,   125,   126,   168,   136,    43,    66,    94,   111,
-     142,   218,   218,   124,   124,   145,   125,   126,    77,   138,
-     195,   174,   192,   196,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    72,   213,    20,   209,
-     210,   125,   106,   196,   204,   207,   196,    59,   125,    67,
-     125,   177,    31,   179,   180,    68,    74,    82,    99,   176,
-     126,   179,    37,   110,   175,    69,   182,   125,   208,   125,
-     126,   163,   196,   125,   218,   124,    80,    80,   124,    53,
-      60,   159,   211,   212,   218,   113,   142,   143,   144,   136,
-      10,    43,    51,    85,    94,    98,   111,   139,   140,   141,
-     125,   193,   194,    17,    18,    19,    72,   196,   124,   174,
-     196,    10,    85,   125,   126,   114,   196,   106,    59,   196,
-     125,   180,    90,    90,    90,    79,   177,     7,     7,   179,
-      40,    71,   183,   125,   196,   192,   124,   124,   217,     5,
-      63,    87,    88,   109,   219,   125,   126,   125,   126,    35,
-      38,    39,   103,   154,   126,   118,   146,    85,   124,   209,
-      80,   218,   139,   196,   124,   174,     9,   208,    85,   209,
-     124,   196,   125,   178,    93,    93,   208,   192,    89,   184,
-     125,   217,   217,   125,    53,    60,   211,   124,   155,   142,
-      36,    91,   147,   192,   124,     9,   208,   196,   125,   210,
-      88,    40,    83,   185,   125,   125,     5,   219,   149,   150,
-     151,   152,   153,   218,   124,    40,   125,   218,   196,   125,
-     125,   192,   186,   187,   196,     7,    98,   125,   126,     7,
-      29,   124,   218,   149,    70,    96,   148,   125,   126,    32,
-      54,   188,   218,   150,   217,   125,   124,   187,    86,   189,
-     124,   125,   217,    64,    81,   217,   125,   125,    92,     7
+     171,   172,   174,   196,   197,   198,   199,   200,   201,   202,
+     209,   211,   214,   218,   102,   126,    31,   124,    78,    28,
+      57,     5,    88,   124,   117,   190,   191,   114,   124,   168,
+       7,     7,   116,   196,   205,   206,   124,    77,   124,     5,
+     124,    77,   168,   196,     5,    67,   173,   126,    21,    22,
+      31,   215,   218,    23,    24,   127,   216,    22,   199,    27,
+     124,   162,   163,   218,   167,   124,   174,   217,   218,   218,
+      44,    45,    44,    45,   118,   158,   218,   136,   137,   218,
+      10,    61,   124,   192,   193,   194,   195,   196,   211,   124,
+     217,   192,   116,   203,   204,    58,   206,   207,     7,   218,
+       7,   125,   125,   124,   174,   177,   178,   181,   200,   218,
+     190,   172,   218,   197,   198,   218,    23,    55,   125,   196,
+     208,   126,   190,    11,   125,   126,   168,   136,    43,    66,
+      94,   111,   142,   218,   218,   124,   124,   145,   125,   126,
+      77,   138,   195,   174,   192,   196,     8,     9,    10,    11,
+      12,    13,    14,    15,    16,    17,    18,    19,    72,   213,
+      20,   209,   210,   125,   106,   196,   204,   207,   196,    59,
+     125,    67,   125,   177,    31,   179,   180,    68,    74,    82,
+      99,   176,   126,   179,    37,   110,   175,    69,   182,   125,
+     208,   125,   126,   163,   196,   218,   124,    80,    80,   124,
+      53,    60,   159,   211,   212,   218,   113,   142,   143,   144,
+     136,    10,    43,    51,    85,    94,    98,   111,   139,   140,
+     141,   125,   193,   194,    17,    18,    19,    72,   196,   124,
+     174,   196,    10,    85,   125,   126,   114,   196,   106,    59,
+     196,   125,   180,    90,    90,    90,    79,   177,     7,     7,
+     179,    40,    71,   183,   125,   196,   192,   124,   124,   217,
+       5,    63,    87,    88,   109,   219,   125,   126,   125,   126,
+      35,    38,    39,   103,   154,   126,   118,   146,    85,   124,
+     209,    80,   218,   139,   196,   124,   174,     9,   208,    85,
+     209,   124,   196,   125,   178,    93,    93,   208,   192,    89,
+     184,   125,   217,   217,   125,    53,    60,   211,   124,   155,
+     142,    36,    91,   147,   192,   124,     9,   208,   196,   125,
+     210,    88,    40,    83,   185,   125,   125,     5,   219,   149,
+     150,   151,   152,   153,   218,   124,    40,   125,   218,   196,
+     125,   125,   192,   186,   187,   196,     7,    98,   125,   126,
+       7,    29,   124,   218,   149,    70,    96,   148,   125,   126,
+      32,    54,   188,   218,   150,   217,   125,   124,   187,    86,
+     189,   124,   125,   217,    64,    81,   217,   125,   125,    92,
+       7
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
@@ -1292,13 +1315,13 @@ static const yytype_uint8 yyr1[] =
      188,   188,   188,   189,   189,   189,   190,   190,   191,   192,
      192,   193,   193,   194,   194,   195,   195,   195,   195,   195,
      195,   195,   195,   195,   195,   195,   196,   196,   197,   197,
-     198,   198,   199,   199,   199,   199,   199,   199,   200,   200,
-     200,   200,   201,   202,   202,   203,   203,   204,   205,   205,
-     206,   207,   207,   208,   208,   209,   209,   209,   209,   209,
-     209,   209,   210,   210,   211,   211,   212,   212,   213,   213,
-     213,   213,   213,   213,   213,   213,   213,   213,   214,   215,
-     215,   216,   216,   216,   217,   217,   218,   218,   219,   219,
-     219,   219,   220,   221,   221
+     198,   198,   199,   199,   199,   199,   199,   199,   199,   200,
+     200,   200,   200,   201,   202,   202,   203,   203,   204,   205,
+     205,   206,   207,   207,   208,   208,   209,   209,   209,   209,
+     209,   209,   209,   210,   210,   211,   211,   212,   212,   213,
+     213,   213,   213,   213,   213,   213,   213,   213,   213,   214,
+     215,   215,   216,   216,   216,   217,   217,   218,   218,   219,
+     219,   219,   219,   220,   221,   221
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -1323,13 +1346,13 @@ static const yytype_uint8 yyr2[] =
        0,     1,     1,     0,     2,     2,     0,     1,     2,     3,
        1,     3,     1,     2,     1,     5,     6,     4,     3,     3,
        3,     2,     3,     5,     4,     6,     3,     1,     3,     1,
-       2,     1,     1,     1,     1,     1,     1,     3,     3,     4,
-       4,     5,     6,     5,     4,     1,     2,     4,     1,     2,
-       4,     0,     2,     1,     3,     1,     1,     2,     2,     1,
-       2,     2,     1,     3,     1,     3,     1,     3,     1,     1,
-       1,     1,     1,     1,     1,     2,     1,     2,     1,     1,
-       1,     1,     1,     1,     1,     3,     1,     1,     1,     1,
-       1,     1,     2,     2,     0
+       2,     1,     1,     1,     1,     1,     1,     3,     1,     3,
+       4,     4,     5,     6,     5,     4,     1,     2,     4,     1,
+       2,     4,     0,     2,     1,     3,     1,     1,     2,     2,
+       1,     2,     2,     1,     3,     1,     3,     1,     3,     1,
+       1,     1,     1,     1,     1,     1,     2,     1,     2,     1,
+       1,     1,     1,     1,     1,     1,     3,     1,     1,     1,
+       1,     1,     1,     2,     2,     0
 };
 
 
@@ -1832,7 +1855,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 1836 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1859 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 4: /* TOKEN_NAME  */
@@ -1842,7 +1865,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 1846 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1869 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 5: /* TOKEN_STRING_SINGLE_QUOTED  */
@@ -1852,7 +1875,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 1856 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1879 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 6: /* TOKEN_STRING_DOUBLE_QUOTED  */
@@ -1862,7 +1885,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 1866 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1889 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 7: /* TOKEN_UNSIGNED_NUMVAL  */
@@ -1872,7 +1895,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).numeric_literal_value_);
   }
 }
-#line 1876 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1899 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 130: /* sql_statement  */
@@ -1882,7 +1905,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).statement_);
   }
 }
-#line 1886 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1909 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 131: /* quit_statement  */
@@ -1892,7 +1915,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).quit_statement_);
   }
 }
-#line 1896 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1919 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 132: /* alter_table_statement  */
@@ -1902,7 +1925,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).statement_);
   }
 }
-#line 1906 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1929 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 133: /* create_table_statement  */
@@ -1912,7 +1935,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).create_table_statement_);
   }
 }
-#line 1916 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1939 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 134: /* create_index_statement  */
@@ -1922,7 +1945,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).statement_);
   }
 }
-#line 1926 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1949 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 135: /* drop_table_statement  */
@@ -1932,7 +1955,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).drop_table_statement_);
   }
 }
-#line 1936 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1959 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 136: /* column_def  */
@@ -1942,7 +1965,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_definition_);
   }
 }
-#line 1946 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1969 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 137: /* column_def_commalist  */
@@ -1952,7 +1975,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_definition_list_);
   }
 }
-#line 1956 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1979 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 138: /* data_type  */
@@ -1962,7 +1985,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).data_type_);
   }
 }
-#line 1966 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1989 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 139: /* column_constraint_def  */
@@ -1972,7 +1995,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).column_constraint_);
   }
 }
-#line 1976 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 1999 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 140: /* column_constraint_def_list  */
@@ -1982,7 +2005,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).column_constraint_list_);
   }
 }
-#line 1986 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2009 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 141: /* opt_column_constraint_def_list  */
@@ -1992,7 +2015,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).column_constraint_list_);
   }
 }
-#line 1996 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2019 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 145: /* opt_column_list  */
@@ -2002,7 +2025,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_list_);
   }
 }
-#line 2006 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2029 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 146: /* opt_block_properties  */
@@ -2012,7 +2035,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).block_properties_);
   }
 }
-#line 2016 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2039 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 147: /* opt_partition_clause  */
@@ -2022,7 +2045,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).partition_clause_);
   }
 }
-#line 2026 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2049 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 148: /* partition_type  */
@@ -2032,7 +2055,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2036 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2059 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 149: /* key_value_list  */
@@ -2042,7 +2065,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_value_list_);
   }
 }
-#line 2046 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2069 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 150: /* key_value  */
@@ -2052,7 +2075,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_value_);
   }
 }
-#line 2056 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2079 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 151: /* key_string_value  */
@@ -2062,7 +2085,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_string_value_);
   }
 }
-#line 2066 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2089 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 152: /* key_string_list  */
@@ -2072,7 +2095,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_string_list_);
   }
 }
-#line 2076 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2099 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 153: /* key_integer_value  */
@@ -2082,7 +2105,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_integer_value_);
   }
 }
-#line 2086 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2109 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 154: /* index_type  */
@@ -2092,7 +2115,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2096 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2119 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 155: /* opt_index_properties  */
@@ -2102,7 +2125,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_value_list_);
   }
 }
-#line 2106 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2129 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 156: /* insert_statement  */
@@ -2112,7 +2135,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).insert_statement_);
   }
 }
-#line 2116 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2139 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 157: /* copy_from_statement  */
@@ -2122,7 +2145,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).copy_from_statement_);
   }
 }
-#line 2126 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2149 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 158: /* opt_copy_from_params  */
@@ -2132,7 +2155,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).copy_from_params_);
   }
 }
-#line 2136 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2159 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 159: /* copy_from_params  */
@@ -2142,7 +2165,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).copy_from_params_);
   }
 }
-#line 2146 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2169 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 160: /* update_statement  */
@@ -2152,7 +2175,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).update_statement_);
   }
 }
-#line 2156 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2179 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 161: /* delete_statement  */
@@ -2162,7 +2185,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).delete_statement_);
   }
 }
-#line 2166 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2189 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 162: /* assignment_list  */
@@ -2172,7 +2195,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).assignment_list_);
   }
 }
-#line 2176 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2199 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 163: /* assignment_item  */
@@ -2182,7 +2205,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).assignment_);
   }
 }
-#line 2186 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2209 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 164: /* select_statement  */
@@ -2192,7 +2215,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).select_statement_);
   }
 }
-#line 2196 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2219 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 165: /* with_clause  */
@@ -2202,7 +2225,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).with_list_);
   }
 }
-#line 2206 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2229 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 166: /* with_list  */
@@ -2212,7 +2235,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).with_list_);
   }
 }
-#line 2216 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2239 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 167: /* with_list_element  */
@@ -2222,7 +2245,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).with_list_element_);
   }
 }
-#line 2226 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2249 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 168: /* select_query  */
@@ -2232,7 +2255,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).select_query_);
   }
 }
-#line 2236 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2259 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 170: /* selection  */
@@ -2242,7 +2265,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).selection_);
   }
 }
-#line 2246 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2269 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 171: /* selection_item_commalist  */
@@ -2252,7 +2275,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).selection_list_);
   }
 }
-#line 2256 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2279 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 172: /* selection_item  */
@@ -2262,7 +2285,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).selection_item_);
   }
 }
-#line 2266 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2289 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 173: /* from_clause  */
@@ -2272,7 +2295,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_list_);
   }
 }
-#line 2276 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2299 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 174: /* subquery_expression  */
@@ -2282,7 +2305,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).subquery_expression_);
   }
 }
-#line 2286 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2309 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 175: /* opt_sample_clause  */
@@ -2292,13 +2315,13 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_sample_clause_);
   }
 }
-#line 2296 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2319 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 176: /* join_type  */
 #line 564 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2302 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2325 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 177: /* joined_table_reference  */
@@ -2308,7 +2331,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_);
   }
 }
-#line 2312 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2335 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 178: /* table_reference  */
@@ -2318,7 +2341,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_);
   }
 }
-#line 2322 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2345 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 179: /* table_reference_signature  */
@@ -2328,7 +2351,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_signature_);
   }
 }
-#line 2332 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2355 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 180: /* table_reference_signature_primary  */
@@ -2338,7 +2361,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_signature_);
   }
 }
-#line 2342 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2365 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 181: /* joined_table_reference_commalist  */
@@ -2348,7 +2371,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_list_);
   }
 }
-#line 2352 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2375 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 182: /* opt_group_by_clause  */
@@ -2358,7 +2381,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_group_by_clause_);
   }
 }
-#line 2362 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2385 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 183: /* opt_having_clause  */
@@ -2368,7 +2391,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_having_clause_);
   }
 }
-#line 2372 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2395 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 184: /* opt_order_by_clause  */
@@ -2378,7 +2401,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_order_by_clause_);
   }
 }
-#line 2382 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2405 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 185: /* opt_limit_clause  */
@@ -2388,7 +2411,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_limit_clause_);
   }
 }
-#line 2392 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2415 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 186: /* order_commalist  */
@@ -2398,7 +2421,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).order_commalist_);
   }
 }
-#line 2402 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2425 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 187: /* order_item  */
@@ -2408,7 +2431,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).order_item_);
   }
 }
-#line 2412 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2435 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 188: /* opt_order_direction  */
@@ -2418,7 +2441,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).order_direction_);
   }
 }
-#line 2422 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2445 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 189: /* opt_nulls_first  */
@@ -2428,7 +2451,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).order_direction_);
   }
 }
-#line 2432 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2455 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 190: /* opt_where_clause  */
@@ -2438,7 +2461,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2442 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2465 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 191: /* where_clause  */
@@ -2448,7 +2471,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2452 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2475 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 192: /* or_expression  */
@@ -2458,7 +2481,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2462 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2485 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 193: /* and_expression  */
@@ -2468,7 +2491,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2472 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2495 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 194: /* not_expression  */
@@ -2478,7 +2501,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2482 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2505 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 195: /* predicate_expression_base  */
@@ -2488,7 +2511,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).predicate_);
   }
 }
-#line 2492 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2515 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 196: /* add_expression  */
@@ -2498,7 +2521,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2502 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2525 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 197: /* multiply_expression  */
@@ -2508,7 +2531,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2512 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2535 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 198: /* unary_expression  */
@@ -2518,7 +2541,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2522 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2545 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 199: /* expression_base  */
@@ -2528,7 +2551,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2532 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2555 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 200: /* function_call  */
@@ -2538,7 +2561,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).function_call_);
   }
 }
-#line 2542 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2565 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 201: /* extract_function  */
@@ -2548,7 +2571,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2552 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2575 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 202: /* case_expression  */
@@ -2558,7 +2581,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2562 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2585 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 203: /* simple_when_clause_list  */
@@ -2568,7 +2591,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).simple_when_clause_list_);
   }
 }
-#line 2572 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2595 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 204: /* simple_when_clause  */
@@ -2578,7 +2601,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).simple_when_clause_);
   }
 }
-#line 2582 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2605 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 205: /* searched_when_clause_list  */
@@ -2588,7 +2611,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).searched_when_clause_list_);
   }
 }
-#line 2592 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2615 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 206: /* searched_when_clause  */
@@ -2598,7 +2621,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).searched_when_clause_);
   }
 }
-#line 2602 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2625 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 207: /* opt_else_clause  */
@@ -2608,7 +2631,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_);
   }
 }
-#line 2612 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2635 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 208: /* expression_list  */
@@ -2618,7 +2641,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).expression_list_);
   }
 }
-#line 2622 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2645 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 209: /* literal_value  */
@@ -2628,7 +2651,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).literal_value_);
   }
 }
-#line 2632 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2655 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 210: /* literal_value_commalist  */
@@ -2638,7 +2661,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).literal_value_list_);
   }
 }
-#line 2642 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2665 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 211: /* attribute_ref  */
@@ -2648,7 +2671,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_);
   }
 }
-#line 2652 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2675 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 212: /* attribute_ref_list  */
@@ -2658,31 +2681,31 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_list_);
   }
 }
-#line 2662 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2685 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 213: /* comparison_operation  */
 #line 561 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2668 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2691 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 214: /* unary_operation  */
 #line 562 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2674 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2697 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 215: /* add_operation  */
 #line 563 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2680 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2703 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 216: /* multiply_operation  */
 #line 563 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2686 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2709 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 217: /* name_commalist  */
@@ -2692,7 +2715,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_list_);
   }
 }
-#line 2696 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2719 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 218: /* any_name  */
@@ -2702,13 +2725,13 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2706 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2729 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 219: /* boolean_value  */
 #line 560 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2712 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2735 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 220: /* command  */
@@ -2718,7 +2741,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).command_);
   }
 }
-#line 2722 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2745 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 221: /* command_argument_list  */
@@ -2728,7 +2751,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).command_argument_list_);
   }
 }
-#line 2732 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2755 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
 
@@ -3025,7 +3048,7 @@ yyreduce:
     *parsedStatement = (yyvsp[-1].statement_);
     YYACCEPT;
   }
-#line 3029 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3052 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 3:
@@ -3034,7 +3057,7 @@ yyreduce:
     *parsedStatement = (yyvsp[-1].statement_);
     YYACCEPT;
   }
-#line 3038 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3061 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 4:
@@ -3043,7 +3066,7 @@ yyreduce:
     *parsedStatement = (yyvsp[-1].command_);
     YYACCEPT;
   }
-#line 3047 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3070 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 5:
@@ -3052,7 +3075,7 @@ yyreduce:
     *parsedStatement = (yyvsp[-1].command_);
     YYACCEPT;
   }
-#line 3056 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3079 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 6:
@@ -3060,7 +3083,7 @@ yyreduce:
     {
     YYABORT;
   }
-#line 3064 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3087 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 7:
@@ -3069,7 +3092,7 @@ yyreduce:
     // Regular yyparse() return codes are non-negative, so use a negative one here.
     return -1;
   }
-#line 3073 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3096 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 8:
@@ -3077,7 +3100,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].statement_);
   }
-#line 3081 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3104 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 9:
@@ -3085,7 +3108,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].copy_from_statement_);
   }
-#line 3089 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3112 "SqlParser_gen.cpp" /* yacc.c:1661  */
     break;
 
   case 10:
@@ -3093,7 +3116,7 @@ yyreduce:
     {
     (yyval.statement_) = (yyvsp[0].create_table_statement_);
   }
-#line 3097 "SqlParser_gen.cpp" /* yacc.c:1661  */
+#line 3120 "SqlParser_gen.cpp" /* yacc.c:1661  */


<TRUNCATED>