Support Multiple Tuple Inserts
Update Fetch
diff --git a/parser/ParseStatement.hpp b/parser/ParseStatement.hpp
index cee7221..456bdc2 100644
--- a/parser/ParseStatement.hpp
+++ b/parser/ParseStatement.hpp
@@ -653,9 +653,9 @@
ParseStatementInsertTuple(const int line_number,
const int column_number,
const ParseString *relation_name,
- PtrList<ParseScalarLiteral> *literal_values)
+ PtrList<PtrList<ParseScalarLiteral>> *literal_values_list)
: ParseStatementInsert(line_number, column_number, relation_name),
- literal_values_(literal_values) {
+ literal_values_(literal_values_list) {
}
~ParseStatementInsertTuple() override {
@@ -666,11 +666,11 @@
}
/**
- * @brief Get the parsed literal attribute values to insert.
+ * @brief Get the list of list of parsed literal attribute values to insert.
*
- * @return The list of literal values to insert.
+ * @return The list of lists of literal values to insert.
**/
- const PtrList<ParseScalarLiteral>& getLiteralValues() const {
+ const PtrList<PtrList<ParseScalarLiteral>>& getLiteralValues() const {
return *literal_values_;
}
@@ -685,15 +685,17 @@
inline_field_names->push_back("relation_name");
inline_field_values->push_back(relation_name()->value());
- container_child_field_names->push_back("tuple");
- container_child_fields->emplace_back();
- for (const ParseScalarLiteral& literal_value : *literal_values_) {
- container_child_fields->back().push_back(&literal_value);
+ for (const PtrList<ParseScalarLiteral>& literal_values_single_tuple : *literal_values_) {
+ container_child_field_names->push_back("tuple");
+ container_child_fields->emplace_back();
+ for (const ParseScalarLiteral& literal_value : literal_values_single_tuple) {
+ container_child_fields->back().push_back(&literal_value);
+ }
}
}
private:
- std::unique_ptr<PtrList<ParseScalarLiteral> > literal_values_;
+ std::unique_ptr<PtrList<PtrList<ParseScalarLiteral>>> literal_values_;
DISALLOW_COPY_AND_ASSIGN(ParseStatementInsertTuple);
};
diff --git a/parser/SqlParser.ypp b/parser/SqlParser.ypp
index 8fbcdd7..ba69b3d 100644
--- a/parser/SqlParser.ypp
+++ b/parser/SqlParser.ypp
@@ -128,6 +128,7 @@
quickstep::NumericParseLiteralValue *numeric_literal_value_;
quickstep::ParseLiteralValue *literal_value_;
quickstep::PtrList<quickstep::ParseScalarLiteral> *literal_value_list_;
+ quickstep::PtrList<quickstep::PtrList<quickstep::ParseScalarLiteral>> *literal_value_list_multiple_;
quickstep::ParseExpression *expression_;
@@ -387,6 +388,9 @@
%type <literal_value_list_>
literal_value_commalist
+%type <literal_value_list_multiple_>
+ literal_value_commalist_multiple
+
%type <expression_>
expression_base
unary_expression
@@ -1101,8 +1105,8 @@
NotSupported(&@4, yyscanner, "list of column names in INSERT statement");
YYERROR;
}
- | TOKEN_INSERT TOKEN_INTO any_name TOKEN_VALUES '(' literal_value_commalist ')' {
- $$ = new quickstep::ParseStatementInsertTuple(@1.first_line, @1.first_column, $3, $6);
+ | TOKEN_INSERT TOKEN_INTO any_name TOKEN_VALUES literal_value_commalist_multiple {
+ $$ = new quickstep::ParseStatementInsertTuple(@1.first_line, @1.first_column, $3, $5);
}
| TOKEN_INSERT TOKEN_INTO any_name select_query {
$$ = new quickstep::ParseStatementInsertSelection(@1.first_line, @2.first_column, $3, $4, nullptr);
@@ -1921,6 +1925,16 @@
$$->push_back(new quickstep::ParseScalarLiteral($3));
};
+literal_value_commalist_multiple:
+ '(' literal_value_commalist ')' {
+ $$ = new quickstep::PtrList<quickstep::PtrList<quickstep::ParseScalarLiteral>>();
+ $$->push_back($2);
+ }
+ | literal_value_commalist_multiple ',' '(' literal_value_commalist ')' {
+ $$ = $1;
+ $$->push_back($4);
+ };
+
attribute_ref:
any_name {
$$ = new quickstep::ParseAttribute(@1.first_line, @1.first_column, $1);
diff --git a/parser/preprocessed/SqlParser_gen.cpp b/parser/preprocessed/SqlParser_gen.cpp
index 72c61dd..9b77875 100644
--- a/parser/preprocessed/SqlParser_gen.cpp
+++ b/parser/preprocessed/SqlParser_gen.cpp
@@ -341,6 +341,7 @@
quickstep::NumericParseLiteralValue *numeric_literal_value_;
quickstep::ParseLiteralValue *literal_value_;
quickstep::PtrList<quickstep::ParseScalarLiteral> *literal_value_list_;
+ quickstep::PtrList<quickstep::PtrList<quickstep::ParseScalarLiteral>> *literal_value_list_multiple_;
quickstep::ParseExpression *expression_;
@@ -431,7 +432,7 @@
quickstep::ParsePriority *opt_priority_clause_;
-#line 435 "SqlParser_gen.cpp" /* yacc.c:355 */
+#line 436 "SqlParser_gen.cpp" /* yacc.c:355 */
};
typedef union YYSTYPE YYSTYPE;
@@ -460,13 +461,13 @@
#endif /* !YY_QUICKSTEP_YY_SQLPARSER_GEN_HPP_INCLUDED */
/* Copy the second part of user declarations. */
-#line 222 "../SqlParser.ypp" /* yacc.c:358 */
+#line 223 "../SqlParser.ypp" /* yacc.c:358 */
/* This header needs YYSTYPE, which is defined by the %union directive above */
#include "SqlLexer_gen.hpp"
void NotSupported(const YYLTYPE *location, yyscan_t yyscanner, const std::string &feature);
-#line 470 "SqlParser_gen.cpp" /* yacc.c:358 */
+#line 471 "SqlParser_gen.cpp" /* yacc.c:358 */
#ifdef short
# undef short
@@ -710,16 +711,16 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 50
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1391
+#define YYLAST 1327
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 148
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 110
+#define YYNNTS 111
/* YYNRULES -- Number of rules. */
-#define YYNRULES 298
+#define YYNRULES 300
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 550
+#define YYNSTATES 555
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
@@ -779,36 +780,37 @@
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 640, 640, 644, 648, 652, 656, 659, 666, 669,
- 672, 675, 678, 681, 684, 687, 690, 693, 699, 705,
- 712, 718, 725, 734, 739, 748, 753, 758, 762, 768,
- 773, 776, 779, 784, 787, 790, 793, 796, 799, 802,
- 805, 808, 811, 823, 826, 829, 847, 867, 870, 873,
- 878, 883, 889, 895, 904, 908, 914, 917, 922, 927,
- 932, 939, 946, 950, 956, 959, 964, 967, 972, 975,
- 980, 983, 1002, 1005, 1010, 1014, 1020, 1023, 1026, 1029,
- 1034, 1037, 1040, 1047, 1052, 1063, 1068, 1073, 1077, 1081,
- 1087, 1090, 1096, 1104, 1107, 1110, 1116, 1121, 1126, 1130,
- 1136, 1140, 1143, 1148, 1151, 1156, 1161, 1166, 1170, 1176,
- 1185, 1188, 1193, 1196, 1215, 1220, 1224, 1230, 1236, 1245,
- 1250, 1258, 1264, 1270, 1273, 1276, 1281, 1284, 1289, 1293,
- 1299, 1302, 1305, 1310, 1315, 1320, 1323, 1326, 1331, 1334,
- 1337, 1340, 1343, 1346, 1349, 1352, 1357, 1360, 1365, 1369,
- 1373, 1376, 1380, 1383, 1388, 1391, 1396, 1399, 1404, 1408,
- 1414, 1417, 1422, 1425, 1430, 1433, 1438, 1441, 1460, 1463,
- 1468, 1472, 1478, 1484, 1489, 1492, 1497, 1500, 1505, 1508,
- 1513, 1516, 1521, 1522, 1525, 1530, 1531, 1534, 1539, 1543,
- 1549, 1556, 1559, 1562, 1567, 1570, 1573, 1579, 1582, 1587,
- 1592, 1601, 1606, 1615, 1620, 1623, 1628, 1631, 1636, 1642,
- 1648, 1651, 1654, 1657, 1660, 1663, 1669, 1678, 1681, 1686,
- 1689, 1694, 1697, 1702, 1705, 1708, 1711, 1715, 1719, 1722,
- 1725, 1728, 1731, 1736, 1740, 1744, 1747, 1752, 1757, 1761,
- 1767, 1770, 1775, 1779, 1785, 1790, 1794, 1800, 1805, 1808,
- 1813, 1817, 1823, 1826, 1829, 1832, 1844, 1848, 1867, 1880,
- 1895, 1898, 1901, 1904, 1907, 1910, 1915, 1919, 1925, 1928,
- 1933, 1937, 1944, 1947, 1950, 1953, 1956, 1959, 1962, 1965,
- 1968, 1971, 1976, 1987, 1990, 1995, 1998, 2001, 2007, 2011,
- 2017, 2020, 2028, 2031, 2034, 2037, 2043, 2048, 2053
+ 0, 644, 644, 648, 652, 656, 660, 663, 670, 673,
+ 676, 679, 682, 685, 688, 691, 694, 697, 703, 709,
+ 716, 722, 729, 738, 743, 752, 757, 762, 766, 772,
+ 777, 780, 783, 788, 791, 794, 797, 800, 803, 806,
+ 809, 812, 815, 827, 830, 833, 851, 871, 874, 877,
+ 882, 887, 893, 899, 908, 912, 918, 921, 926, 931,
+ 936, 943, 950, 954, 960, 963, 968, 971, 976, 979,
+ 984, 987, 1006, 1009, 1014, 1018, 1024, 1027, 1030, 1033,
+ 1038, 1041, 1044, 1051, 1056, 1067, 1072, 1077, 1081, 1085,
+ 1091, 1094, 1100, 1108, 1111, 1114, 1120, 1125, 1130, 1134,
+ 1140, 1144, 1147, 1152, 1155, 1160, 1165, 1170, 1174, 1180,
+ 1189, 1192, 1197, 1200, 1219, 1224, 1228, 1234, 1240, 1249,
+ 1254, 1262, 1268, 1274, 1277, 1280, 1285, 1288, 1293, 1297,
+ 1303, 1306, 1309, 1314, 1319, 1324, 1327, 1330, 1335, 1338,
+ 1341, 1344, 1347, 1350, 1353, 1356, 1361, 1364, 1369, 1373,
+ 1377, 1380, 1384, 1387, 1392, 1395, 1400, 1403, 1408, 1412,
+ 1418, 1421, 1426, 1429, 1434, 1437, 1442, 1445, 1464, 1467,
+ 1472, 1476, 1482, 1488, 1493, 1496, 1501, 1504, 1509, 1512,
+ 1517, 1520, 1525, 1526, 1529, 1534, 1535, 1538, 1543, 1547,
+ 1553, 1560, 1563, 1566, 1571, 1574, 1577, 1583, 1586, 1591,
+ 1596, 1605, 1610, 1619, 1624, 1627, 1632, 1635, 1640, 1646,
+ 1652, 1655, 1658, 1661, 1664, 1667, 1673, 1682, 1685, 1690,
+ 1693, 1698, 1701, 1706, 1709, 1712, 1715, 1719, 1723, 1726,
+ 1729, 1732, 1735, 1740, 1744, 1748, 1751, 1756, 1761, 1765,
+ 1771, 1774, 1779, 1783, 1789, 1794, 1798, 1804, 1809, 1812,
+ 1817, 1821, 1827, 1830, 1833, 1836, 1848, 1852, 1871, 1884,
+ 1899, 1902, 1905, 1908, 1911, 1914, 1919, 1923, 1929, 1933,
+ 1939, 1942, 1947, 1951, 1958, 1961, 1964, 1967, 1970, 1973,
+ 1976, 1979, 1982, 1985, 1990, 2001, 2004, 2009, 2012, 2015,
+ 2021, 2025, 2031, 2034, 2042, 2045, 2048, 2051, 2057, 2062,
+ 2067
};
#endif
@@ -883,10 +885,11 @@
"simple_when_clause_list", "simple_when_clause",
"searched_when_clause_list", "searched_when_clause", "opt_else_clause",
"expression_list", "literal_value", "datetime_unit",
- "literal_value_commalist", "attribute_ref", "attribute_ref_list",
- "comparison_operation", "unary_operation", "add_operation",
- "multiply_operation", "name_commalist", "any_name", "boolean_value",
- "command", "command_argument_list", YY_NULLPTR
+ "literal_value_commalist", "literal_value_commalist_multiple",
+ "attribute_ref", "attribute_ref_list", "comparison_operation",
+ "unary_operation", "add_operation", "multiply_operation",
+ "name_commalist", "any_name", "boolean_value", "command",
+ "command_argument_list", YY_NULLPTR
};
#endif
@@ -913,10 +916,10 @@
};
# endif
-#define YYPACT_NINF -395
+#define YYPACT_NINF -410
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-395)))
+ (!!((Yystate) == (-410)))
#define YYTABLE_NINF -139
@@ -927,61 +930,62 @@
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 174, -395, -395, -64, 85, -26, 14, -31, -16, -395,
- 40, 196, 196, -395, 109, 102, -395, -395, -395, -395,
- -395, -395, -395, -395, -395, -395, 148, -3, 87, -395,
- -40, 121, 196, -395, -395, 1, -5, 196, 196, 196,
- 196, 196, -395, -395, 716, 82, 2, -395, 153, 63,
- -395, -395, -395, 98, 152, -3, 40, 141, -395, 98,
- -395, -395, -395, 12, 97, 116, 261, 116, 169, 126,
- 138, -395, 176, -395, -395, 270, 274, -395, -395, -395,
- 807, 139, -395, 210, -395, -395, 154, -395, -395, 297,
- -395, -395, -395, -395, 172, -395, -395, 177, 231, 901,
- 313, 265, 192, -395, -395, 338, 23, -395, -395, 243,
- -395, -395, -395, -395, -395, 1083, -7, 196, 196, 214,
- 196, 1, 196, -395, 98, 363, -395, 205, 263, -395,
- -395, -395, 255, -395, 116, -395, 196, 196, 625, -395,
- -395, 262, 196, -395, -395, -395, 625, 33, -29, -395,
- 409, -395, 165, 165, 1174, 411, -395, -14, 28, -395,
- 13, 138, 1174, -395, -395, 196, 1174, -395, -395, -395,
- -395, 1174, 18, 274, -395, 196, 398, 59, -395, 417,
- -395, 98, -395, 202, -395, 116, 98, 87, -395, 196,
- 80, 196, 196, 196, -395, 285, -395, 211, 1241, 992,
- 214, 534, 422, 423, -395, -395, 312, 415, 1252, 219,
- 43, 1174, 61, -395, 1174, -395, 369, 292, -395, -395,
- -395, -395, -395, -395, 367, -395, 216, 294, -395, -395,
- 7, 186, 267, -395, 298, 186, 3, 372, -395, -395,
- 23, -395, 347, -395, -395, 295, 1174, -395, 351, 229,
- 196, -395, 1174, -395, 196, -395, -395, -395, 303, 366,
- 368, 304, -395, -395, -395, 232, -395, -395, -395, -395,
- -395, 34, 196, 323, 80, 196, -395, 188, -395, -395,
- 4, 65, 625, 625, 276, -395, -395, -395, -395, -395,
- -395, -395, -395, 1174, 311, 1174, 51, -395, 234, 326,
- 1174, 71, -395, 399, 351, -395, -395, 1174, 453, -395,
- 160, 196, -395, -395, 370, -395, 373, 374, 379, 13,
- -395, 457, 462, 186, 430, 400, 431, 329, 380, -395,
- 236, -395, 1174, -395, 351, -395, 625, 333, 334, 196,
- -395, 196, -395, -395, -395, -395, -395, -395, -395, 196,
- -395, -395, -395, 238, 454, 184, -395, 336, 348, -395,
- 391, 342, 1252, -395, 403, 196, -395, -395, 188, -395,
- -395, 423, -395, -395, -395, 1174, 345, 341, 901, -395,
- 351, 401, -395, -395, 1252, 350, 351, 1174, -395, 37,
- 35, -395, -395, -395, -395, -395, 13, 267, 390, 395,
- -395, 1174, 625, 396, 1174, -395, 455, 108, -395, 351,
- 8, 196, 196, 240, -395, 242, -395, 196, -395, -395,
- -395, -395, 354, 80, 461, 402, -395, 625, -395, -395,
- 356, -395, 346, 901, -395, 1174, 245, -395, -395, 1252,
- 351, -395, 495, -395, 408, -395, -395, 358, 422, 464,
- 420, 358, 1174, -395, -395, -395, 490, -395, 249, 251,
- -395, -395, -395, 196, -395, -395, 375, 468, -395, 19,
- 196, 1174, 264, 351, -395, 266, 371, 625, 1174, 504,
- 376, 377, -395, 227, 46, 405, -395, 269, 196, -9,
- -395, 381, 351, -395, -395, -395, 422, 377, -395, 196,
- -395, 376, -395, 1174, -395, -395, 421, 418, 407, 425,
- 515, 196, -395, 277, -395, -395, 384, -395, 496, -395,
- -395, 49, -395, -395, -395, -395, 56, 386, -395, 196,
- 388, -395, -395, 466, 426, 467, -395, 196, 279, 347,
- -395, -395, -395, 281, 445, 404, -395, 539, -395, -395
+ 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
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -989,93 +993,96 @@
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 0, 6, 298, 0, 0, 0, 0, 0, 0, 18,
+ 0, 6, 300, 0, 0, 0, 0, 0, 0, 18,
123, 0, 0, 7, 0, 0, 15, 8, 10, 11,
13, 14, 9, 17, 12, 16, 0, 112, 119, 121,
- 0, 296, 0, 290, 291, 0, 0, 0, 0, 0,
+ 0, 298, 0, 292, 293, 0, 0, 0, 0, 0,
0, 0, 124, 125, 0, 0, 114, 115, 0, 156,
1, 3, 2, 0, 0, 112, 123, 0, 110, 0,
- 5, 4, 297, 0, 0, 103, 0, 103, 0, 0,
- 197, 25, 0, 256, 253, 0, 282, 126, 40, 29,
+ 5, 4, 299, 0, 0, 103, 0, 103, 0, 0,
+ 197, 25, 0, 256, 253, 0, 284, 126, 40, 29,
0, 0, 30, 31, 34, 36, 0, 37, 39, 0,
41, 252, 35, 38, 0, 32, 33, 0, 0, 0,
0, 0, 127, 128, 232, 132, 218, 220, 222, 225,
- 228, 229, 230, 224, 223, 0, 268, 0, 0, 0,
+ 228, 229, 230, 224, 223, 0, 270, 0, 0, 0,
0, 0, 0, 111, 0, 0, 120, 0, 0, 100,
102, 101, 0, 98, 103, 97, 0, 0, 0, 106,
198, 0, 0, 94, 254, 255, 0, 0, 248, 245,
0, 43, 0, 257, 0, 0, 44, 0, 0, 259,
- 0, 197, 0, 283, 284, 0, 0, 131, 286, 287,
- 285, 0, 0, 0, 221, 0, 0, 197, 108, 0,
- 116, 0, 117, 0, 288, 103, 0, 118, 113, 0,
+ 0, 197, 0, 285, 286, 0, 0, 131, 288, 289,
+ 287, 0, 0, 0, 221, 0, 0, 197, 108, 0,
+ 116, 0, 117, 0, 290, 103, 0, 118, 113, 0,
0, 0, 0, 0, 96, 66, 27, 0, 0, 0,
- 0, 0, 199, 201, 203, 205, 0, 223, 0, 0,
- 0, 0, 248, 242, 0, 246, 0, 0, 262, 263,
- 264, 261, 265, 260, 0, 258, 0, 0, 134, 231,
- 0, 0, 158, 147, 133, 152, 135, 160, 129, 130,
- 217, 219, 174, 226, 269, 0, 0, 233, 250, 0,
- 0, 105, 0, 157, 0, 99, 95, 19, 0, 0,
- 0, 0, 20, 21, 22, 0, 74, 76, 77, 78,
- 79, 0, 0, 0, 64, 0, 42, 56, 204, 212,
- 0, 0, 0, 0, 0, 272, 274, 275, 276, 277,
- 273, 278, 280, 0, 0, 0, 0, 266, 0, 0,
- 0, 0, 243, 0, 249, 241, 45, 0, 0, 46,
- 138, 0, 148, 154, 144, 139, 140, 142, 0, 0,
- 151, 0, 0, 150, 0, 162, 0, 0, 176, 234,
- 0, 235, 0, 107, 109, 289, 0, 0, 0, 0,
- 104, 0, 81, 84, 82, 294, 295, 293, 292, 0,
- 80, 85, 270, 0, 268, 0, 63, 65, 68, 28,
- 0, 0, 0, 47, 0, 0, 49, 55, 57, 26,
- 211, 200, 202, 279, 281, 0, 0, 0, 0, 213,
- 210, 0, 209, 93, 0, 0, 247, 0, 240, 0,
- 0, 153, 155, 145, 141, 143, 0, 159, 0, 0,
- 149, 0, 0, 164, 0, 227, 0, 178, 236, 251,
- 0, 0, 0, 0, 75, 0, 67, 0, 86, 87,
- 88, 89, 90, 0, 0, 70, 48, 0, 51, 50,
- 0, 54, 0, 0, 215, 0, 0, 208, 267, 0,
- 244, 237, 0, 238, 0, 136, 137, 161, 163, 0,
- 166, 175, 0, 181, 180, 173, 0, 61, 0, 0,
- 58, 83, 271, 0, 24, 62, 0, 0, 23, 0,
- 0, 0, 0, 206, 214, 0, 0, 0, 0, 0,
- 168, 177, 188, 191, 0, 0, 59, 0, 0, 0,
- 52, 0, 207, 216, 92, 239, 146, 165, 167, 0,
- 122, 169, 170, 0, 192, 193, 194, 0, 0, 0,
- 0, 0, 91, 0, 72, 73, 0, 53, 0, 171,
- 189, 0, 190, 182, 184, 183, 0, 0, 69, 0,
- 0, 195, 196, 0, 0, 0, 179, 0, 0, 174,
- 185, 187, 186, 0, 0, 0, 60, 0, 172, 71
+ 0, 0, 199, 201, 203, 205, 0, 223, 0, 93,
+ 0, 0, 0, 248, 242, 0, 246, 0, 0, 262,
+ 263, 264, 261, 265, 260, 0, 258, 0, 0, 134,
+ 231, 0, 0, 158, 147, 133, 152, 135, 160, 129,
+ 130, 217, 219, 174, 226, 271, 0, 0, 233, 250,
+ 0, 0, 105, 0, 157, 0, 99, 95, 19, 0,
+ 0, 0, 0, 20, 21, 22, 0, 74, 76, 77,
+ 78, 79, 0, 0, 0, 64, 0, 42, 56, 204,
+ 212, 0, 0, 0, 0, 0, 274, 276, 277, 278,
+ 279, 275, 280, 282, 0, 0, 0, 0, 266, 0,
+ 0, 0, 0, 0, 243, 0, 249, 241, 45, 0,
+ 0, 46, 138, 0, 148, 154, 144, 139, 140, 142,
+ 0, 0, 151, 0, 0, 150, 0, 162, 0, 0,
+ 176, 234, 0, 235, 0, 107, 109, 291, 0, 0,
+ 0, 0, 104, 0, 81, 84, 82, 296, 297, 295,
+ 294, 0, 80, 85, 272, 0, 270, 0, 63, 65,
+ 68, 28, 0, 0, 0, 47, 0, 0, 49, 55,
+ 57, 26, 211, 200, 202, 281, 283, 0, 0, 0,
+ 0, 213, 210, 0, 209, 268, 0, 0, 0, 247,
+ 0, 240, 0, 0, 153, 155, 145, 141, 143, 0,
+ 159, 0, 0, 149, 0, 0, 164, 0, 227, 0,
+ 178, 236, 251, 0, 0, 0, 0, 75, 0, 67,
+ 0, 86, 87, 88, 89, 90, 0, 0, 70, 48,
+ 0, 51, 50, 0, 54, 0, 0, 215, 0, 0,
+ 208, 267, 0, 0, 244, 237, 0, 238, 0, 136,
+ 137, 161, 163, 0, 166, 175, 0, 181, 180, 173,
+ 0, 61, 0, 0, 58, 83, 273, 0, 24, 62,
+ 0, 0, 23, 0, 0, 0, 0, 206, 214, 269,
+ 0, 0, 0, 0, 0, 168, 177, 188, 191, 0,
+ 0, 59, 0, 0, 0, 52, 0, 207, 216, 92,
+ 239, 146, 165, 167, 0, 122, 169, 170, 0, 192,
+ 193, 194, 0, 0, 0, 0, 0, 91, 0, 72,
+ 73, 0, 53, 0, 171, 189, 0, 190, 182, 184,
+ 183, 0, 0, 69, 0, 0, 195, 196, 0, 0,
+ 0, 179, 0, 0, 174, 185, 187, 186, 0, 0,
+ 0, 60, 0, 172, 71
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -395, -395, -395, -395, -395, -395, -395, -395, -164, -395,
- 349, 180, -395, -395, -271, -395, -395, -395, -395, -395,
- -395, -394, 209, -395, -395, -395, -395, -395, -395, -395,
- -395, 24, -46, -395, -395, -395, 301, -395, 497, -395,
- -395, 435, 259, 433, -28, 498, -395, -395, 397, -395,
- -90, -395, -395, -207, 162, -187, -10, -395, -395, -395,
- -395, -395, -395, -395, 60, 21, -395, -395, -395, -395,
- -395, -395, 84, 62, -395, -395, -54, -395, -145, 282,
- 280, 382, -35, 406, 412, 451, -156, -395, -395, -395,
- -395, 355, -395, 427, 359, -232, -203, 429, 129, -128,
- -395, -395, -395, -395, -395, -136, -4, -395, -395, -395
+ -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
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 14, 15, 16, 17, 18, 19, 20, 196, 197,
- 100, 367, 368, 369, 262, 357, 358, 273, 425, 468,
- 516, 265, 266, 267, 268, 269, 270, 422, 464, 21,
+ 100, 369, 370, 371, 263, 359, 360, 274, 428, 472,
+ 521, 266, 267, 268, 269, 270, 271, 425, 468, 21,
22, 65, 133, 23, 24, 177, 178, 25, 58, 26,
46, 47, 157, 28, 29, 44, 101, 102, 103, 161,
- 104, 323, 318, 232, 233, 312, 313, 234, 325, 403,
- 450, 480, 500, 501, 502, 327, 328, 407, 455, 456,
- 510, 536, 481, 482, 506, 522, 139, 140, 202, 203,
+ 104, 325, 320, 233, 234, 314, 315, 235, 327, 406,
+ 454, 485, 505, 506, 507, 329, 330, 410, 459, 460,
+ 515, 541, 486, 487, 511, 527, 139, 140, 202, 203,
204, 205, 206, 106, 107, 108, 109, 110, 111, 112,
- 212, 213, 148, 149, 216, 249, 113, 224, 298, 114,
- 353, 295, 115, 166, 171, 183, 116, 351, 30, 31
+ 213, 214, 148, 149, 217, 250, 113, 225, 299, 209,
+ 114, 355, 296, 115, 166, 171, 183, 116, 353, 30,
+ 31
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -1083,256 +1090,215 @@
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 36, 210, 48, 356, 235, 297, 209, 45, 49, 105,
- 207, 33, 282, 34, 330, 56, 282, 33, 207, 34,
- 175, 135, 33, 310, 34, 257, 56, 282, 63, 182,
- 56, 126, 214, 68, 69, 70, 71, 72, 33, 342,
- 34, 343, 321, 127, 143, 147, 168, 169, 320, 163,
- 164, 282, 37, 507, 163, 164, 280, 32, 163, 164,
- 67, 381, 344, 533, 158, 514, 66, 41, 42, 487,
- 231, 207, 128, 207, 235, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 39, 163, 164, 194, 33,
- 40, 34, 163, 164, 513, 38, 508, 515, 43, 345,
- 60, 167, 129, 61, 442, 146, 534, 237, 48, 50,
- 279, 359, 397, 179, 49, 531, 184, 59, 186, 226,
- 64, 10, 214, 251, 62, 258, 64, 105, 346, 347,
- 322, 228, 195, 198, 57, 532, 400, 176, 184, 255,
- 231, 248, 294, 382, 352, 185, 436, 176, 118, 370,
- 259, 230, 465, 457, 207, 207, 236, 230, 256, 428,
- 348, 239, 242, 235, 490, 300, 281, 211, 243, 447,
- 170, 244, 451, 229, 509, 1, 301, 2, 349, 304,
- 443, 438, 441, 260, 535, 198, 119, 263, 264, 271,
- 33, 410, 34, 387, 138, 211, 53, 117, 360, 10,
- 33, 472, 34, 413, 379, 250, 3, 120, 207, 261,
- 229, 248, 10, 415, 453, 130, 131, 334, 218, 311,
- 454, 418, 4, 5, 419, 420, 236, 49, 54, 231,
- 6, 49, 314, 361, 7, 122, 297, 163, 164, 315,
- 235, 219, 51, 362, 52, 125, 179, 316, 163, 164,
- 335, 189, 190, 132, 8, 220, 221, 448, 377, 27,
- 380, 504, 10, 35, 136, 386, 134, 350, 354, 317,
- 137, 198, 389, 138, 207, 458, 459, 144, 222, 9,
- 363, 145, 469, 150, 505, 55, 434, 308, 10, 462,
- 10, 364, 151, 373, 374, 375, 365, 409, 152, 207,
- 421, 392, 153, 223, 11, 391, 231, 49, 141, 191,
- 192, 12, 121, 156, 13, 236, 154, 366, 159, 49,
- 142, 155, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 496, 163, 164, 184, 160, 271, 162, 314,
- 432, 172, 33, 248, 34, 184, 315, 253, 254, 207,
- 435, -138, 440, 376, 316, 471, 274, 275, 181, 163,
- 164, 430, 163, 164, 299, 254, 248, 163, 164, 248,
- 188, 165, 163, 164, 331, 332, 317, 340, 341, 383,
- 384, 408, 332, 416, 417, 460, 254, 461, 254, 294,
- 474, 332, 236, 538, 485, 254, 486, 254, 248, 193,
- 473, 543, 33, 73, 34, 74, 208, 184, 184, 493,
- 332, 494, 384, 354, 512, 341, 217, 483, 227, 75,
- 76, 245, 528, 341, 544, 254, 546, 254, 252, 272,
- 282, 305, 283, 78, 79, 296, 492, 306, 307, 309,
- 329, 80, 81, 483, 319, 324, 326, 336, 339, 82,
- 83, 337, 84, 338, 355, 378, 246, 85, 385, 271,
- 390, 388, 86, 396, 398, 87, 491, 393, 483, 399,
- 394, 395, 401, 404, 405, 402, 406, 411, 412, 88,
- 89, 175, 423, 426, 271, 424, 427, 90, 429, 433,
- 91, 445, 449, 437, 439, 518, 446, 452, 463, 466,
- 470, 467, 476, 477, 332, 92, 478, 527, 479, 484,
- 489, 498, 499, 511, 521, 93, 495, 524, 94, 488,
- 523, 95, 96, 503, 526, 184, 517, 525, 529, 530,
- 537, 97, 539, 184, 540, 542, 541, 98, 33, 73,
- 34, 74, 99, 247, 199, 547, 549, 277, 431, 548,
- 414, 333, 123, 180, 124, 75, 76, 187, 444, 238,
- 545, 519, 497, 372, 371, 520, 174, 302, 475, 78,
- 79, 303, 240, 0, 0, 215, 0, 80, 81, 0,
- 0, 278, 225, 241, 0, 82, 83, 0, 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, 199, 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, 201, 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, 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, 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, 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, 84, 0, 0, 0, 0,
- 85, 0, 0, 0, 0, 86, 0, 0, 87, 0,
+ 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, 10, 0, 0, 93, 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, 99, 84, 0, 0, 0,
- 0, 85, 0, 0, 0, 200, 86, 0, 0, 87,
+ 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, 173, 0, 0, 0, 93,
+ 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, 201, 84, 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,
- 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, 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, 276, 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, 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,
+ 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, 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,
+ 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, 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
};
static const yytype_int16 yycheck[] =
{
- 4, 146, 12, 274, 160, 208, 142, 11, 12, 44,
- 138, 4, 8, 6, 246, 29, 8, 4, 146, 6,
- 27, 67, 4, 230, 6, 189, 29, 8, 32, 119,
- 29, 59, 61, 37, 38, 39, 40, 41, 4, 5,
- 6, 7, 39, 31, 72, 80, 23, 24, 235, 21,
- 22, 8, 78, 7, 21, 22, 201, 121, 21, 22,
- 36, 10, 28, 7, 99, 74, 71, 83, 28, 463,
- 160, 199, 60, 201, 230, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 71, 21, 22, 134, 4,
- 121, 6, 21, 22, 488, 121, 50, 106, 58, 65,
- 140, 105, 5, 143, 69, 134, 50, 161, 118, 0,
- 200, 275, 319, 117, 118, 66, 120, 30, 122, 154,
- 125, 114, 61, 177, 3, 45, 125, 162, 94, 95,
- 127, 145, 136, 137, 137, 86, 323, 144, 142, 185,
- 230, 176, 77, 92, 272, 121, 378, 144, 146, 145,
- 70, 144, 423, 145, 282, 283, 160, 144, 186, 362,
- 126, 165, 144, 319, 145, 122, 201, 134, 172, 401,
- 147, 175, 404, 145, 128, 1, 211, 3, 144, 214,
- 145, 384, 145, 103, 128, 189, 33, 191, 192, 193,
- 4, 336, 6, 122, 135, 134, 48, 115, 10, 114,
- 4, 433, 6, 339, 294, 146, 32, 144, 336, 129,
- 145, 246, 114, 349, 106, 118, 119, 252, 53, 33,
- 112, 37, 48, 49, 40, 41, 230, 231, 80, 319,
- 56, 235, 72, 45, 60, 83, 439, 21, 22, 79,
- 396, 76, 140, 55, 142, 104, 250, 87, 21, 22,
- 254, 46, 47, 137, 80, 90, 91, 402, 293, 0,
- 295, 34, 114, 4, 95, 300, 5, 271, 272, 109,
- 144, 275, 307, 135, 402, 411, 412, 7, 113, 105,
- 92, 7, 427, 144, 57, 26, 376, 71, 114, 417,
- 114, 103, 82, 17, 18, 19, 108, 332, 144, 427,
- 116, 311, 5, 138, 130, 145, 396, 311, 132, 46,
- 47, 137, 53, 82, 140, 319, 144, 129, 5, 323,
- 144, 144, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 477, 21, 22, 339, 71, 341, 146, 72,
- 375, 98, 4, 378, 6, 349, 79, 145, 146, 477,
- 9, 84, 387, 77, 87, 9, 145, 146, 144, 21,
- 22, 365, 21, 22, 145, 146, 401, 21, 22, 404,
- 7, 33, 21, 22, 145, 146, 109, 145, 146, 145,
- 146, 145, 146, 145, 146, 145, 146, 145, 146, 77,
- 145, 146, 396, 529, 145, 146, 145, 146, 433, 144,
- 435, 537, 4, 5, 6, 7, 144, 411, 412, 145,
- 146, 145, 146, 417, 145, 146, 7, 452, 7, 21,
- 22, 23, 145, 146, 145, 146, 145, 146, 11, 144,
- 8, 62, 9, 35, 36, 20, 471, 145, 71, 145,
- 145, 43, 44, 478, 146, 73, 99, 144, 144, 51,
- 52, 85, 54, 85, 131, 144, 58, 59, 132, 463,
- 7, 62, 64, 84, 7, 67, 470, 97, 503, 7,
- 97, 97, 42, 42, 145, 75, 96, 144, 144, 81,
- 82, 27, 146, 92, 488, 137, 144, 89, 85, 144,
- 92, 101, 96, 92, 144, 499, 101, 42, 144, 38,
- 144, 99, 7, 95, 146, 107, 42, 511, 88, 19,
- 42, 7, 136, 108, 93, 117, 145, 110, 120, 144,
- 102, 123, 124, 146, 9, 529, 145, 102, 144, 33,
- 144, 133, 144, 537, 68, 68, 110, 139, 4, 5,
- 6, 7, 144, 145, 10, 100, 7, 198, 368, 145,
- 341, 250, 55, 118, 56, 21, 22, 124, 396, 162,
- 539, 501, 478, 283, 282, 503, 115, 212, 439, 35,
- 36, 212, 166, -1, -1, 148, -1, 43, 44, -1,
- -1, 199, 153, 171, -1, 51, 52, -1, 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, 10, -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, 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, -1, 54, -1, -1, -1, -1,
- 59, -1, -1, -1, -1, 64, -1, -1, 67, -1,
+ 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, 114, -1, -1, 117, -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, 63, 64, -1, -1, 67,
+ -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,
@@ -1344,29 +1310,56 @@
-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, 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, 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,
+ -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, -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, 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
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1376,58 +1369,59 @@
0, 1, 3, 32, 48, 49, 56, 60, 80, 105,
114, 130, 137, 140, 149, 150, 151, 152, 153, 154,
155, 177, 178, 181, 182, 185, 187, 190, 191, 192,
- 256, 257, 121, 4, 6, 190, 254, 78, 121, 71,
- 121, 83, 28, 58, 193, 254, 188, 189, 204, 254,
+ 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, 254, 125, 179, 71, 179, 254, 254,
- 254, 254, 254, 5, 7, 21, 22, 23, 35, 36,
+ 140, 143, 3, 255, 125, 179, 71, 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,
158, 194, 195, 196, 198, 230, 231, 232, 233, 234,
- 235, 236, 237, 244, 247, 250, 254, 115, 146, 33,
+ 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, 251, 254, 23, 24,
- 147, 252, 98, 22, 233, 27, 144, 183, 184, 254,
- 189, 144, 198, 253, 254, 179, 254, 191, 7, 46,
- 47, 46, 47, 144, 180, 254, 156, 157, 254, 10,
- 63, 144, 226, 227, 228, 229, 230, 247, 144, 253,
- 226, 134, 238, 239, 61, 241, 242, 7, 53, 76,
- 90, 91, 113, 138, 245, 245, 230, 7, 145, 145,
- 144, 198, 201, 202, 205, 234, 254, 224, 196, 254,
- 231, 232, 144, 254, 254, 23, 58, 145, 230, 243,
- 146, 224, 11, 145, 146, 180, 192, 156, 45, 70,
- 103, 129, 162, 254, 254, 169, 170, 171, 172, 173,
- 174, 254, 144, 165, 145, 146, 82, 158, 229, 198,
- 226, 230, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 77, 249, 20, 244, 246, 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, 254, 144, 85, 85, 144,
- 145, 146, 5, 7, 28, 65, 94, 95, 126, 144,
- 254, 255, 247, 248, 254, 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, 132, 230, 122, 62, 230,
- 7, 145, 204, 97, 97, 97, 84, 201, 7, 7,
- 203, 42, 75, 207, 42, 145, 96, 215, 145, 230,
- 226, 144, 144, 253, 170, 253, 145, 146, 37, 40,
- 41, 116, 175, 146, 137, 166, 92, 144, 244, 85,
- 254, 159, 230, 144, 198, 9, 243, 92, 244, 144,
- 230, 145, 69, 145, 202, 101, 101, 243, 226, 96,
- 208, 243, 42, 106, 112, 216, 217, 145, 253, 253,
- 145, 145, 247, 144, 176, 162, 38, 99, 167, 226,
- 144, 9, 243, 230, 145, 246, 7, 95, 42, 88,
- 209, 220, 221, 230, 19, 145, 145, 169, 144, 42,
- 145, 254, 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, 254, 212,
- 221, 93, 223, 102, 110, 102, 9, 254, 145, 144,
- 33, 66, 86, 7, 50, 128, 219, 144, 253, 144,
- 68, 110, 68, 253, 145, 213, 145, 100, 145, 7
+ 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,
+ 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,
+ 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,
+ 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,
+ 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
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1460,9 +1454,10 @@
237, 237, 238, 238, 239, 240, 240, 241, 242, 242,
243, 243, 244, 244, 244, 244, 244, 244, 244, 244,
245, 245, 245, 245, 245, 245, 246, 246, 247, 247,
- 248, 248, 249, 249, 249, 249, 249, 249, 249, 249,
- 249, 249, 250, 251, 251, 252, 252, 252, 253, 253,
- 254, 254, 255, 255, 255, 255, 256, 257, 257
+ 248, 248, 249, 249, 250, 250, 250, 250, 250, 250,
+ 250, 250, 250, 250, 251, 252, 252, 253, 253, 253,
+ 254, 254, 255, 255, 256, 256, 256, 256, 257, 258,
+ 258
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1477,7 +1472,7 @@
10, 4, 3, 1, 0, 1, 0, 3, 0, 5,
0, 8, 1, 1, 1, 3, 1, 1, 1, 1,
2, 2, 2, 4, 2, 2, 1, 1, 1, 1,
- 0, 3, 10, 7, 4, 5, 5, 4, 4, 5,
+ 0, 3, 10, 5, 4, 5, 5, 4, 4, 5,
2, 2, 2, 0, 4, 5, 4, 3, 1, 3,
2, 3, 0, 3, 2, 1, 3, 3, 4, 1,
3, 1, 10, 0, 1, 1, 1, 1, 1, 3,
@@ -1494,10 +1489,11 @@
1, 3, 1, 3, 4, 4, 5, 6, 6, 8,
5, 4, 1, 2, 4, 1, 2, 4, 0, 2,
1, 3, 1, 1, 2, 2, 1, 2, 3, 2,
- 1, 1, 1, 1, 1, 1, 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
+ 1, 1, 1, 1, 1, 1, 1, 3, 3, 5,
+ 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
};
@@ -1994,1071 +1990,1081 @@
switch (yytype)
{
case 3: /* TOKEN_COMMAND */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).string_value_) != nullptr) {
delete ((*yyvaluep).string_value_);
}
}
-#line 2004 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2000 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 4: /* TOKEN_NAME */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).string_value_) != nullptr) {
delete ((*yyvaluep).string_value_);
}
}
-#line 2014 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2010 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 5: /* TOKEN_STRING_SINGLE_QUOTED */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).string_value_) != nullptr) {
delete ((*yyvaluep).string_value_);
}
}
-#line 2024 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2020 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 6: /* TOKEN_STRING_DOUBLE_QUOTED */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).string_value_) != nullptr) {
delete ((*yyvaluep).string_value_);
}
}
-#line 2034 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2030 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 7: /* TOKEN_UNSIGNED_NUMVAL */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).numeric_literal_value_) != nullptr) {
delete ((*yyvaluep).numeric_literal_value_);
}
}
-#line 2044 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2040 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 150: /* sql_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).statement_) != nullptr) {
delete ((*yyvaluep).statement_);
}
}
-#line 2054 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2050 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 151: /* quit_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).quit_statement_) != nullptr) {
delete ((*yyvaluep).quit_statement_);
}
}
-#line 2064 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2060 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 152: /* alter_table_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).statement_) != nullptr) {
delete ((*yyvaluep).statement_);
}
}
-#line 2074 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2070 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 153: /* create_table_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).create_table_statement_) != nullptr) {
delete ((*yyvaluep).create_table_statement_);
}
}
-#line 2084 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2080 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 154: /* create_index_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).statement_) != nullptr) {
delete ((*yyvaluep).statement_);
}
}
-#line 2094 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2090 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 155: /* drop_table_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).drop_table_statement_) != nullptr) {
delete ((*yyvaluep).drop_table_statement_);
}
}
-#line 2104 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2100 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 156: /* column_def */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).attribute_definition_) != nullptr) {
delete ((*yyvaluep).attribute_definition_);
}
}
-#line 2114 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2110 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 157: /* column_def_commalist */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).attribute_definition_list_) != nullptr) {
delete ((*yyvaluep).attribute_definition_list_);
}
}
-#line 2124 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2120 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 158: /* data_type */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).data_type_) != nullptr) {
delete ((*yyvaluep).data_type_);
}
}
-#line 2134 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2130 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 159: /* column_constraint_def */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).column_constraint_) != nullptr) {
delete ((*yyvaluep).column_constraint_);
}
}
-#line 2144 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2140 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 160: /* column_constraint_def_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).column_constraint_list_) != nullptr) {
delete ((*yyvaluep).column_constraint_list_);
}
}
-#line 2154 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2150 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 161: /* opt_column_constraint_def_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).column_constraint_list_) != nullptr) {
delete ((*yyvaluep).column_constraint_list_);
}
}
-#line 2164 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2160 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 165: /* opt_column_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).attribute_list_) != nullptr) {
delete ((*yyvaluep).attribute_list_);
}
}
-#line 2174 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2170 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 166: /* opt_block_properties */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).block_properties_) != nullptr) {
delete ((*yyvaluep).block_properties_);
}
}
-#line 2184 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2180 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 167: /* opt_partition_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).partition_clause_) != nullptr) {
delete ((*yyvaluep).partition_clause_);
}
}
-#line 2194 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2190 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 168: /* partition_type */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).string_value_) != nullptr) {
delete ((*yyvaluep).string_value_);
}
}
-#line 2204 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2200 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 169: /* key_value_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).key_value_list_) != nullptr) {
delete ((*yyvaluep).key_value_list_);
}
}
-#line 2214 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2210 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 170: /* key_value */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).key_value_) != nullptr) {
delete ((*yyvaluep).key_value_);
}
}
-#line 2224 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2220 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 171: /* key_string_value */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).key_string_value_) != nullptr) {
delete ((*yyvaluep).key_string_value_);
}
}
-#line 2234 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2230 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 172: /* key_string_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).key_string_list_) != nullptr) {
delete ((*yyvaluep).key_string_list_);
}
}
-#line 2244 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2240 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 173: /* key_integer_value */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).key_integer_value_) != nullptr) {
delete ((*yyvaluep).key_integer_value_);
}
}
-#line 2254 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2250 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 174: /* key_bool_value */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).key_bool_value_) != nullptr) {
delete ((*yyvaluep).key_bool_value_);
}
}
-#line 2264 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2260 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 175: /* index_type */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).string_value_) != nullptr) {
delete ((*yyvaluep).string_value_);
}
}
-#line 2274 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2270 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 176: /* opt_index_properties */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).key_value_list_) != nullptr) {
delete ((*yyvaluep).key_value_list_);
}
}
-#line 2284 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2280 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 177: /* insert_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).insert_statement_) != nullptr) {
delete ((*yyvaluep).insert_statement_);
}
}
-#line 2294 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2290 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 178: /* copy_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).copy_statement_) != nullptr) {
delete ((*yyvaluep).copy_statement_);
}
}
-#line 2304 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2300 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 179: /* copy_to_target */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).string_value_) != nullptr) {
delete ((*yyvaluep).string_value_);
}
}
-#line 2314 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2310 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 180: /* opt_copy_params */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).key_value_list_) != nullptr) {
delete ((*yyvaluep).key_value_list_);
}
}
-#line 2324 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2320 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 181: /* update_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).update_statement_) != nullptr) {
delete ((*yyvaluep).update_statement_);
}
}
-#line 2334 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2330 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 182: /* delete_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).delete_statement_) != nullptr) {
delete ((*yyvaluep).delete_statement_);
}
}
-#line 2344 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2340 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 183: /* assignment_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).assignment_list_) != nullptr) {
delete ((*yyvaluep).assignment_list_);
}
}
-#line 2354 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2350 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 184: /* assignment_item */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).assignment_) != nullptr) {
delete ((*yyvaluep).assignment_);
}
}
-#line 2364 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2360 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 185: /* set_operation_statement */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).set_operation_statement_) != nullptr) {
delete ((*yyvaluep).set_operation_statement_);
}
}
-#line 2374 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2370 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 186: /* opt_priority_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).opt_priority_clause_) != nullptr) {
delete ((*yyvaluep).opt_priority_clause_);
}
}
-#line 2384 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2380 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 187: /* with_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).with_list_) != nullptr) {
delete ((*yyvaluep).with_list_);
}
}
-#line 2394 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2390 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 188: /* with_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).with_list_) != nullptr) {
delete ((*yyvaluep).with_list_);
}
}
-#line 2404 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2400 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 189: /* with_list_element */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).with_list_element_) != nullptr) {
delete ((*yyvaluep).with_list_element_);
}
}
-#line 2414 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2410 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 190: /* set_operation_union */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).set_operation_) != nullptr) {
delete ((*yyvaluep).set_operation_);
}
}
-#line 2424 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2420 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 191: /* set_operation_intersect */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).set_operation_) != nullptr) {
delete ((*yyvaluep).set_operation_);
}
}
-#line 2434 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2430 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 192: /* select_query */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).select_query_) != nullptr) {
delete ((*yyvaluep).select_query_);
}
}
-#line 2444 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2440 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 193: /* opt_all_distinct */
-#line 625 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 629 "../SqlParser.ypp" /* yacc.c:1257 */
{ }
-#line 2450 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2446 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 194: /* selection */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).selection_) != nullptr) {
delete ((*yyvaluep).selection_);
}
}
-#line 2460 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2456 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 195: /* selection_item_commalist */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).selection_list_) != nullptr) {
delete ((*yyvaluep).selection_list_);
}
}
-#line 2470 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2466 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 196: /* selection_item */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).selection_item_) != nullptr) {
delete ((*yyvaluep).selection_item_);
}
}
-#line 2480 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2476 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 197: /* from_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).table_reference_list_) != nullptr) {
delete ((*yyvaluep).table_reference_list_);
}
}
-#line 2490 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2486 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 198: /* subquery_expression */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).subquery_expression_) != nullptr) {
delete ((*yyvaluep).subquery_expression_);
}
}
-#line 2500 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2496 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 199: /* opt_sample_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).opt_sample_clause_) != nullptr) {
delete ((*yyvaluep).opt_sample_clause_);
}
}
-#line 2510 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2506 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 200: /* join_type */
-#line 629 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 633 "../SqlParser.ypp" /* yacc.c:1257 */
{ }
-#line 2516 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2512 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 201: /* joined_table_reference */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).table_reference_) != nullptr) {
delete ((*yyvaluep).table_reference_);
}
}
-#line 2526 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2522 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 202: /* table_reference */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).table_reference_) != nullptr) {
delete ((*yyvaluep).table_reference_);
}
}
-#line 2536 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2532 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 203: /* table_reference_signature */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).table_reference_signature_) != nullptr) {
delete ((*yyvaluep).table_reference_signature_);
}
}
-#line 2546 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2542 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 204: /* table_reference_signature_primary */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).table_reference_signature_) != nullptr) {
delete ((*yyvaluep).table_reference_signature_);
}
}
-#line 2556 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2552 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 205: /* joined_table_reference_commalist */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).table_reference_list_) != nullptr) {
delete ((*yyvaluep).table_reference_list_);
}
}
-#line 2566 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2562 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 206: /* opt_group_by_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).opt_group_by_clause_) != nullptr) {
delete ((*yyvaluep).opt_group_by_clause_);
}
}
-#line 2576 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2572 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 207: /* opt_having_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).opt_having_clause_) != nullptr) {
delete ((*yyvaluep).opt_having_clause_);
}
}
-#line 2586 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2582 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 208: /* opt_order_by_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).opt_order_by_clause_) != nullptr) {
delete ((*yyvaluep).opt_order_by_clause_);
}
}
-#line 2596 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2592 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 209: /* opt_limit_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).opt_limit_clause_) != nullptr) {
delete ((*yyvaluep).opt_limit_clause_);
}
}
-#line 2606 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2602 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 210: /* opt_window_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).opt_window_clause_) != nullptr) {
delete ((*yyvaluep).opt_window_clause_);
}
}
-#line 2616 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2612 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 211: /* window_declaration_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).opt_window_clause_) != nullptr) {
delete ((*yyvaluep).opt_window_clause_);
}
}
-#line 2626 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2622 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 212: /* window_declaration */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).window_definition_) != nullptr) {
delete ((*yyvaluep).window_definition_);
}
}
-#line 2636 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2632 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 213: /* window_definition */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).window_definition_) != nullptr) {
delete ((*yyvaluep).window_definition_);
}
}
-#line 2646 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2642 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 214: /* opt_window_partition */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).window_partition_by_list_) != nullptr) {
delete ((*yyvaluep).window_partition_by_list_);
}
}
-#line 2656 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2652 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 215: /* opt_window_order */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).window_order_by_list_) != nullptr) {
delete ((*yyvaluep).window_order_by_list_);
}
}
-#line 2666 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2662 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 216: /* opt_window_frame */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).window_frame_info_) != nullptr) {
delete ((*yyvaluep).window_frame_info_);
}
}
-#line 2676 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2672 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 217: /* frame_mode */
-#line 625 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 629 "../SqlParser.ypp" /* yacc.c:1257 */
{ }
-#line 2682 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2678 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 218: /* frame_preceding */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).numeric_literal_value_) != nullptr) {
delete ((*yyvaluep).numeric_literal_value_);
}
}
-#line 2692 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2688 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 219: /* frame_following */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).numeric_literal_value_) != nullptr) {
delete ((*yyvaluep).numeric_literal_value_);
}
}
-#line 2702 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2698 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 220: /* order_commalist */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).order_commalist_) != nullptr) {
delete ((*yyvaluep).order_commalist_);
}
}
-#line 2712 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2708 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 221: /* order_item */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).order_item_) != nullptr) {
delete ((*yyvaluep).order_item_);
}
}
-#line 2722 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2718 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 222: /* opt_order_direction */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).order_direction_) != nullptr) {
delete ((*yyvaluep).order_direction_);
}
}
-#line 2732 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2728 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 223: /* opt_nulls_first */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).order_direction_) != nullptr) {
delete ((*yyvaluep).order_direction_);
}
}
-#line 2742 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2738 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 224: /* opt_where_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).predicate_) != nullptr) {
delete ((*yyvaluep).predicate_);
}
}
-#line 2752 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2748 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 225: /* where_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).predicate_) != nullptr) {
delete ((*yyvaluep).predicate_);
}
}
-#line 2762 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2758 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 226: /* or_expression */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).predicate_) != nullptr) {
delete ((*yyvaluep).predicate_);
}
}
-#line 2772 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2768 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 227: /* and_expression */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).predicate_) != nullptr) {
delete ((*yyvaluep).predicate_);
}
}
-#line 2782 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2778 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 228: /* not_expression */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).predicate_) != nullptr) {
delete ((*yyvaluep).predicate_);
}
}
-#line 2792 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2788 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 229: /* predicate_expression_base */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).predicate_) != nullptr) {
delete ((*yyvaluep).predicate_);
}
}
-#line 2802 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2798 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 230: /* add_expression */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).expression_) != nullptr) {
delete ((*yyvaluep).expression_);
}
}
-#line 2812 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2808 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 231: /* multiply_expression */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).expression_) != nullptr) {
delete ((*yyvaluep).expression_);
}
}
-#line 2822 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2818 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 232: /* unary_expression */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).expression_) != nullptr) {
delete ((*yyvaluep).expression_);
}
}
-#line 2832 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2828 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 233: /* expression_base */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).expression_) != nullptr) {
delete ((*yyvaluep).expression_);
}
}
-#line 2842 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2838 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 234: /* function_call */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).function_call_) != nullptr) {
delete ((*yyvaluep).function_call_);
}
}
-#line 2852 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2848 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 235: /* extract_function */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).expression_) != nullptr) {
delete ((*yyvaluep).expression_);
}
}
-#line 2862 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2858 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 236: /* substr_function */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).expression_) != nullptr) {
delete ((*yyvaluep).expression_);
}
}
-#line 2872 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2868 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 237: /* case_expression */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).expression_) != nullptr) {
delete ((*yyvaluep).expression_);
}
}
-#line 2882 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2878 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 238: /* simple_when_clause_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).simple_when_clause_list_) != nullptr) {
delete ((*yyvaluep).simple_when_clause_list_);
}
}
-#line 2892 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2888 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 239: /* simple_when_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).simple_when_clause_) != nullptr) {
delete ((*yyvaluep).simple_when_clause_);
}
}
-#line 2902 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2898 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 240: /* searched_when_clause_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).searched_when_clause_list_) != nullptr) {
delete ((*yyvaluep).searched_when_clause_list_);
}
}
-#line 2912 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2908 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 241: /* searched_when_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).searched_when_clause_) != nullptr) {
delete ((*yyvaluep).searched_when_clause_);
}
}
-#line 2922 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2918 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 242: /* opt_else_clause */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).expression_) != nullptr) {
delete ((*yyvaluep).expression_);
}
}
-#line 2932 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2928 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 243: /* expression_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).expression_list_) != nullptr) {
delete ((*yyvaluep).expression_list_);
}
}
-#line 2942 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2938 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 244: /* literal_value */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).literal_value_) != nullptr) {
delete ((*yyvaluep).literal_value_);
}
}
-#line 2952 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2948 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 245: /* datetime_unit */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).string_value_) != nullptr) {
delete ((*yyvaluep).string_value_);
}
}
-#line 2962 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2958 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
case 246: /* literal_value_commalist */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).literal_value_list_) != nullptr) {
delete ((*yyvaluep).literal_value_list_);
}
}
-#line 2972 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2968 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
- case 247: /* attribute_ref */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+ case 247: /* literal_value_commalist_multiple */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
+ {
+ if (((*yyvaluep).literal_value_list_multiple_) != nullptr) {
+ delete ((*yyvaluep).literal_value_list_multiple_);
+ }
+}
+#line 2978 "SqlParser_gen.cpp" /* yacc.c:1257 */
+ break;
+
+ case 248: /* attribute_ref */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).attribute_) != nullptr) {
delete ((*yyvaluep).attribute_);
}
}
-#line 2982 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 2988 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
- case 248: /* attribute_ref_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+ case 249: /* attribute_ref_list */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).attribute_list_) != nullptr) {
delete ((*yyvaluep).attribute_list_);
}
}
-#line 2992 "SqlParser_gen.cpp" /* yacc.c:1257 */
- break;
-
- case 249: /* comparison_operation */
-#line 626 "../SqlParser.ypp" /* yacc.c:1257 */
- { }
#line 2998 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
- case 250: /* unary_operation */
-#line 627 "../SqlParser.ypp" /* yacc.c:1257 */
+ case 250: /* comparison_operation */
+#line 630 "../SqlParser.ypp" /* yacc.c:1257 */
{ }
#line 3004 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
- case 251: /* add_operation */
-#line 628 "../SqlParser.ypp" /* yacc.c:1257 */
+ case 251: /* unary_operation */
+#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
{ }
#line 3010 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
- case 252: /* multiply_operation */
-#line 628 "../SqlParser.ypp" /* yacc.c:1257 */
+ case 252: /* add_operation */
+#line 632 "../SqlParser.ypp" /* yacc.c:1257 */
{ }
#line 3016 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
- case 253: /* name_commalist */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+ case 253: /* multiply_operation */
+#line 632 "../SqlParser.ypp" /* yacc.c:1257 */
+ { }
+#line 3022 "SqlParser_gen.cpp" /* yacc.c:1257 */
+ break;
+
+ case 254: /* name_commalist */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).string_list_) != nullptr) {
delete ((*yyvaluep).string_list_);
}
}
-#line 3026 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 3032 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
- case 254: /* any_name */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+ case 255: /* any_name */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).string_value_) != nullptr) {
delete ((*yyvaluep).string_value_);
}
}
-#line 3036 "SqlParser_gen.cpp" /* yacc.c:1257 */
- break;
-
- case 255: /* boolean_value */
-#line 625 "../SqlParser.ypp" /* yacc.c:1257 */
- { }
#line 3042 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
- case 256: /* command */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+ case 256: /* boolean_value */
+#line 629 "../SqlParser.ypp" /* yacc.c:1257 */
+ { }
+#line 3048 "SqlParser_gen.cpp" /* yacc.c:1257 */
+ break;
+
+ case 257: /* command */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).command_) != nullptr) {
delete ((*yyvaluep).command_);
}
}
-#line 3052 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 3058 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
- case 257: /* command_argument_list */
-#line 631 "../SqlParser.ypp" /* yacc.c:1257 */
+ case 258: /* command_argument_list */
+#line 635 "../SqlParser.ypp" /* yacc.c:1257 */
{
if (((*yyvaluep).command_argument_list_) != nullptr) {
delete ((*yyvaluep).command_argument_list_);
}
}
-#line 3062 "SqlParser_gen.cpp" /* yacc.c:1257 */
+#line 3068 "SqlParser_gen.cpp" /* yacc.c:1257 */
break;
@@ -3350,148 +3356,148 @@
switch (yyn)
{
case 2:
-#line 640 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- *parsedStatement = (yyvsp[-1].statement_);
- YYACCEPT;
- }
-#line 3359 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 3:
#line 644 "../SqlParser.ypp" /* yacc.c:1661 */
{
*parsedStatement = (yyvsp[-1].statement_);
YYACCEPT;
}
-#line 3368 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3365 "SqlParser_gen.cpp" /* yacc.c:1661 */
+ break;
+
+ case 3:
+#line 648 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ *parsedStatement = (yyvsp[-1].statement_);
+ YYACCEPT;
+ }
+#line 3374 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 4:
-#line 648 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- *parsedStatement = (yyvsp[-1].command_);
- YYACCEPT;
- }
-#line 3377 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 5:
#line 652 "../SqlParser.ypp" /* yacc.c:1661 */
{
*parsedStatement = (yyvsp[-1].command_);
YYACCEPT;
}
-#line 3386 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3383 "SqlParser_gen.cpp" /* yacc.c:1661 */
+ break;
+
+ case 5:
+#line 656 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ *parsedStatement = (yyvsp[-1].command_);
+ YYACCEPT;
+ }
+#line 3392 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 6:
-#line 656 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 660 "../SqlParser.ypp" /* yacc.c:1661 */
{
YYABORT;
}
-#line 3394 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3400 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 7:
-#line 659 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 663 "../SqlParser.ypp" /* yacc.c:1661 */
{
// Regular yyparse() return codes are non-negative, so use a negative one here.
return -1;
}
-#line 3403 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3409 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 8:
-#line 666 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 670 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.statement_) = (yyvsp[0].statement_);
}
-#line 3411 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3417 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 9:
-#line 669 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 673 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.statement_) = (yyvsp[0].copy_statement_);
}
-#line 3419 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3425 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 10:
-#line 672 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 676 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.statement_) = (yyvsp[0].create_table_statement_);
}
-#line 3427 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3433 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 11:
-#line 675 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 679 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.statement_) = (yyvsp[0].statement_);
}
-#line 3435 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3441 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 12:
-#line 678 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 682 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.statement_) = (yyvsp[0].delete_statement_);
}
-#line 3443 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3449 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 13:
-#line 681 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 685 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.statement_) = (yyvsp[0].drop_table_statement_);
}
-#line 3451 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3457 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 14:
-#line 684 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 688 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.statement_) = (yyvsp[0].insert_statement_);
}
-#line 3459 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3465 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 15:
-#line 687 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 691 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.statement_) = (yyvsp[0].quit_statement_);
}
-#line 3467 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3473 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 16:
-#line 690 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 694 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.statement_) = (yyvsp[0].set_operation_statement_);
}
-#line 3475 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3481 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 17:
-#line 693 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 697 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.statement_) = (yyvsp[0].update_statement_);
}
-#line 3483 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3489 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 18:
-#line 699 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 703 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.quit_statement_) = new quickstep::ParseStatementQuit((yylsp[0]).first_line, (yylsp[0]).first_column);
}
-#line 3491 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3497 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 19:
-#line 705 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 709 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-3].string_value_);
delete (yyvsp[0].attribute_definition_);
@@ -3499,22 +3505,22 @@
NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
YYERROR;
}
-#line 3503 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3509 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 20:
-#line 712 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 716 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-3].string_value_);
(yyval.statement_) = nullptr;
NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
YYERROR;
}
-#line 3514 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3520 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 21:
-#line 718 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 722 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-3].string_value_);
delete (yyvsp[0].string_value_);
@@ -3522,11 +3528,11 @@
NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
YYERROR;
}
-#line 3526 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3532 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 22:
-#line 725 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 729 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-3].string_value_);
delete (yyvsp[0].string_value_);
@@ -3534,19 +3540,19 @@
NotSupported(&(yylsp[-5]), yyscanner, "ALTER statements");
YYERROR;
}
-#line 3538 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3544 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 23:
-#line 734 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 738 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 3546 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3552 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 24:
-#line 739 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 743 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[0].key_value_list_)) {
(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_), (yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].key_value_list_));
@@ -3554,153 +3560,153 @@
(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 3558 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3564 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 25:
-#line 748 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 752 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.drop_table_statement_) = new quickstep::ParseStatementDropTable((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].string_value_));
}
-#line 3566 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3572 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 26:
-#line 753 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 757 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 3574 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3580 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 27:
-#line 758 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 762 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.attribute_definition_list_) = new quickstep::PtrList<quickstep::ParseAttributeDefinition>();
(yyval.attribute_definition_list_)->push_back((yyvsp[0].attribute_definition_));
}
-#line 3583 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3589 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 28:
-#line 762 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 766 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.attribute_definition_list_) = (yyvsp[-2].attribute_definition_list_);
(yyval.attribute_definition_list_)->push_back((yyvsp[0].attribute_definition_));
}
-#line 3592 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3598 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 29:
-#line 768 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 772 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = nullptr;
NotSupported(&(yylsp[0]), yyscanner, "BIT data type");
YYERROR;
}
-#line 3602 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3608 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 30:
-#line 773 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 777 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDate));
}
-#line 3610 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3616 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 31:
-#line 776 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 780 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDatetime));
}
-#line 3618 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3624 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 32:
-#line 779 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 783 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = nullptr;
NotSupported(&(yylsp[0]), yyscanner, "TIME data type");
YYERROR;
}
-#line 3628 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3634 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 33:
-#line 784 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 788 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDatetime));
}
-#line 3636 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3642 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 34:
-#line 787 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 791 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDouble));
}
-#line 3644 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3650 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 35:
-#line 790 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 794 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDouble));
}
-#line 3652 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3658 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 36:
-#line 793 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 797 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDouble));
}
-#line 3660 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3666 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 37:
-#line 796 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 800 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kFloat));
}
-#line 3668 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3674 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 38:
-#line 799 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 803 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kInt));
}
-#line 3676 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3682 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 39:
-#line 802 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 806 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kInt));
}
-#line 3684 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3690 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 40:
-#line 805 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 809 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kLong));
}
-#line 3692 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3698 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 41:
-#line 808 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 812 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kLong));
}
-#line 3700 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3706 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 42:
-#line 811 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 815 "../SqlParser.ypp" /* yacc.c:1661 */
{
/**
* NOTE(chasseur): This pattern exhibits a shift/reduce conflict with the
@@ -3713,27 +3719,27 @@
"or YEARMONTH INTERVAL");
YYERROR;
}
-#line 3717 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3723 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 43:
-#line 823 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 827 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kDatetimeInterval));
}
-#line 3725 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3731 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 44:
-#line 826 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 830 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.data_type_) = new quickstep::ParseDataType(quickstep::TypeFactory::GetType(quickstep::kYearMonthInterval));
}
-#line 3733 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3739 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 45:
-#line 829 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 833 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[-1].numeric_literal_value_)->float_like()) {
delete (yyvsp[-1].numeric_literal_value_);
@@ -3752,11 +3758,11 @@
}
}
}
-#line 3756 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3762 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 46:
-#line 847 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 851 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[-1].numeric_literal_value_)->float_like()) {
delete (yyvsp[-1].numeric_literal_value_);
@@ -3775,69 +3781,69 @@
}
}
}
-#line 3779 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3785 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 47:
-#line 867 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 871 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_) = new quickstep::ParseColumnConstraintNull((yylsp[0]).first_line, (yylsp[0]).first_column);
}
-#line 3787 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3793 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 48:
-#line 870 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 874 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_) = new quickstep::ParseColumnConstraintNotNull((yylsp[-1]).first_line, (yylsp[-1]).first_column);
}
-#line 3795 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3801 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 49:
-#line 873 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 877 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_) = nullptr;
NotSupported(&(yylsp[0]), yyscanner, "Column Constraints (UNIQUE)");
YYERROR;
}
-#line 3805 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3811 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 50:
-#line 878 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 882 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_) = nullptr;
NotSupported(&(yylsp[-1]), yyscanner, "Column Constraints (PRIMARY KEY)");
YYERROR;
}
-#line 3815 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3821 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 51:
-#line 883 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 887 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_) = nullptr;
delete (yyvsp[0].literal_value_);
NotSupported(&(yylsp[-1]), yyscanner, "Column Constraints (DEFAULT)");
YYERROR;
}
-#line 3826 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3832 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 52:
-#line 889 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 893 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_) = nullptr;
delete (yyvsp[-1].predicate_);
NotSupported(&(yylsp[-3]), yyscanner, "Column Constraints (CHECK)");
YYERROR;
}
-#line 3837 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3843 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 53:
-#line 895 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 899 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_) = nullptr;
delete (yyvsp[-3].string_value_);
@@ -3845,65 +3851,65 @@
NotSupported(&(yylsp[-4]), yyscanner, "Foreign Keys");
YYERROR;
}
-#line 3849 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3855 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 54:
-#line 904 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 908 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_list_) = (yyvsp[-1].column_constraint_list_);
(yyval.column_constraint_list_)->push_back((yyvsp[0].column_constraint_));
}
-#line 3858 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3864 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 55:
-#line 908 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 912 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_list_) = new quickstep::PtrList<quickstep::ParseColumnConstraint>();
(yyval.column_constraint_list_)->push_back((yyvsp[0].column_constraint_));
}
-#line 3867 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3873 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 56:
-#line 914 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 918 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_list_) = nullptr;
}
-#line 3875 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3881 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 57:
-#line 917 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 921 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.column_constraint_list_) = (yyvsp[0].column_constraint_list_);
}
-#line 3883 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3889 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 58:
-#line 922 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 926 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-1].string_list_);
NotSupported(&(yylsp[-3]), yyscanner, "Table Constraints (UNIQUE)");
YYERROR;
}
-#line 3893 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3899 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 59:
-#line 927 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 931 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-1].string_list_);
NotSupported(&(yylsp[-4]), yyscanner, "Table Constraints (PRIMARY KEY)");
YYERROR;
}
-#line 3903 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3909 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 60:
-#line 932 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 936 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-6].string_list_);
delete (yyvsp[-3].string_value_);
@@ -3911,95 +3917,95 @@
NotSupported(&(yylsp[-9]), yyscanner, "Table Constraints (FOREIGN KEY)");
YYERROR;
}
-#line 3915 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3921 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 61:
-#line 939 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 943 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-1].predicate_);
NotSupported(&(yylsp[-3]), yyscanner, "Table Constraints (CHECK)");
YYERROR;
}
-#line 3925 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3931 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 62:
-#line 946 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 950 "../SqlParser.ypp" /* yacc.c:1661 */
{
NotSupported(&(yylsp[-2]), yyscanner, "Table Constraints");
YYERROR;
}
-#line 3934 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3940 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 63:
-#line 950 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 954 "../SqlParser.ypp" /* yacc.c:1661 */
{
NotSupported(&(yylsp[0]), yyscanner, "Table Constraints");
YYERROR;
}
-#line 3943 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3949 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 64:
-#line 956 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 960 "../SqlParser.ypp" /* yacc.c:1661 */
{
/* $$ = nullptr; */
}
-#line 3951 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3957 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 65:
-#line 959 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 963 "../SqlParser.ypp" /* yacc.c:1661 */
{
/* $$ = $1; */
}
-#line 3959 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3965 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 66:
-#line 964 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 968 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.attribute_list_) = nullptr;
}
-#line 3967 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3973 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 67:
-#line 967 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 971 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.attribute_list_) = (yyvsp[-1].attribute_list_);
}
-#line 3975 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3981 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 68:
-#line 972 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 976 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.block_properties_) = nullptr;
}
-#line 3983 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3989 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 69:
-#line 975 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 979 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.block_properties_) = new quickstep::ParseBlockProperties((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-1].key_value_list_));
}
-#line 3991 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 3997 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 70:
-#line 980 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 984 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.partition_clause_) = nullptr;
}
-#line 3999 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4005 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 71:
-#line 983 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 987 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[0].numeric_literal_value_)->float_like()) {
delete (yyvsp[0].numeric_literal_value_);
@@ -4017,111 +4023,111 @@
}
}
}
-#line 4021 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4027 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 72:
-#line 1002 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1006 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, quickstep::kHashPartitionType);
}
-#line 4029 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4035 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 73:
-#line 1005 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1009 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, quickstep::kRangePartitionType);
}
-#line 4037 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4043 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 74:
-#line 1010 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1014 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_value_list_) = new quickstep::PtrList<quickstep::ParseKeyValue>();
(yyval.key_value_list_)->push_back((yyvsp[0].key_value_));
}
-#line 4046 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4052 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 75:
-#line 1014 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1018 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_value_list_) = (yyvsp[-2].key_value_list_);
(yyval.key_value_list_)->push_back((yyvsp[0].key_value_));
}
-#line 4055 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4061 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 76:
-#line 1020 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1024 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_value_) = (yyvsp[0].key_string_value_);
}
-#line 4063 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4069 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 77:
-#line 1023 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1027 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_value_) = (yyvsp[0].key_string_list_);
}
-#line 4071 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4077 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 78:
-#line 1026 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1030 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_value_) = (yyvsp[0].key_integer_value_);
}
-#line 4079 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4085 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 79:
-#line 1029 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1033 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_value_) = (yyvsp[0].key_bool_value_);
}
-#line 4087 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4093 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 80:
-#line 1034 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1038 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_string_value_) = new quickstep::ParseKeyStringValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].string_value_));
}
-#line 4095 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4101 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 81:
-#line 1037 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1041 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_string_value_) = new quickstep::ParseKeyStringValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].string_value_));
}
-#line 4103 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4109 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 82:
-#line 1040 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1044 "../SqlParser.ypp" /* yacc.c:1661 */
{
// This is a special case to handle the COMPRESS ALL option of the BLOCK PROPERTIES.
(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 4113 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4119 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 83:
-#line 1047 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1051 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_string_list_) = new quickstep::ParseKeyStringList((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-3].string_value_), (yyvsp[-1].string_list_));
}
-#line 4121 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4127 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 84:
-#line 1052 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1056 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[0].numeric_literal_value_)->float_like()) {
delete (yyvsp[0].numeric_literal_value_);
@@ -4131,72 +4137,72 @@
}
(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 4135 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4141 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 85:
-#line 1063 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1067 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_bool_value_) = new quickstep::ParseKeyBoolValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].boolean_value_));
}
-#line 4143 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4149 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 86:
-#line 1068 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1072 "../SqlParser.ypp" /* yacc.c:1661 */
{
// Defaults to BitWeavingV, but IndexProperties can change this to H.
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
std::to_string(quickstep::IndexSubBlockType::kBitWeavingV));
}
-#line 4153 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4159 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 87:
-#line 1073 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1077 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
std::to_string(quickstep::IndexSubBlockType::kBloomFilter));
}
-#line 4162 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4168 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 88:
-#line 1077 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1081 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
std::to_string(quickstep::IndexSubBlockType::kCSBTree));
}
-#line 4171 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4177 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 89:
-#line 1081 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1085 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column,
std::to_string(quickstep::IndexSubBlockType::kSMA));
}
-#line 4180 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4186 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 90:
-#line 1087 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1091 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_value_list_) = nullptr;
}
-#line 4188 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4194 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 91:
-#line 1090 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1094 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_value_list_) = (yyvsp[-1].key_value_list_);
}
-#line 4196 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4202 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 92:
-#line 1096 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1100 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-7].string_value_);
delete (yyvsp[-5].string_list_);
@@ -4205,180 +4211,180 @@
NotSupported(&(yylsp[-6]), yyscanner, "list of column names in INSERT statement");
YYERROR;
}
-#line 4209 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4215 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 93:
-#line 1104 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1108 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.insert_statement_) = new quickstep::ParseStatementInsertTuple((yylsp[-6]).first_line, (yylsp[-6]).first_column, (yyvsp[-4].string_value_), (yyvsp[-1].literal_value_list_));
+ (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 4217 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4223 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 94:
-#line 1107 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1111 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.insert_statement_) = new quickstep::ParseStatementInsertSelection((yylsp[-3]).first_line, (yylsp[-2]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].select_query_), nullptr);
}
-#line 4225 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4231 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 95:
-#line 1110 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1114 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4233 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4239 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 96:
-#line 1116 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1120 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.copy_statement_) = new quickstep::ParseStatementCopy((yylsp[-4]).first_line, (yylsp[-4]).first_column,
quickstep::ParseStatementCopy::kFrom,
(yyvsp[-3].string_value_), (yyvsp[-1].string_value_), (yyvsp[0].key_value_list_));
}
-#line 4243 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4249 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 97:
-#line 1121 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1125 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.copy_statement_) = new quickstep::ParseStatementCopy((yylsp[-3]).first_line, (yylsp[-3]).first_column,
quickstep::ParseStatementCopy::kTo,
(yyvsp[-2].string_value_), (yyvsp[-1].string_value_), (yyvsp[0].key_value_list_));
}
-#line 4253 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4259 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 98:
-#line 1126 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1130 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4262 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4268 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 99:
-#line 1130 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1134 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4271 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4277 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 100:
-#line 1136 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1140 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4280 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4286 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 101:
-#line 1140 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1144 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, "$stdout");
}
-#line 4288 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4294 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 102:
-#line 1143 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1147 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, "$stderr");
}
-#line 4296 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4302 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 103:
-#line 1148 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1152 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_value_list_) = nullptr;
}
-#line 4304 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4310 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 104:
-#line 1151 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1155 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.key_value_list_) = (yyvsp[-1].key_value_list_);
}
-#line 4312 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4318 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 105:
-#line 1156 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1160 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4320 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4326 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 106:
-#line 1161 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1165 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.delete_statement_) = new quickstep::ParseStatementDelete((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].predicate_));
}
-#line 4328 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4334 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 107:
-#line 1166 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1170 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.assignment_list_) = (yyvsp[-2].assignment_list_);
(yyval.assignment_list_)->push_back((yyvsp[0].assignment_));
}
-#line 4337 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4343 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 108:
-#line 1170 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1174 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.assignment_list_) = new quickstep::PtrList<quickstep::ParseAssignment>();
(yyval.assignment_list_)->push_back((yyvsp[0].assignment_));
}
-#line 4346 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4352 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 109:
-#line 1176 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1180 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.assignment_) = new quickstep::ParseAssignment((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-2].string_value_), (yyvsp[0].expression_));
}
-#line 4354 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4360 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 110:
-#line 1185 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1189 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4362 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4368 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 111:
-#line 1188 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1192 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4370 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4376 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 112:
-#line 1193 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1197 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_priority_clause_) = nullptr;
}
-#line 4378 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4384 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 113:
-#line 1196 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1200 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[0].numeric_literal_value_)->float_like()) {
delete (yyvsp[0].numeric_literal_value_);
@@ -4396,46 +4402,46 @@
}
}
}
-#line 4400 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4406 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 114:
-#line 1215 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1219 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.with_list_) = (yyvsp[0].with_list_);
}
-#line 4408 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4414 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 115:
-#line 1220 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1224 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.with_list_) = new quickstep::PtrVector<quickstep::ParseSubqueryTableReference>();
(yyval.with_list_)->push_back((yyvsp[0].with_list_element_));
}
-#line 4417 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4423 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 116:
-#line 1224 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1228 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.with_list_) = (yyvsp[-2].with_list_);
(yyval.with_list_)->push_back((yyvsp[0].with_list_element_));
}
-#line 4426 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4432 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 117:
-#line 1230 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1234 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4435 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4441 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 118:
-#line 1236 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1240 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[-1].boolean_value_)) {
(yyval.set_operation_) = new quickstep::ParseSetOperation((yylsp[-3]).first_line, (yylsp[-3]).first_column, quickstep::ParseSetOperation::kUnion);
@@ -4445,19 +4451,19 @@
(yyval.set_operation_)->addOperand((yyvsp[-3].set_operation_));
(yyval.set_operation_)->addOperand((yyvsp[0].set_operation_));
}
-#line 4449 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4455 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 119:
-#line 1245 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1249 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.set_operation_) = (yyvsp[0].set_operation_);
}
-#line 4457 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4463 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 120:
-#line 1250 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1254 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.set_operation_) = new quickstep::ParseSetOperation((yylsp[-2]).first_line, (yylsp[-2]).first_column, quickstep::ParseSetOperation::kIntersect);
quickstep::ParseSetOperation *op = new quickstep::ParseSetOperation(
@@ -4466,387 +4472,387 @@
(yyval.set_operation_)->addOperand((yyvsp[-2].set_operation_));
(yyval.set_operation_)->addOperand(op);
}
-#line 4470 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4476 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 121:
-#line 1258 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1262 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4479 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4485 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 122:
-#line 1265 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1269 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4487 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4493 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 123:
-#line 1270 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1274 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.boolean_value_) = true; // Distinct
}
-#line 4495 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4501 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 124:
-#line 1273 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1277 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.boolean_value_) = false; // All
}
-#line 4503 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4509 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 125:
-#line 1276 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1280 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.boolean_value_) = true; // Distinct
}
-#line 4511 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4517 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 126:
-#line 1281 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1285 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.selection_) = new quickstep::ParseSelectionStar((yylsp[0]).first_line, (yylsp[0]).first_column);
}
-#line 4519 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4525 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 127:
-#line 1284 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1288 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.selection_) = (yyvsp[0].selection_list_);
}
-#line 4527 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4533 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 128:
-#line 1289 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1293 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.selection_list_) = new quickstep::ParseSelectionList((yylsp[0]).first_line, (yylsp[0]).first_column);
(yyval.selection_list_)->add((yyvsp[0].selection_item_));
}
-#line 4536 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4542 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 129:
-#line 1293 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1297 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.selection_list_) = (yyvsp[-2].selection_list_);
(yyval.selection_list_)->add((yyvsp[0].selection_item_));
}
-#line 4545 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4551 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 130:
-#line 1299 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1303 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.selection_item_) = new quickstep::ParseSelectionItem((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-2].expression_), (yyvsp[0].string_value_));
}
-#line 4553 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4559 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 131:
-#line 1302 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1306 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.selection_item_) = new quickstep::ParseSelectionItem((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].expression_), (yyvsp[0].string_value_));
}
-#line 4561 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4567 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 132:
-#line 1305 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1309 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.selection_item_) = new quickstep::ParseSelectionItem((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].expression_));
}
-#line 4569 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4575 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 133:
-#line 1310 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1314 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_list_) = (yyvsp[0].table_reference_list_);
}
-#line 4577 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4583 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 134:
-#line 1315 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1319 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.subquery_expression_) = new quickstep::ParseSubqueryExpression((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-1].set_operation_));
}
-#line 4585 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4591 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 135:
-#line 1320 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1324 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_sample_clause_) = NULL;
}
-#line 4593 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4599 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 136:
-#line 1323 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1327 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_sample_clause_) = new quickstep::ParseSample((yylsp[-2]).first_line, (yylsp[-2]).first_column, true, (yyvsp[-1].numeric_literal_value_));
}
-#line 4601 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4607 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 137:
-#line 1326 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1330 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_sample_clause_) = new quickstep::ParseSample((yylsp[-2]).first_line, (yylsp[-2]).first_column, false, (yyvsp[-1].numeric_literal_value_));
}
-#line 4609 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4615 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 138:
-#line 1331 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1335 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kInnerJoin;
}
-#line 4617 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4623 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 139:
-#line 1334 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1338 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kInnerJoin;
}
-#line 4625 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4631 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 140:
-#line 1337 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1341 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kLeftOuterJoin;
}
-#line 4633 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4639 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 141:
-#line 1340 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1344 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kLeftOuterJoin;
}
-#line 4641 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4647 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 142:
-#line 1343 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1347 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kRightOuterJoin;
}
-#line 4649 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4655 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 143:
-#line 1346 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1350 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kRightOuterJoin;
}
-#line 4657 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4663 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 144:
-#line 1349 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1353 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kFullOuterJoin;
}
-#line 4665 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4671 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 145:
-#line 1352 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1356 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.join_type_) = quickstep::ParseJoinedTableReference::JoinType::kFullOuterJoin;
}
-#line 4673 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4679 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 146:
-#line 1357 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1361 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4681 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4687 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 147:
-#line 1360 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1364 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_) = (yyvsp[0].table_reference_);
}
-#line 4689 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4695 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 148:
-#line 1365 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1369 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4698 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4704 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 149:
-#line 1369 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1373 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4707 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4713 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 150:
-#line 1373 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1377 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_) = new quickstep::ParseSimpleTableReference((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].opt_sample_clause_));
}
-#line 4715 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4721 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 151:
-#line 1376 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1380 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4724 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4730 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 152:
-#line 1380 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1384 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_) = new quickstep::ParseGeneratorTableReference((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].function_call_));
}
-#line 4732 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4738 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 153:
-#line 1383 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1387 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_) = (yyvsp[-1].table_reference_);
}
-#line 4740 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4746 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 154:
-#line 1388 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1392 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_signature_) = (yyvsp[0].table_reference_signature_);
}
-#line 4748 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4754 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 155:
-#line 1391 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1395 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_signature_) = (yyvsp[0].table_reference_signature_);
}
-#line 4756 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4762 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 156:
-#line 1396 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1400 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_signature_) = new ::quickstep::ParseTableReferenceSignature((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].string_value_));
}
-#line 4764 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4770 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 157:
-#line 1399 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1403 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_signature_) = new ::quickstep::ParseTableReferenceSignature((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-3].string_value_), (yyvsp[-1].string_list_));
}
-#line 4772 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4778 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 158:
-#line 1404 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1408 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_list_) = new quickstep::PtrList<quickstep::ParseTableReference>();
(yyval.table_reference_list_)->push_back((yyvsp[0].table_reference_));
}
-#line 4781 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4787 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 159:
-#line 1408 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1412 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.table_reference_list_) = (yyvsp[-2].table_reference_list_);
(yyval.table_reference_list_)->push_back((yyvsp[0].table_reference_));
}
-#line 4790 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4796 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 160:
-#line 1414 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1418 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_group_by_clause_) = nullptr;
}
-#line 4798 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4804 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 161:
-#line 1417 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1421 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_group_by_clause_) = new quickstep::ParseGroupBy((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].expression_list_));
}
-#line 4806 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4812 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 162:
-#line 1422 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1426 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_having_clause_) = nullptr;
}
-#line 4814 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4820 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 163:
-#line 1425 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1429 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_having_clause_) = new quickstep::ParseHaving((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[0].predicate_));
}
-#line 4822 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4828 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 164:
-#line 1430 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1434 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_order_by_clause_) = nullptr;
}
-#line 4830 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4836 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 165:
-#line 1433 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1437 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_order_by_clause_) = new quickstep::ParseOrderBy((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].order_commalist_));
}
-#line 4838 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4844 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 166:
-#line 1438 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1442 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_limit_clause_) = nullptr;
}
-#line 4846 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4852 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 167:
-#line 1441 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1445 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[0].numeric_literal_value_)->float_like()) {
delete (yyvsp[0].numeric_literal_value_);
@@ -4864,258 +4870,258 @@
}
}
}
-#line 4868 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4874 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 168:
-#line 1460 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1464 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_window_clause_) = nullptr;
}
-#line 4876 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4882 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 169:
-#line 1463 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1467 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_window_clause_) = (yyvsp[0].opt_window_clause_);
}
-#line 4884 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4890 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 170:
-#line 1468 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1472 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_window_clause_) = new quickstep::PtrList<quickstep::ParseWindow>();
(yyval.opt_window_clause_)->push_back((yyvsp[0].window_definition_));
}
-#line 4893 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4899 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 171:
-#line 1472 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1476 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.opt_window_clause_) = (yyvsp[-1].opt_window_clause_);
(yyval.opt_window_clause_)->push_back((yyvsp[0].window_definition_));
}
-#line 4902 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4908 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 172:
-#line 1478 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1482 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.window_definition_) = (yyvsp[-1].window_definition_);
(yyval.window_definition_)->setName((yyvsp[-4].string_value_));
}
-#line 4911 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4917 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 173:
-#line 1484 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1488 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4919 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4925 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 174:
-#line 1489 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1493 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.window_partition_by_list_) = nullptr;
}
-#line 4927 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4933 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 175:
-#line 1492 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1496 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.window_partition_by_list_) = (yyvsp[0].expression_list_);
}
-#line 4935 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4941 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 176:
-#line 1497 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1501 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.window_order_by_list_) = nullptr;
}
-#line 4943 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4949 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 177:
-#line 1500 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1504 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.window_order_by_list_) = (yyvsp[0].order_commalist_);
}
-#line 4951 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4957 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 178:
-#line 1505 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1509 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.window_frame_info_) = nullptr;
}
-#line 4959 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4965 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 179:
-#line 1508 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1512 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 4967 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4973 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 180:
-#line 1513 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1517 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.boolean_value_) = true;
}
-#line 4975 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4981 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 181:
-#line 1516 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1520 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.boolean_value_) = false;
}
-#line 4983 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4989 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 183:
-#line 1522 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1526 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "-1");
}
-#line 4991 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 4997 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 184:
-#line 1525 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1529 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "0");
}
-#line 4999 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5005 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 186:
-#line 1531 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1535 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "-1");
}
-#line 5007 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5013 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 187:
-#line 1534 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1538 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.numeric_literal_value_) = new quickstep::NumericParseLiteralValue((yylsp[-1]).first_line, (yylsp[-1]).first_column, "0");
}
-#line 5015 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5021 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 188:
-#line 1539 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1543 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.order_commalist_) = new quickstep::PtrList<quickstep::ParseOrderByItem>();
(yyval.order_commalist_)->push_back((yyvsp[0].order_item_));
}
-#line 5024 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5030 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 189:
-#line 1543 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1547 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.order_commalist_) = (yyvsp[-2].order_commalist_);
(yyval.order_commalist_)->push_back((yyvsp[0].order_item_));
}
-#line 5033 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5039 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 190:
-#line 1549 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1553 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.order_item_) = new quickstep::ParseOrderByItem((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[-2].expression_), (yyvsp[-1].order_direction_), (yyvsp[0].order_direction_));
delete (yyvsp[-1].order_direction_);
delete (yyvsp[0].order_direction_);
}
-#line 5043 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5049 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 191:
-#line 1556 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1560 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.order_direction_) = nullptr;
}
-#line 5051 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5057 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 192:
-#line 1559 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1563 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.order_direction_) = new bool(true);
}
-#line 5059 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5065 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 193:
-#line 1562 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1566 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.order_direction_) = new bool(false);
}
-#line 5067 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5073 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 194:
-#line 1567 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1571 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.order_direction_) = nullptr;
}
-#line 5075 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5081 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 195:
-#line 1570 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1574 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.order_direction_) = new bool(true);
}
-#line 5083 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5089 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 196:
-#line 1573 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1577 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.order_direction_) = new bool(false);
}
-#line 5091 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5097 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 197:
-#line 1579 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1583 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = nullptr;
}
-#line 5099 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5105 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 198:
-#line 1582 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1586 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = (yyvsp[0].predicate_);
}
-#line 5107 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5113 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 199:
-#line 1587 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1591 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = (yyvsp[0].predicate_);
}
-#line 5115 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5121 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 200:
-#line 1592 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1596 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[-2].predicate_)->getParsePredicateType() == quickstep::ParsePredicate::kDisjunction) {
(yyval.predicate_) = (yyvsp[-2].predicate_);
@@ -5125,19 +5131,19 @@
}
static_cast<quickstep::ParsePredicateDisjunction *>((yyval.predicate_))->addPredicate((yyvsp[0].predicate_));
}
-#line 5129 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5135 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 201:
-#line 1601 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1605 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = (yyvsp[0].predicate_);
}
-#line 5137 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5143 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 202:
-#line 1606 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1610 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[-2].predicate_)->getParsePredicateType() == quickstep::ParsePredicate::kConjunction) {
(yyval.predicate_) = (yyvsp[-2].predicate_);
@@ -5147,453 +5153,453 @@
}
static_cast<quickstep::ParsePredicateConjunction *>((yyval.predicate_))->addPredicate((yyvsp[0].predicate_));
}
-#line 5151 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5157 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 203:
-#line 1615 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1619 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = (yyvsp[0].predicate_);
}
-#line 5159 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5165 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 204:
-#line 1620 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1624 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = new quickstep::ParsePredicateNegation((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[0].predicate_));
}
-#line 5167 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5173 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 205:
-#line 1623 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1627 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = (yyvsp[0].predicate_);
}
-#line 5175 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5181 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 206:
-#line 1628 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1632 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = new quickstep::ParsePredicateBetween((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-4].expression_), (yyvsp[-2].expression_), (yyvsp[0].expression_));
}
-#line 5183 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5189 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 207:
-#line 1631 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1635 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = new quickstep::ParsePredicateNegation(
(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 5193 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5199 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 208:
-#line 1636 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1640 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-3].attribute_);
(yyval.predicate_) = nullptr;
NotSupported(&(yylsp[-2]), yyscanner, "NULL comparison predicates");
YYERROR;
}
-#line 5204 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5210 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 209:
-#line 1642 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1646 "../SqlParser.ypp" /* yacc.c:1661 */
{
delete (yyvsp[-2].attribute_);
(yyval.predicate_) = nullptr;
NotSupported(&(yylsp[-1]), yyscanner, "NULL comparison predicates");
YYERROR;
}
-#line 5215 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5221 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 210:
-#line 1648 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1652 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = new quickstep::ParsePredicateComparison((yylsp[-1]).first_line, (yylsp[-1]).first_column, *(yyvsp[-1].comparison_), (yyvsp[-2].expression_), (yyvsp[0].expression_));
}
-#line 5223 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5229 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 211:
-#line 1651 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1655 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = (yyvsp[-1].predicate_);
}
-#line 5231 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5237 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 212:
-#line 1654 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1658 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = new quickstep::ParsePredicateExists((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[0].subquery_expression_));
}
-#line 5239 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5245 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 213:
-#line 1657 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1661 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = new quickstep::ParsePredicateInTableQuery((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-2].expression_), (yyvsp[0].subquery_expression_));
}
-#line 5247 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5253 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 214:
-#line 1660 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1664 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = new quickstep::ParsePredicateInValueList((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-4].expression_), (yyvsp[-1].expression_list_));
}
-#line 5255 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5261 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 215:
-#line 1663 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1667 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = new quickstep::ParsePredicateNegation(
(yylsp[-2]).first_line,
(yylsp[-2]).first_column,
new quickstep::ParsePredicateInTableQuery((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-3].expression_), (yyvsp[0].subquery_expression_)));
}
-#line 5266 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5272 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 216:
-#line 1669 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1673 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.predicate_) = new quickstep::ParsePredicateNegation(
(yylsp[-4]).first_line,
(yylsp[-4]).first_column,
new quickstep::ParsePredicateInValueList((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-5].expression_), (yyvsp[-1].expression_list_)));
}
-#line 5277 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5283 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 217:
-#line 1678 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1682 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = new quickstep::ParseBinaryExpression((yylsp[-1]).first_line, (yylsp[-1]).first_column, *(yyvsp[-1].binary_operation_), (yyvsp[-2].expression_), (yyvsp[0].expression_));
}
-#line 5285 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5291 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 218:
-#line 1681 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1685 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[0].expression_);
}
-#line 5293 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5299 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 219:
-#line 1686 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1690 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = new quickstep::ParseBinaryExpression((yylsp[-1]).first_line, (yylsp[-1]).first_column, *(yyvsp[-1].binary_operation_), (yyvsp[-2].expression_), (yyvsp[0].expression_));
}
-#line 5301 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5307 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 220:
-#line 1689 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1693 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[0].expression_);
}
-#line 5309 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5315 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 221:
-#line 1694 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1698 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = new quickstep::ParseUnaryExpression((yylsp[-1]).first_line, (yylsp[-1]).first_column, *(yyvsp[-1].unary_operation_), (yyvsp[0].expression_));
}
-#line 5317 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5323 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 222:
-#line 1697 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1701 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[0].expression_);
}
-#line 5325 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5331 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 223:
-#line 1702 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1706 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[0].attribute_);
}
-#line 5333 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5339 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 224:
-#line 1705 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1709 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = new quickstep::ParseScalarLiteral((yyvsp[0].literal_value_));
}
-#line 5341 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5347 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 225:
-#line 1708 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1712 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[0].function_call_);
}
-#line 5349 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5355 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 226:
-#line 1711 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1715 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyvsp[-2].function_call_)->setWindowName((yyvsp[0].string_value_));
(yyval.expression_) = (yyvsp[-2].function_call_);
}
-#line 5358 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5364 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 227:
-#line 1715 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1719 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyvsp[-4].function_call_)->setWindow((yyvsp[-1].window_definition_));
(yyval.expression_) = (yyvsp[-4].function_call_);
}
-#line 5367 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5373 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 228:
-#line 1719 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1723 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[0].expression_);
}
-#line 5375 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5381 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 229:
-#line 1722 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1726 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[0].expression_);
}
-#line 5383 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5389 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 230:
-#line 1725 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1729 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[0].expression_);
}
-#line 5391 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5397 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 231:
-#line 1728 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1732 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[-1].expression_);
}
-#line 5399 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5405 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 232:
-#line 1731 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1735 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[0].subquery_expression_);
}
-#line 5407 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5413 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 233:
-#line 1736 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1740 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 5416 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5422 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 234:
-#line 1740 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1744 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 5425 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5431 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 235:
-#line 1744 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1748 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.function_call_) = new quickstep::ParseFunctionCall((yylsp[-3]).first_line, (yylsp[-3]).first_column, false, (yyvsp[-3].string_value_), (yyvsp[-1].expression_list_));
}
-#line 5433 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5439 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 236:
-#line 1747 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1751 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.function_call_) = new quickstep::ParseFunctionCall((yylsp[-4]).first_line, (yylsp[-4]).first_column, true, (yyvsp[-4].string_value_), (yyvsp[-1].expression_list_));
}
-#line 5441 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5447 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 237:
-#line 1752 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1756 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = new quickstep::ParseExtractFunction((yylsp[-5]).first_line, (yylsp[-5]).first_column, (yyvsp[-3].string_value_), (yyvsp[-1].expression_));
}
-#line 5449 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5455 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 238:
-#line 1757 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1761 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = new quickstep::ParseSubstringFunction(
(yylsp[-5]).first_line, (yylsp[-5]).first_column, (yyvsp[-3].expression_), (yyvsp[-1].numeric_literal_value_)->long_value());
}
-#line 5458 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5464 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 239:
-#line 1761 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1765 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 5467 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5473 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 240:
-#line 1767 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1771 "../SqlParser.ypp" /* yacc.c:1661 */
{
(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 5475 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5481 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 241:
-#line 1770 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1774 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = new quickstep::ParseSearchedCaseExpression((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-2].searched_when_clause_list_), (yyvsp[-1].expression_));
}
-#line 5483 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5489 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 242:
-#line 1775 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1779 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.simple_when_clause_list_) = new quickstep::PtrVector<quickstep::ParseSimpleWhenClause>;
(yyval.simple_when_clause_list_)->push_back((yyvsp[0].simple_when_clause_));
}
-#line 5492 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5498 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 243:
-#line 1779 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1783 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.simple_when_clause_list_) = (yyvsp[-1].simple_when_clause_list_);
(yyval.simple_when_clause_list_)->push_back((yyvsp[0].simple_when_clause_));
}
-#line 5501 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5507 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 244:
-#line 1785 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1789 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.simple_when_clause_) = new quickstep::ParseSimpleWhenClause((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-2].expression_), (yyvsp[0].expression_));
}
-#line 5509 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5515 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 245:
-#line 1790 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1794 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.searched_when_clause_list_) = new quickstep::PtrVector<quickstep::ParseSearchedWhenClause>;
(yyval.searched_when_clause_list_)->push_back((yyvsp[0].searched_when_clause_));
}
-#line 5518 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5524 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 246:
-#line 1794 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1798 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.searched_when_clause_list_) = (yyvsp[-1].searched_when_clause_list_);
(yyval.searched_when_clause_list_)->push_back((yyvsp[0].searched_when_clause_));
}
-#line 5527 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5533 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 247:
-#line 1800 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1804 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.searched_when_clause_) = new quickstep::ParseSearchedWhenClause((yylsp[-3]).first_line, (yylsp[-3]).first_column, (yyvsp[-2].predicate_), (yyvsp[0].expression_));
}
-#line 5535 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5541 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 248:
-#line 1805 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1809 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = NULL;
}
-#line 5543 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5549 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 249:
-#line 1808 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1812 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_) = (yyvsp[0].expression_);
}
-#line 5551 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5557 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 250:
-#line 1813 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1817 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_list_) = new quickstep::PtrList<quickstep::ParseExpression>();
(yyval.expression_list_)->push_back((yyvsp[0].expression_));
}
-#line 5560 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5566 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 251:
-#line 1817 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1821 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.expression_list_) = (yyvsp[-2].expression_list_);
(yyval.expression_list_)->push_back((yyvsp[0].expression_));
}
-#line 5569 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5575 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 252:
-#line 1823 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1827 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.literal_value_) = new quickstep::NullParseLiteralValue((yylsp[0]).first_line, (yylsp[0]).first_column);
}
-#line 5577 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5583 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 253:
-#line 1826 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1830 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.literal_value_) = (yyvsp[0].numeric_literal_value_);
}
-#line 5585 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5591 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 254:
-#line 1829 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1833 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.literal_value_) = (yyvsp[0].numeric_literal_value_);
}
-#line 5593 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5599 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 255:
-#line 1832 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1836 "../SqlParser.ypp" /* yacc.c:1661 */
{
/**
* NOTE(chasseur): This case exhibits a shift/reduce conflict with the
@@ -5606,20 +5612,20 @@
(yyvsp[0].numeric_literal_value_)->prependMinus();
(yyval.literal_value_) = (yyvsp[0].numeric_literal_value_);
}
-#line 5610 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5616 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 256:
-#line 1844 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1848 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.literal_value_) = new quickstep::StringParseLiteralValue((yyvsp[0].string_value_),
nullptr); // No explicit type.
}
-#line 5619 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5625 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 257:
-#line 1848 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1852 "../SqlParser.ypp" /* yacc.c:1661 */
{
/**
* NOTE(chasseur): This case exhibits a shift/reduce conflict with the
@@ -5639,11 +5645,11 @@
YYERROR;
}
}
-#line 5643 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5649 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 258:
-#line 1867 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1871 "../SqlParser.ypp" /* yacc.c:1661 */
{
quickstep::StringParseLiteralValue *parse_value;
const std::string &datetime_type_value = (yyvsp[0].string_value_)->value();
@@ -5657,11 +5663,11 @@
YYERROR;
}
}
-#line 5661 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5667 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 259:
-#line 1880 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1884 "../SqlParser.ypp" /* yacc.c:1661 */
{
quickstep::StringParseLiteralValue *parse_value
= new quickstep::StringParseLiteralValue((yyvsp[0].string_value_), &((yyvsp[-1].data_type_)->getType()));
@@ -5675,191 +5681,209 @@
(yyval.literal_value_) = parse_value;
}
}
-#line 5679 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5685 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 260:
-#line 1895 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1899 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("YEAR"));
}
-#line 5687 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5693 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 261:
-#line 1898 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1902 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("MONTH"));
}
-#line 5695 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5701 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 262:
-#line 1901 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1905 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("DAY"));
}
-#line 5703 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5709 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 263:
-#line 1904 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1908 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("HOUR"));
}
-#line 5711 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5717 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 264:
-#line 1907 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1911 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("MINUTE"));
}
-#line 5719 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5725 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 265:
-#line 1910 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1914 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = new quickstep::ParseString((yylsp[0]).first_line, (yylsp[0]).first_column, std::string("SECOND"));
}
-#line 5727 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5733 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 266:
-#line 1915 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1919 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.literal_value_list_) = new quickstep::PtrList<quickstep::ParseScalarLiteral>();
(yyval.literal_value_list_)->push_back(new quickstep::ParseScalarLiteral((yyvsp[0].literal_value_)));
}
-#line 5736 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5742 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 267:
-#line 1919 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1923 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.literal_value_list_) = (yyvsp[-2].literal_value_list_);
(yyval.literal_value_list_)->push_back(new quickstep::ParseScalarLiteral((yyvsp[0].literal_value_)));
}
-#line 5745 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5751 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 268:
-#line 1925 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1929 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.attribute_) = new quickstep::ParseAttribute((yylsp[0]).first_line, (yylsp[0]).first_column, (yyvsp[0].string_value_));
+ (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 5753 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5760 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 269:
-#line 1928 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1933 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.attribute_) = new quickstep::ParseAttribute((yylsp[-2]).first_line, (yylsp[-2]).first_column, (yyvsp[0].string_value_), (yyvsp[-2].string_value_));
+ (yyval.literal_value_list_multiple_) = (yyvsp[-4].literal_value_list_multiple_);
+ (yyval.literal_value_list_multiple_)->push_back((yyvsp[-1].literal_value_list_));
}
-#line 5761 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5769 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
case 270:
-#line 1933 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1939 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ (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 */
+ break;
+
+ case 271:
+#line 1942 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ (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 */
+ break;
+
+ case 272:
+#line 1947 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.attribute_list_) = new quickstep::PtrList<quickstep::ParseAttribute>();
(yyval.attribute_list_)->push_back((yyvsp[0].attribute_));
}
-#line 5770 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5794 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 271:
-#line 1937 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 273:
+#line 1951 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.attribute_list_) = (yyvsp[-2].attribute_list_);
(yyval.attribute_list_)->push_back((yyvsp[0].attribute_));
}
-#line 5779 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 272:
-#line 1944 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kEqual);
- }
-#line 5787 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 273:
-#line 1947 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kNotEqual);
- }
-#line 5795 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 274:
-#line 1950 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kLess);
- }
#line 5803 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 275:
-#line 1953 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 274:
+#line 1958 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kLessOrEqual);
+ (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kEqual);
}
#line 5811 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 276:
-#line 1956 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 275:
+#line 1961 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kGreater);
+ (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kNotEqual);
}
#line 5819 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 277:
-#line 1959 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 276:
+#line 1964 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kGreaterOrEqual);
+ (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kLess);
}
#line 5827 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 278:
-#line 1962 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 277:
+#line 1967 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kLike);
+ (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kLessOrEqual);
}
#line 5835 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 279:
-#line 1965 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 278:
+#line 1970 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kNotLike);
+ (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kGreater);
}
#line 5843 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 280:
-#line 1968 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 279:
+#line 1973 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kRegexMatch);
+ (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kGreaterOrEqual);
}
#line 5851 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 281:
-#line 1971 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 280:
+#line 1976 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kNotRegexMatch);
+ (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kLike);
}
#line 5859 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
+ case 281:
+#line 1979 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kNotLike);
+ }
+#line 5867 "SqlParser_gen.cpp" /* yacc.c:1661 */
+ break;
+
case 282:
-#line 1976 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 1982 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kRegexMatch);
+ }
+#line 5875 "SqlParser_gen.cpp" /* yacc.c:1661 */
+ break;
+
+ case 283:
+#line 1985 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ (yyval.comparison_) = &quickstep::ComparisonFactory::GetComparison(quickstep::ComparisonID::kNotRegexMatch);
+ }
+#line 5883 "SqlParser_gen.cpp" /* yacc.c:1661 */
+ break;
+
+ case 284:
+#line 1990 "../SqlParser.ypp" /* yacc.c:1661 */
{
/**
* NOTE(chasseur): This case exhibits a shift/reduce conflict with the
@@ -5869,146 +5893,146 @@
**/
(yyval.unary_operation_) = &quickstep::UnaryOperationFactory::GetUnaryOperation(quickstep::UnaryOperationID::kNegate);
}
-#line 5873 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 283:
-#line 1987 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kAdd);
- }
-#line 5881 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 284:
-#line 1990 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kSubtract);
- }
-#line 5889 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 285:
-#line 1995 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kModulo);
- }
#line 5897 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 286:
-#line 1998 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 285:
+#line 2001 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kMultiply);
+ (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kAdd);
}
#line 5905 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 287:
-#line 2001 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 286:
+#line 2004 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kDivide);
+ (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kSubtract);
}
#line 5913 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
+ case 287:
+#line 2009 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kModulo);
+ }
+#line 5921 "SqlParser_gen.cpp" /* yacc.c:1661 */
+ break;
+
case 288:
-#line 2007 "../SqlParser.ypp" /* yacc.c:1661 */
+#line 2012 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kMultiply);
+ }
+#line 5929 "SqlParser_gen.cpp" /* yacc.c:1661 */
+ break;
+
+ case 289:
+#line 2015 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ (yyval.binary_operation_) = &quickstep::BinaryOperationFactory::GetBinaryOperation(quickstep::BinaryOperationID::kDivide);
+ }
+#line 5937 "SqlParser_gen.cpp" /* yacc.c:1661 */
+ break;
+
+ case 290:
+#line 2021 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_list_) = new quickstep::PtrList<quickstep::ParseString>();
(yyval.string_list_)->push_back((yyvsp[0].string_value_));
}
-#line 5922 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5946 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 289:
-#line 2011 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 291:
+#line 2025 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_list_) = (yyvsp[-2].string_list_);
(yyval.string_list_)->push_back((yyvsp[0].string_value_));
}
-#line 5931 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5955 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 290:
-#line 2017 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 292:
+#line 2031 "../SqlParser.ypp" /* yacc.c:1661 */
{
(yyval.string_value_) = (yyvsp[0].string_value_);
}
-#line 5939 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 5963 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 291:
-#line 2020 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 293:
+#line 2034 "../SqlParser.ypp" /* yacc.c:1661 */
{
if ((yyvsp[0].string_value_)->value().empty()) {
quickstep_yyerror(&(yylsp[0]), yyscanner, nullptr, "Zero-length identifier");
}
(yyval.string_value_) = (yyvsp[0].string_value_);
}
-#line 5950 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 292:
-#line 2028 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- (yyval.boolean_value_) = true;
- }
-#line 5958 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 293:
-#line 2031 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- (yyval.boolean_value_) = true;
- }
-#line 5966 "SqlParser_gen.cpp" /* yacc.c:1661 */
- break;
-
- case 294:
-#line 2034 "../SqlParser.ypp" /* yacc.c:1661 */
- {
- (yyval.boolean_value_) = false;
- }
#line 5974 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 295:
-#line 2037 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 294:
+#line 2042 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.boolean_value_) = false;
+ (yyval.boolean_value_) = true;
}
#line 5982 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 296:
-#line 2043 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 295:
+#line 2045 "../SqlParser.ypp" /* yacc.c:1661 */
{
- (yyval.command_) = new quickstep::ParseCommand((yylsp[-1]).first_line, (yylsp[-1]).first_column, (yyvsp[-1].string_value_), (yyvsp[0].command_argument_list_));
+ (yyval.boolean_value_) = true;
}
#line 5990 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 297:
+ case 296:
#line 2048 "../SqlParser.ypp" /* yacc.c:1661 */
{
+ (yyval.boolean_value_) = false;
+ }
+#line 5998 "SqlParser_gen.cpp" /* yacc.c:1661 */
+ break;
+
+ case 297:
+#line 2051 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ (yyval.boolean_value_) = false;
+ }
+#line 6006 "SqlParser_gen.cpp" /* yacc.c:1661 */
+ break;
+
+ case 298:
+#line 2057 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
+ (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 */
+ break;
+
+ case 299:
+#line 2062 "../SqlParser.ypp" /* yacc.c:1661 */
+ {
quickstep::PtrVector<quickstep::ParseString> *argument_list = (yyvsp[-1].command_argument_list_);
argument_list->push_back((yyvsp[0].string_value_));
(yyval.command_argument_list_) = argument_list;
}
-#line 6000 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 6024 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
- case 298:
-#line 2053 "../SqlParser.ypp" /* yacc.c:1661 */
+ case 300:
+#line 2067 "../SqlParser.ypp" /* yacc.c:1661 */
{ /* Epsilon, an empy match. */
(yyval.command_argument_list_) = new quickstep::PtrVector<quickstep::ParseString>();
}
-#line 6008 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 6032 "SqlParser_gen.cpp" /* yacc.c:1661 */
break;
-#line 6012 "SqlParser_gen.cpp" /* yacc.c:1661 */
+#line 6036 "SqlParser_gen.cpp" /* yacc.c:1661 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -6243,7 +6267,7 @@
#endif
return yyresult;
}
-#line 2057 "../SqlParser.ypp" /* yacc.c:1906 */
+#line 2071 "../SqlParser.ypp" /* yacc.c:1906 */
void NotSupported(const YYLTYPE *location, yyscan_t yyscanner, const std::string &feature) {
diff --git a/parser/preprocessed/SqlParser_gen.hpp b/parser/preprocessed/SqlParser_gen.hpp
index f6b5247..142059d 100644
--- a/parser/preprocessed/SqlParser_gen.hpp
+++ b/parser/preprocessed/SqlParser_gen.hpp
@@ -198,6 +198,7 @@
quickstep::NumericParseLiteralValue *numeric_literal_value_;
quickstep::ParseLiteralValue *literal_value_;
quickstep::PtrList<quickstep::ParseScalarLiteral> *literal_value_list_;
+ quickstep::PtrList<quickstep::PtrList<quickstep::ParseScalarLiteral>> *literal_value_list_multiple_;
quickstep::ParseExpression *expression_;
@@ -288,7 +289,7 @@
quickstep::ParsePriority *opt_priority_clause_;
-#line 292 "SqlParser_gen.hpp" /* yacc.c:1915 */
+#line 293 "SqlParser_gen.hpp" /* yacc.c:1915 */
};
typedef union YYSTYPE YYSTYPE;
diff --git a/query_optimizer/ExecutionGenerator.cpp b/query_optimizer/ExecutionGenerator.cpp
index 372d576..14d8949 100644
--- a/query_optimizer/ExecutionGenerator.cpp
+++ b/query_optimizer/ExecutionGenerator.cpp
@@ -1461,70 +1461,72 @@
*catalog_database_->getRelationById(
input_relation_info->relation->getID());
- // Construct the tuple proto to be inserted.
- const QueryContext::tuple_id tuple_index = query_context_proto_->tuples_size();
+ for (const std::vector<expressions::ScalarLiteralPtr> &tuple : physical_plan->column_values()) {
+ // Construct the tuple proto to be inserted.
+ const QueryContext::tuple_id tuple_index = query_context_proto_->tuples_size();
- S::Tuple *tuple_proto = query_context_proto_->add_tuples();
- for (const E::ScalarLiteralPtr &literal : physical_plan->column_values()) {
- tuple_proto->add_attribute_values()->CopyFrom(literal->value().getProto());
- }
-
- // FIXME(qzeng): A better way is using a traits struct to look up whether a storage
- // block supports ad-hoc insertion instead of hard-coding the block types.
- const StorageBlockLayout &storage_block_layout =
- input_relation.getDefaultStorageBlockLayout();
- if (storage_block_layout.getDescription().tuple_store_description().sub_block_type() ==
- TupleStorageSubBlockDescription::COMPRESSED_COLUMN_STORE ||
- storage_block_layout.getDescription().tuple_store_description().sub_block_type() ==
- TupleStorageSubBlockDescription::COMPRESSED_PACKED_ROW_STORE) {
- THROW_SQL_ERROR() << "INSERT statement is not supported for the relation "
- << input_relation.getName()
- << ", because its storage blocks do not support ad-hoc insertion";
- }
-
- // Create InsertDestination proto.
- const QueryContext::insert_destination_id insert_destination_index =
- query_context_proto_->insert_destinations_size();
- S::InsertDestination *insert_destination_proto = query_context_proto_->add_insert_destinations();
-
- insert_destination_proto->set_relation_id(input_relation.getID());
- insert_destination_proto->mutable_layout()->MergeFrom(
- input_relation.getDefaultStorageBlockLayout().getDescription());
-
- if (input_relation.hasPartitionScheme()) {
- insert_destination_proto->set_insert_destination_type(S::InsertDestinationType::PARTITION_AWARE);
- insert_destination_proto->MutableExtension(S::PartitionAwareInsertDestination::partition_scheme)
- ->MergeFrom(input_relation.getPartitionScheme()->getProto());
- } else {
- insert_destination_proto->set_insert_destination_type(S::InsertDestinationType::BLOCK_POOL);
-
- const vector<block_id> blocks(input_relation.getBlocksSnapshot());
- for (const block_id block : blocks) {
- insert_destination_proto->AddExtension(S::BlockPoolInsertDestination::blocks, block);
+ S::Tuple *tuple_proto = query_context_proto_->add_tuples();
+ for (const E::ScalarLiteralPtr &literal : tuple) {
+ tuple_proto->add_attribute_values()->CopyFrom(literal->value().getProto());
}
- }
- const QueryPlan::DAGNodeIndex insert_operator_index =
- execution_plan_->addRelationalOperator(
- new InsertOperator(query_handle_->query_id(),
- input_relation,
- insert_destination_index,
- tuple_index));
- insert_destination_proto->set_relational_op_index(insert_operator_index);
+ // FIXME(qzeng): A better way is using a traits struct to look up whether a storage
+ // block supports ad-hoc insertion instead of hard-coding the block types.
+ const StorageBlockLayout &storage_block_layout =
+ input_relation.getDefaultStorageBlockLayout();
+ if (storage_block_layout.getDescription().tuple_store_description().sub_block_type() ==
+ TupleStorageSubBlockDescription::COMPRESSED_COLUMN_STORE ||
+ storage_block_layout.getDescription().tuple_store_description().sub_block_type() ==
+ TupleStorageSubBlockDescription::COMPRESSED_PACKED_ROW_STORE) {
+ THROW_SQL_ERROR() << "INSERT statement is not supported for the relation "
+ << input_relation.getName()
+ << ", because its storage blocks do not support ad-hoc insertion";
+ }
- CatalogRelation *mutable_relation =
- catalog_database_->getRelationByIdMutable(input_relation.getID());
- const QueryPlan::DAGNodeIndex save_blocks_index =
- execution_plan_->addRelationalOperator(
- new SaveBlocksOperator(query_handle_->query_id(), mutable_relation));
- if (!input_relation_info->isStoredRelation()) {
- execution_plan_->addDirectDependency(insert_operator_index,
- input_relation_info->producer_operator_index,
- true /* is_pipeline_breaker */);
+ // Create InsertDestination proto.
+ const QueryContext::insert_destination_id insert_destination_index =
+ query_context_proto_->insert_destinations_size();
+ S::InsertDestination *insert_destination_proto = query_context_proto_->add_insert_destinations();
+
+ insert_destination_proto->set_relation_id(input_relation.getID());
+ insert_destination_proto->mutable_layout()->MergeFrom(
+ input_relation.getDefaultStorageBlockLayout().getDescription());
+
+ if (input_relation.hasPartitionScheme()) {
+ insert_destination_proto->set_insert_destination_type(S::InsertDestinationType::PARTITION_AWARE);
+ insert_destination_proto->MutableExtension(S::PartitionAwareInsertDestination::partition_scheme)
+ ->MergeFrom(input_relation.getPartitionScheme()->getProto());
+ } else {
+ insert_destination_proto->set_insert_destination_type(S::InsertDestinationType::BLOCK_POOL);
+
+ const vector<block_id> blocks(input_relation.getBlocksSnapshot());
+ for (const block_id block : blocks) {
+ insert_destination_proto->AddExtension(S::BlockPoolInsertDestination::blocks, block);
+ }
+ }
+
+ const QueryPlan::DAGNodeIndex insert_operator_index =
+ execution_plan_->addRelationalOperator(
+ new InsertOperator(query_handle_->query_id(),
+ input_relation,
+ insert_destination_index,
+ tuple_index));
+ insert_destination_proto->set_relational_op_index(insert_operator_index);
+
+ CatalogRelation *mutable_relation =
+ catalog_database_->getRelationByIdMutable(input_relation.getID());
+ const QueryPlan::DAGNodeIndex save_blocks_index =
+ execution_plan_->addRelationalOperator(
+ new SaveBlocksOperator(query_handle_->query_id(), mutable_relation));
+ if (!input_relation_info->isStoredRelation()) {
+ execution_plan_->addDirectDependency(insert_operator_index,
+ input_relation_info->producer_operator_index,
+ true /* is_pipeline_breaker */);
+ }
+ execution_plan_->addDirectDependency(save_blocks_index,
+ insert_operator_index,
+ false /* is_pipeline_breaker */);
}
- execution_plan_->addDirectDependency(save_blocks_index,
- insert_operator_index,
- false /* is_pipeline_breaker */);
}
void ExecutionGenerator::convertInsertSelection(
diff --git a/query_optimizer/logical/InsertTuple.cpp b/query_optimizer/logical/InsertTuple.cpp
index e5ffa35..e2ce196 100644
--- a/query_optimizer/logical/InsertTuple.cpp
+++ b/query_optimizer/logical/InsertTuple.cpp
@@ -41,8 +41,10 @@
non_container_child_field_names->push_back("input");
non_container_child_fields->push_back(input_);
- container_child_field_names->push_back("column_values");
- container_child_fields->push_back(CastSharedPtrVector<OptimizerTreeBase>(column_values_));
+ for (const auto &column_values : column_values_) {
+ container_child_field_names->push_back("column_values");
+ container_child_fields->push_back(CastSharedPtrVector<OptimizerTreeBase>(column_values));
+ }
}
} // namespace logical
diff --git a/query_optimizer/logical/InsertTuple.hpp b/query_optimizer/logical/InsertTuple.hpp
index fd0301e..dd35510 100644
--- a/query_optimizer/logical/InsertTuple.hpp
+++ b/query_optimizer/logical/InsertTuple.hpp
@@ -61,7 +61,7 @@
/**
* @return Column values to be used to compose a new tuple.
*/
- const std::vector<expressions::ScalarLiteralPtr>& column_values() const {
+ const std::vector<std::vector<expressions::ScalarLiteralPtr>>& column_values() const {
return column_values_;
}
@@ -83,12 +83,12 @@
* @brief Creates an InsertTuple logical node.
*
* @param input The input produces the relation to insert the tuple to.
- * @param column_values The column values of the tuple to be inserted.
+ * @param column_values The column values of the tuples to be inserted.
* @return An immutable InsertTuple node.
*/
static InsertTuplePtr Create(
const LogicalPtr &input,
- const std::vector<expressions::ScalarLiteralPtr> &column_values) {
+ const std::vector<std::vector<expressions::ScalarLiteralPtr>> &column_values) {
return InsertTuplePtr(new InsertTuple(input, column_values));
}
@@ -103,13 +103,13 @@
private:
InsertTuple(const LogicalPtr &input,
- const std::vector<expressions::ScalarLiteralPtr> &column_values)
+ const std::vector<std::vector<expressions::ScalarLiteralPtr>> &column_values)
: input_(input), column_values_(column_values) {
addChild(input_);
}
LogicalPtr input_;
- std::vector<expressions::ScalarLiteralPtr> column_values_;
+ std::vector<std::vector<expressions::ScalarLiteralPtr>> column_values_;
DISALLOW_COPY_AND_ASSIGN(InsertTuple);
};
diff --git a/query_optimizer/physical/InsertTuple.cpp b/query_optimizer/physical/InsertTuple.cpp
index 3085389..b209aa0 100644
--- a/query_optimizer/physical/InsertTuple.cpp
+++ b/query_optimizer/physical/InsertTuple.cpp
@@ -40,8 +40,10 @@
non_container_child_field_names->push_back("input");
non_container_child_fields->push_back(input_);
- container_child_field_names->push_back("column_values");
- container_child_fields->push_back(CastSharedPtrVector<OptimizerTreeBase>(column_values_));
+ for (const auto &column_values : column_values_) {
+ container_child_field_names->push_back("column_values");
+ container_child_fields->push_back(CastSharedPtrVector<OptimizerTreeBase>(column_values));
+ }
}
} // namespace physical
diff --git a/query_optimizer/physical/InsertTuple.hpp b/query_optimizer/physical/InsertTuple.hpp
index 40f2582..10c7c5b 100644
--- a/query_optimizer/physical/InsertTuple.hpp
+++ b/query_optimizer/physical/InsertTuple.hpp
@@ -69,7 +69,7 @@
/**
* @return Column values to be used to compose a new tuple.
*/
- const std::vector<expressions::ScalarLiteralPtr>& column_values() const {
+ const std::vector<std::vector<expressions::ScalarLiteralPtr>>& column_values() const {
return column_values_;
}
@@ -103,7 +103,7 @@
*/
static InsertTuplePtr Create(
const PhysicalPtr &input,
- const std::vector<expressions::ScalarLiteralPtr> &column_values) {
+ const std::vector<std::vector<expressions::ScalarLiteralPtr>> &column_values) {
return InsertTuplePtr(new InsertTuple(input, column_values));
}
@@ -118,13 +118,13 @@
private:
InsertTuple(const PhysicalPtr &input,
- const std::vector<expressions::ScalarLiteralPtr> &column_values)
+ const std::vector<std::vector<expressions::ScalarLiteralPtr>> &column_values)
: input_(input), column_values_(column_values) {
addChild(input_);
}
PhysicalPtr input_;
- std::vector<expressions::ScalarLiteralPtr> column_values_;
+ std::vector<std::vector<expressions::ScalarLiteralPtr>> column_values_;
DISALLOW_COPY_AND_ASSIGN(InsertTuple);
};
diff --git a/query_optimizer/resolver/Resolver.cpp b/query_optimizer/resolver/Resolver.cpp
index 2991568..0b6dc22 100644
--- a/query_optimizer/resolver/Resolver.cpp
+++ b/query_optimizer/resolver/Resolver.cpp
@@ -1060,73 +1060,81 @@
// Resolve column values.
const std::vector<E::AttributeReferencePtr> relation_attributes =
input_logical->getOutputAttributes();
- const PtrList<ParseScalarLiteral> &parse_column_values =
+ const PtrList<PtrList<ParseScalarLiteral>> &parse_column_values_list =
insert_statement.getLiteralValues();
- DCHECK_GT(parse_column_values.size(), 0u);
- if (parse_column_values.size() > relation_attributes.size()) {
- THROW_SQL_ERROR_AT(insert_statement.relation_name())
- << "The relation " << insert_statement.relation_name()->value()
- << " has " << std::to_string(relation_attributes.size())
- << " columns, but " << std::to_string(parse_column_values.size())
- << " values are provided";
- }
+ std::vector<std::vector<E::ScalarLiteralPtr>> resolved_column_values_list;
+ DCHECK_GT(parse_column_values_list.size(), 0u);
- std::vector<E::ScalarLiteralPtr> resolved_column_values;
- std::vector<E::AttributeReferencePtr>::size_type aid = 0;
- for (const ParseScalarLiteral &parse_literal_value : parse_column_values) {
- E::ScalarLiteralPtr resolved_literal_value;
- ExpressionResolutionInfo expr_resolution_info(
- name_resolver,
- "INSERT statement" /* clause_name */,
- nullptr /* select_list_info */);
- // When resolving the literal, use the attribute's Type as a hint.
- CHECK(E::SomeScalarLiteral::MatchesWithConditionalCast(
- resolveExpression(parse_literal_value,
- &(relation_attributes[aid]->getValueType()),
- &expr_resolution_info),
- &resolved_literal_value));
+ for (const PtrList<ParseScalarLiteral> &parse_column_values : parse_column_values_list) {
+ DCHECK_GT(parse_column_values.size(), 0u);
- // Check that the resolved Type is safely coercible to the attribute's
- // Type.
- if (!relation_attributes[aid]->getValueType().isSafelyCoercibleFrom(
- resolved_literal_value->getValueType())) {
- THROW_SQL_ERROR_AT(&parse_literal_value)
- << "The assigned value for the column "
- << relation_attributes[aid]->attribute_name() << " has the type "
- << resolved_literal_value->getValueType().getName()
- << ", which cannot be safely coerced to the column's type "
- << relation_attributes[aid]->getValueType().getName();
- }
-
- // If the Type is not exactly right (but is safely coercible), coerce it.
- if (!resolved_literal_value->getValueType().equals(
- relation_attributes[aid]->getValueType())) {
- resolved_literal_value = E::ScalarLiteral::Create(
- relation_attributes[aid]->getValueType().coerceValue(
- resolved_literal_value->value(),
- resolved_literal_value->getValueType()),
- relation_attributes[aid]->getValueType());
- }
-
- resolved_column_values.push_back(resolved_literal_value);
- ++aid;
- }
-
- while (aid < relation_attributes.size()) {
- if (!relation_attributes[aid]->getValueType().isNullable()) {
+ if (parse_column_values.size() > relation_attributes.size()) {
THROW_SQL_ERROR_AT(insert_statement.relation_name())
- << "Must assign a non-NULL value to column "
- << relation_attributes[aid]->attribute_name();
+ << "The relation " << insert_statement.relation_name()->value()
+ << " has " << std::to_string(relation_attributes.size())
+ << " columns, but " << std::to_string(parse_column_values.size())
+ << " values are provided";
}
- // Create a NULL value.
- resolved_column_values.push_back(E::ScalarLiteral::Create(
- relation_attributes[aid]->getValueType().makeNullValue(),
- relation_attributes[aid]->getValueType()));
- ++aid;
+
+ std::vector<E::ScalarLiteralPtr> resolved_column_values;
+ std::vector<E::AttributeReferencePtr>::size_type aid = 0;
+ for (const ParseScalarLiteral &parse_literal_value : parse_column_values) {
+ E::ScalarLiteralPtr resolved_literal_value;
+ ExpressionResolutionInfo expr_resolution_info(
+ name_resolver,
+ "INSERT statement" /* clause_name */,
+ nullptr /* select_list_info */);
+ // When resolving the literal, use the attribute's Type as a hint.
+ CHECK(E::SomeScalarLiteral::MatchesWithConditionalCast(
+ resolveExpression(parse_literal_value,
+ &(relation_attributes[aid]->getValueType()),
+ &expr_resolution_info),
+ &resolved_literal_value));
+
+ // Check that the resolved Type is safely coercible to the attribute's
+ // Type.
+ if (!relation_attributes[aid]->getValueType().isSafelyCoercibleFrom(
+ resolved_literal_value->getValueType())) {
+ THROW_SQL_ERROR_AT(&parse_literal_value)
+ << "The assigned value for the column "
+ << relation_attributes[aid]->attribute_name() << " has the type "
+ << resolved_literal_value->getValueType().getName()
+ << ", which cannot be safely coerced to the column's type "
+ << relation_attributes[aid]->getValueType().getName();
+ }
+
+ // If the Type is not exactly right (but is safely coercible), coerce it.
+ if (!resolved_literal_value->getValueType().equals(
+ relation_attributes[aid]->getValueType())) {
+ resolved_literal_value = E::ScalarLiteral::Create(
+ relation_attributes[aid]->getValueType().coerceValue(
+ resolved_literal_value->value(),
+ resolved_literal_value->getValueType()),
+ relation_attributes[aid]->getValueType());
+ }
+
+ resolved_column_values.push_back(resolved_literal_value);
+ ++aid;
+ }
+
+ while (aid < relation_attributes.size()) {
+ if (!relation_attributes[aid]->getValueType().isNullable()) {
+ THROW_SQL_ERROR_AT(insert_statement.relation_name())
+ << "Must assign a non-NULL value to column "
+ << relation_attributes[aid]->attribute_name();
+ }
+ // Create a NULL value.
+ resolved_column_values.push_back(E::ScalarLiteral::Create(
+ relation_attributes[aid]->getValueType().makeNullValue(),
+ relation_attributes[aid]->getValueType()));
+ ++aid;
+ }
+
+ resolved_column_values_list.push_back(std::move(resolved_column_values));
}
- return L::InsertTuple::Create(input_logical, resolved_column_values);
+ return L::InsertTuple::Create(input_logical, resolved_column_values_list);
}
L::LogicalPtr Resolver::resolveUpdate(