diff --git a/docs/zh/12-taos-sql/04-stable.md b/docs/zh/12-taos-sql/04-stable.md index bd32da68aecc4c42be110e7716c1b2b4ebdab37c..c5933228decfb3eb865cad058fa6fbba77fefb58 100644 --- a/docs/zh/12-taos-sql/04-stable.md +++ b/docs/zh/12-taos-sql/04-stable.md @@ -139,10 +139,10 @@ alter_table_option: { - ADD COLUMN:添加列。 - DROP COLUMN:删除列。 -- MODIFY COLUMN:修改列定义,如果数据列的类型是可变长类型,那么可以使用此指令修改其宽度,只能改大,不能改小。 +- MODIFY COLUMN:修改列的宽度,数据列的类型必须是 nchar 和 binary,使用此指令可以修改其宽度,只能改大,不能改小。 - ADD TAG:给超级表添加一个标签。 - DROP TAG:删除超级表的一个标签。从超级表删除某个标签后,该超级表下的所有子表也会自动删除该标签。 -- MODIFY TAG:修改超级表的一个标签的定义。如果标签的类型是可变长类型,那么可以使用此指令修改其宽度,只能改大,不能改小。 +- MODIFY TAG:修改超级表的一个标签的列宽度。标签的类型只能是 nchar 和 binary,使用此指令可以修改其宽度,只能改大,不能改小。 - RENAME TAG:修改超级表的一个标签的名称。从超级表修改某个标签名后,该超级表下的所有子表也会自动更新该标签名。 ### 增加列 diff --git a/include/common/ttokendef.h b/include/common/ttokendef.h index 129831d8b1a92cb4232e35d1e82f15baf101cd67..04970ccc349984b3d08f0a5709e5025f0ee28798 100644 --- a/include/common/ttokendef.h +++ b/include/common/ttokendef.h @@ -182,66 +182,66 @@ #define TK_INDEX 164 #define TK_FUNCTION 165 #define TK_INTERVAL 166 -#define TK_TOPIC 167 -#define TK_WITH 168 -#define TK_META 169 -#define TK_CONSUMER 170 -#define TK_GROUP 171 -#define TK_DESC 172 -#define TK_DESCRIBE 173 -#define TK_RESET 174 -#define TK_QUERY 175 -#define TK_CACHE 176 -#define TK_EXPLAIN 177 -#define TK_ANALYZE 178 -#define TK_VERBOSE 179 -#define TK_NK_BOOL 180 -#define TK_RATIO 181 -#define TK_NK_FLOAT 182 -#define TK_OUTPUTTYPE 183 -#define TK_AGGREGATE 184 -#define TK_BUFSIZE 185 -#define TK_STREAM 186 -#define TK_INTO 187 -#define TK_TRIGGER 188 -#define TK_AT_ONCE 189 -#define TK_WINDOW_CLOSE 190 -#define TK_IGNORE 191 -#define TK_EXPIRED 192 -#define TK_FILL_HISTORY 193 -#define TK_SUBTABLE 194 -#define TK_KILL 195 -#define TK_CONNECTION 196 -#define TK_TRANSACTION 197 -#define TK_BALANCE 198 -#define TK_VGROUP 199 -#define TK_MERGE 200 -#define TK_REDISTRIBUTE 201 -#define TK_SPLIT 202 -#define TK_DELETE 203 -#define TK_INSERT 204 -#define TK_NULL 205 -#define TK_NK_QUESTION 206 -#define TK_NK_ARROW 207 -#define TK_ROWTS 208 -#define TK_QSTART 209 -#define TK_QEND 210 -#define TK_QDURATION 211 -#define TK_WSTART 212 -#define TK_WEND 213 -#define TK_WDURATION 214 -#define TK_IROWTS 215 -#define TK_ISFILLED 216 -#define TK_CAST 217 -#define TK_NOW 218 -#define TK_TODAY 219 -#define TK_TIMEZONE 220 -#define TK_CLIENT_VERSION 221 -#define TK_SERVER_VERSION 222 -#define TK_SERVER_STATUS 223 -#define TK_CURRENT_USER 224 -#define TK_COUNT 225 -#define TK_LAST_ROW 226 +#define TK_COUNT 167 +#define TK_LAST_ROW 168 +#define TK_TOPIC 169 +#define TK_WITH 170 +#define TK_META 171 +#define TK_CONSUMER 172 +#define TK_GROUP 173 +#define TK_DESC 174 +#define TK_DESCRIBE 175 +#define TK_RESET 176 +#define TK_QUERY 177 +#define TK_CACHE 178 +#define TK_EXPLAIN 179 +#define TK_ANALYZE 180 +#define TK_VERBOSE 181 +#define TK_NK_BOOL 182 +#define TK_RATIO 183 +#define TK_NK_FLOAT 184 +#define TK_OUTPUTTYPE 185 +#define TK_AGGREGATE 186 +#define TK_BUFSIZE 187 +#define TK_STREAM 188 +#define TK_INTO 189 +#define TK_TRIGGER 190 +#define TK_AT_ONCE 191 +#define TK_WINDOW_CLOSE 192 +#define TK_IGNORE 193 +#define TK_EXPIRED 194 +#define TK_FILL_HISTORY 195 +#define TK_SUBTABLE 196 +#define TK_KILL 197 +#define TK_CONNECTION 198 +#define TK_TRANSACTION 199 +#define TK_BALANCE 200 +#define TK_VGROUP 201 +#define TK_MERGE 202 +#define TK_REDISTRIBUTE 203 +#define TK_SPLIT 204 +#define TK_DELETE 205 +#define TK_INSERT 206 +#define TK_NULL 207 +#define TK_NK_QUESTION 208 +#define TK_NK_ARROW 209 +#define TK_ROWTS 210 +#define TK_QSTART 211 +#define TK_QEND 212 +#define TK_QDURATION 213 +#define TK_WSTART 214 +#define TK_WEND 215 +#define TK_WDURATION 216 +#define TK_IROWTS 217 +#define TK_ISFILLED 218 +#define TK_CAST 219 +#define TK_NOW 220 +#define TK_TODAY 221 +#define TK_TIMEZONE 222 +#define TK_CLIENT_VERSION 223 +#define TK_SERVER_VERSION 224 +#define TK_SERVER_STATUS 225 +#define TK_CURRENT_USER 226 #define TK_CASE 227 #define TK_END 228 #define TK_WHEN 229 diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index 415566b95eb4294deda224a0cd6e38de76fcbe07..cd1260584e5ea6c4beea82088f0b28f6e7c40d33 100644 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -473,7 +473,15 @@ index_options(A) ::= FUNCTION NK_LP func_list(B) NK_RP INTERVAL func_list(A) ::= func(B). { A = createNodeList(pCxt, B); } func_list(A) ::= func_list(B) NK_COMMA func(C). { A = addNodeToList(pCxt, B, C); } -func(A) ::= function_name(B) NK_LP expression_list(C) NK_RP. { A = createFunctionNode(pCxt, &B, C); } +func(A) ::= sma_func_name(B) NK_LP expression_list(C) NK_RP. { A = createFunctionNode(pCxt, &B, C); } + +%type sma_func_name { SToken } +%destructor sma_func_name { } +sma_func_name(A) ::= function_name(B). { A = B; } +sma_func_name(A) ::= COUNT(B). { A = B; } +sma_func_name(A) ::= FIRST(B). { A = B; } +sma_func_name(A) ::= LAST(B). { A = B; } +sma_func_name(A) ::= LAST_ROW(B). { A = B; } sma_stream_opt(A) ::= . { A = createStreamOptions(pCxt); } sma_stream_opt(A) ::= sma_stream_opt(B) WATERMARK duration_literal(C). { ((SStreamOptions*)B)->pWatermark = releaseRawExprNode(pCxt, C); A = B; } diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index cd39e66723e6eb193a945b923115456354eba0cc..1021aab6f099e7f65201684ab07ef5412d47ab60 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -104,26 +104,26 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 460 +#define YYNOCODE 461 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE SToken typedef union { int yyinit; ParseTOKENTYPE yy0; - SAlterOption yy5; - bool yy57; - EFillMode yy214; - EJoinType yy332; - int32_t yy340; - int8_t yy383; - SDataType yy384; - SNodeList* yy424; - EOrder yy538; - EOperatorType yy620; - SNode* yy752; - ENullOrder yy777; - SToken yy849; - int64_t yy869; + EOrder yy32; + SToken yy77; + int32_t yy248; + int8_t yy287; + ENullOrder yy385; + EJoinType yy560; + SNode* yy600; + SNodeList* yy601; + SAlterOption yy661; + EOperatorType yy666; + int64_t yy717; + EFillMode yy798; + bool yy841; + SDataType yy888; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -140,17 +140,17 @@ typedef union { #define ParseCTX_STORE #define YYFALLBACK 1 #define YYNSTATE 714 -#define YYNRULE 540 -#define YYNRULE_WITH_ACTION 540 +#define YYNRULE 545 +#define YYNRULE_WITH_ACTION 545 #define YYNTOKEN 325 #define YY_MAX_SHIFT 713 -#define YY_MIN_SHIFTREDUCE 1056 -#define YY_MAX_SHIFTREDUCE 1595 -#define YY_ERROR_ACTION 1596 -#define YY_ACCEPT_ACTION 1597 -#define YY_NO_ACTION 1598 -#define YY_MIN_REDUCE 1599 -#define YY_MAX_REDUCE 2138 +#define YY_MIN_SHIFTREDUCE 1061 +#define YY_MAX_SHIFTREDUCE 1605 +#define YY_ERROR_ACTION 1606 +#define YY_ACCEPT_ACTION 1607 +#define YY_NO_ACTION 1608 +#define YY_MIN_REDUCE 1609 +#define YY_MAX_REDUCE 2153 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -217,782 +217,843 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (2761) +#define YY_ACTTAB_COUNT (3069) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 460, 603, 461, 1635, 1741, 603, 469, 583, 461, 1635, - /* 10 */ 35, 276, 45, 43, 1525, 54, 1737, 354, 169, 125, - /* 20 */ 362, 1600, 1375, 38, 37, 157, 499, 44, 42, 41, - /* 30 */ 40, 39, 1752, 1455, 1754, 1373, 1752, 169, 133, 334, - /* 40 */ 1852, 1622, 115, 1952, 1848, 114, 113, 112, 111, 110, - /* 50 */ 109, 108, 107, 106, 31, 183, 1401, 603, 1450, 1853, - /* 60 */ 38, 37, 602, 18, 44, 42, 41, 40, 39, 1952, - /* 70 */ 1381, 180, 38, 37, 1970, 466, 44, 42, 41, 40, - /* 80 */ 39, 462, 617, 45, 43, 1921, 2114, 1921, 1752, 619, - /* 90 */ 159, 362, 1611, 1375, 528, 14, 585, 173, 2048, 2049, - /* 100 */ 1970, 131, 2053, 1402, 1455, 583, 1373, 526, 586, 524, - /* 110 */ 1730, 1562, 1951, 1921, 602, 619, 1987, 710, 171, 312, - /* 120 */ 1953, 623, 1955, 1956, 618, 616, 613, 604, 2005, 1450, - /* 130 */ 590, 1792, 1457, 1458, 18, 605, 133, 2012, 1951, 260, - /* 140 */ 353, 1381, 1987, 1863, 603, 102, 1953, 623, 1955, 1956, - /* 150 */ 618, 158, 613, 583, 1400, 602, 296, 172, 125, 2040, - /* 160 */ 1541, 1430, 1440, 356, 2036, 504, 14, 82, 1258, 1259, - /* 170 */ 294, 68, 478, 60, 67, 1752, 60, 177, 87, 1585, - /* 180 */ 1376, 129, 1374, 367, 133, 2066, 1798, 1800, 710, 48, - /* 190 */ 1747, 1805, 195, 456, 454, 174, 2048, 2049, 459, 131, - /* 200 */ 2053, 464, 1641, 1457, 1458, 1379, 1380, 1804, 1429, 1432, - /* 210 */ 1433, 1434, 1435, 1436, 1437, 1438, 1439, 615, 611, 1448, - /* 220 */ 1449, 1451, 1452, 1453, 1454, 1456, 1459, 2, 60, 60, - /* 230 */ 48, 115, 1430, 1440, 114, 113, 112, 111, 110, 109, - /* 240 */ 108, 107, 106, 176, 2048, 2049, 259, 131, 2053, 1529, - /* 250 */ 1400, 1376, 82, 1374, 478, 1400, 1215, 645, 644, 643, - /* 260 */ 1219, 642, 1221, 1222, 641, 1224, 638, 101, 1230, 635, - /* 270 */ 1232, 1233, 632, 629, 1400, 1748, 1379, 1380, 561, 1429, - /* 280 */ 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 615, 611, - /* 290 */ 1448, 1449, 1451, 1452, 1453, 1454, 1456, 1459, 2, 1089, - /* 300 */ 11, 45, 43, 1668, 60, 76, 75, 404, 69, 362, - /* 310 */ 182, 1375, 38, 37, 1805, 603, 44, 42, 41, 40, - /* 320 */ 39, 331, 1455, 178, 1373, 407, 178, 160, 318, 405, - /* 330 */ 1803, 392, 1706, 390, 386, 382, 379, 376, 1091, 178, - /* 340 */ 1094, 1095, 514, 513, 512, 2055, 1752, 1450, 27, 2055, - /* 350 */ 130, 508, 18, 468, 566, 507, 464, 1641, 77, 1381, - /* 360 */ 506, 511, 567, 562, 556, 320, 505, 49, 514, 513, - /* 370 */ 512, 2052, 45, 43, 1460, 2051, 130, 508, 178, 178, - /* 380 */ 362, 507, 1375, 575, 14, 571, 506, 511, 400, 2109, - /* 390 */ 399, 1431, 505, 1455, 365, 1373, 1431, 44, 42, 41, - /* 400 */ 40, 39, 157, 1952, 570, 175, 710, 1522, 2114, 2110, - /* 410 */ 572, 1754, 2109, 33, 213, 1311, 1312, 1621, 1450, 38, - /* 420 */ 37, 1457, 1458, 44, 42, 41, 40, 39, 2113, 164, - /* 430 */ 1381, 657, 2110, 2112, 1970, 495, 491, 487, 483, 210, - /* 440 */ 267, 268, 620, 603, 1970, 266, 99, 1921, 1384, 619, - /* 450 */ 1430, 1440, 565, 1175, 178, 46, 1486, 406, 38, 37, - /* 460 */ 134, 1921, 44, 42, 41, 40, 39, 1402, 1744, 1376, - /* 470 */ 1403, 1374, 1951, 1401, 1752, 83, 1987, 710, 208, 162, - /* 480 */ 1953, 623, 1955, 1956, 618, 1848, 613, 1108, 1177, 1107, - /* 490 */ 1728, 564, 1457, 1458, 1379, 1380, 185, 1429, 1432, 1433, - /* 500 */ 1434, 1435, 1436, 1437, 1438, 1439, 615, 611, 1448, 1449, - /* 510 */ 1451, 1452, 1453, 1454, 1456, 1459, 2, 178, 1109, 38, - /* 520 */ 37, 1430, 1440, 44, 42, 41, 40, 39, 32, 38, - /* 530 */ 37, 573, 2130, 44, 42, 41, 40, 39, 1491, 571, - /* 540 */ 1376, 610, 1374, 2109, 443, 207, 201, 590, 206, 38, - /* 550 */ 37, 474, 657, 44, 42, 41, 40, 39, 570, 175, - /* 560 */ 1864, 1597, 1952, 2110, 572, 1379, 1380, 199, 1429, 1432, - /* 570 */ 1433, 1434, 1435, 1436, 1437, 1438, 1439, 615, 611, 1448, - /* 580 */ 1449, 1451, 1452, 1453, 1454, 1456, 1459, 2, 45, 43, - /* 590 */ 1599, 187, 1108, 1970, 1107, 1387, 362, 64, 1375, 1799, - /* 600 */ 1800, 620, 191, 190, 396, 576, 1921, 212, 619, 1455, - /* 610 */ 259, 1373, 227, 237, 124, 123, 122, 121, 120, 119, - /* 620 */ 118, 117, 116, 1109, 377, 398, 394, 79, 13, 12, - /* 630 */ 78, 1951, 2055, 603, 1450, 1987, 510, 509, 102, 1953, - /* 640 */ 623, 1955, 1956, 618, 1729, 613, 1381, 415, 136, 1521, - /* 650 */ 143, 2011, 2040, 1952, 401, 1400, 356, 2036, 2050, 45, - /* 660 */ 43, 1805, 1375, 1620, 1752, 235, 547, 362, 355, 1375, - /* 670 */ 2109, 46, 84, 322, 156, 1373, 532, 1803, 530, 1399, - /* 680 */ 1455, 603, 1373, 1476, 1970, 2115, 175, 11, 60, 9, - /* 690 */ 2110, 572, 586, 710, 2114, 429, 547, 1921, 2109, 619, - /* 700 */ 2109, 41, 40, 39, 85, 1450, 1619, 1921, 1457, 1458, - /* 710 */ 1381, 1618, 1752, 1592, 2113, 2115, 175, 1381, 2110, 2111, - /* 720 */ 2110, 572, 1951, 1498, 648, 607, 1987, 2012, 1743, 102, - /* 730 */ 1953, 623, 1955, 1956, 618, 603, 613, 1430, 1440, 1935, - /* 740 */ 93, 172, 14, 2040, 368, 603, 603, 356, 2036, 430, - /* 750 */ 1921, 655, 157, 11, 1848, 1921, 1376, 710, 1374, 476, - /* 760 */ 477, 1754, 1745, 8, 710, 189, 1752, 1931, 1937, 2067, - /* 770 */ 148, 147, 652, 651, 650, 145, 1752, 1752, 613, 1457, - /* 780 */ 1458, 1379, 1380, 503, 1429, 1432, 1433, 1434, 1435, 1436, - /* 790 */ 1437, 1438, 1439, 615, 611, 1448, 1449, 1451, 1452, 1453, - /* 800 */ 1454, 1456, 1459, 2, 319, 502, 1398, 1805, 1430, 1440, - /* 810 */ 1591, 603, 229, 437, 366, 1782, 450, 1381, 603, 449, - /* 820 */ 1376, 135, 1374, 1803, 2011, 1749, 228, 1376, 1665, 1374, - /* 830 */ 1552, 1617, 141, 2113, 421, 1727, 451, 1939, 178, 423, - /* 840 */ 681, 679, 1752, 669, 1616, 1379, 1380, 1615, 1935, 1752, - /* 850 */ 1094, 1095, 1379, 1380, 1614, 1429, 1432, 1433, 1434, 1435, - /* 860 */ 1436, 1437, 1438, 1439, 615, 611, 1448, 1449, 1451, 1452, - /* 870 */ 1453, 1454, 1456, 1459, 2, 1921, 1931, 1937, 345, 1613, - /* 880 */ 335, 558, 1550, 1551, 1553, 1554, 542, 613, 1921, 1352, - /* 890 */ 1353, 1921, 411, 687, 686, 685, 684, 372, 1921, 683, - /* 900 */ 682, 137, 677, 676, 675, 674, 673, 672, 671, 150, - /* 910 */ 667, 666, 665, 371, 370, 662, 661, 660, 659, 658, - /* 920 */ 1642, 649, 447, 1921, 1796, 442, 441, 440, 439, 436, - /* 930 */ 435, 434, 433, 432, 428, 427, 426, 425, 336, 418, - /* 940 */ 417, 416, 655, 413, 412, 333, 38, 37, 1739, 1465, - /* 950 */ 44, 42, 41, 40, 39, 1400, 589, 603, 603, 1610, - /* 960 */ 1952, 148, 147, 652, 651, 650, 145, 157, 1518, 705, - /* 970 */ 1940, 543, 587, 655, 653, 1939, 1755, 1796, 1612, 654, - /* 980 */ 1952, 1935, 1796, 670, 218, 1722, 1935, 216, 1752, 1752, - /* 990 */ 1609, 1970, 148, 147, 652, 651, 650, 145, 547, 620, - /* 1000 */ 1403, 327, 2109, 1921, 1921, 290, 619, 1403, 1782, 1931, - /* 1010 */ 1937, 1970, 146, 603, 1931, 1937, 357, 2115, 175, 620, - /* 1020 */ 613, 603, 2110, 572, 1921, 613, 619, 271, 50, 1951, - /* 1030 */ 3, 603, 1608, 1987, 1921, 598, 102, 1953, 623, 1955, - /* 1040 */ 1956, 618, 1484, 613, 1752, 600, 1835, 1607, 2129, 1951, - /* 1050 */ 2040, 1952, 1752, 1987, 356, 2036, 102, 1953, 623, 1955, - /* 1060 */ 1956, 618, 1752, 613, 53, 2074, 2060, 1518, 2129, 603, - /* 1070 */ 2040, 1606, 603, 713, 356, 2036, 1921, 1605, 1604, 1603, - /* 1080 */ 408, 1602, 1970, 601, 1655, 2087, 277, 283, 1908, 220, - /* 1090 */ 620, 1921, 219, 409, 574, 1921, 1431, 619, 1485, 139, - /* 1100 */ 1752, 127, 168, 1752, 603, 1735, 515, 1707, 703, 699, - /* 1110 */ 695, 691, 281, 1952, 222, 1921, 224, 221, 369, 223, - /* 1120 */ 1951, 1921, 1921, 1921, 1987, 1921, 578, 102, 1953, 623, - /* 1130 */ 1955, 1956, 618, 1648, 613, 1752, 384, 359, 358, 2129, - /* 1140 */ 1646, 2040, 1383, 184, 1970, 356, 2036, 1389, 100, 232, - /* 1150 */ 236, 274, 620, 62, 241, 517, 554, 1921, 1455, 619, - /* 1160 */ 1382, 52, 520, 1594, 1595, 2080, 546, 47, 375, 1942, - /* 1170 */ 34, 360, 1479, 1480, 1481, 1482, 1483, 1487, 1488, 1489, - /* 1180 */ 1490, 1952, 1951, 1450, 599, 264, 1987, 519, 98, 102, - /* 1190 */ 1953, 623, 1955, 1956, 618, 1381, 613, 424, 95, 142, - /* 1200 */ 144, 2129, 529, 2040, 146, 1549, 243, 356, 2036, 614, - /* 1210 */ 547, 62, 1970, 47, 2109, 47, 226, 1944, 2103, 1322, - /* 1220 */ 620, 262, 13, 12, 663, 1921, 559, 619, 647, 2115, - /* 1230 */ 175, 522, 339, 664, 2110, 572, 516, 269, 1346, 1952, - /* 1240 */ 231, 225, 609, 211, 1137, 627, 1156, 144, 146, 128, - /* 1250 */ 1951, 595, 273, 254, 1987, 1154, 1208, 102, 1953, 623, - /* 1260 */ 1955, 1956, 618, 1492, 613, 1441, 248, 289, 1971, 2129, - /* 1270 */ 1970, 2040, 373, 1857, 1636, 356, 2036, 66, 620, 1138, - /* 1280 */ 65, 1793, 1952, 1921, 144, 619, 2059, 584, 2070, 1386, - /* 1290 */ 256, 253, 1, 340, 4, 338, 337, 1236, 501, 1240, - /* 1300 */ 1247, 1245, 503, 378, 383, 1390, 332, 1385, 1951, 1339, - /* 1310 */ 188, 284, 1987, 1970, 1403, 102, 1953, 623, 1955, 1956, - /* 1320 */ 618, 620, 613, 410, 502, 374, 1921, 2015, 619, 2040, - /* 1330 */ 1393, 1395, 1858, 356, 2036, 1952, 149, 414, 445, 419, - /* 1340 */ 1398, 431, 1850, 611, 1448, 1449, 1451, 1452, 1453, 1454, - /* 1350 */ 579, 1951, 438, 444, 446, 1987, 452, 453, 102, 1953, - /* 1360 */ 623, 1955, 1956, 618, 192, 613, 1970, 547, 455, 457, - /* 1370 */ 2013, 2109, 2040, 1404, 620, 458, 356, 2036, 1952, 1921, - /* 1380 */ 1406, 619, 467, 470, 198, 471, 2115, 175, 1405, 1407, - /* 1390 */ 200, 2110, 572, 472, 1111, 203, 475, 473, 479, 498, - /* 1400 */ 500, 105, 205, 80, 1951, 81, 209, 496, 1987, 1970, - /* 1410 */ 497, 102, 1953, 623, 1955, 1956, 618, 620, 613, 321, - /* 1420 */ 534, 536, 1921, 606, 619, 2040, 1742, 1898, 285, 356, - /* 1430 */ 2036, 215, 1738, 217, 151, 152, 1740, 535, 1736, 153, - /* 1440 */ 154, 230, 1897, 537, 538, 233, 560, 1951, 544, 1952, - /* 1450 */ 2086, 1987, 541, 593, 103, 1953, 623, 1955, 1956, 618, - /* 1460 */ 2085, 613, 551, 557, 2062, 2071, 346, 2081, 2040, 563, - /* 1470 */ 569, 239, 2039, 2036, 7, 583, 249, 242, 247, 547, - /* 1480 */ 1970, 552, 549, 2109, 165, 550, 347, 577, 620, 2132, - /* 1490 */ 255, 580, 2108, 1921, 252, 619, 1518, 132, 2115, 175, - /* 1500 */ 1402, 2056, 1952, 2110, 572, 350, 133, 591, 588, 286, - /* 1510 */ 261, 287, 596, 90, 592, 1869, 1868, 1867, 1951, 352, - /* 1520 */ 597, 288, 1987, 59, 251, 103, 1953, 623, 1955, 1956, - /* 1530 */ 618, 1753, 613, 1970, 250, 2021, 92, 94, 625, 2040, - /* 1540 */ 280, 620, 1723, 608, 2036, 706, 1921, 709, 619, 1797, - /* 1550 */ 291, 323, 51, 315, 1915, 300, 1952, 1914, 707, 314, - /* 1560 */ 304, 295, 324, 73, 1913, 257, 2048, 582, 1912, 126, - /* 1570 */ 581, 621, 293, 2109, 74, 1987, 1909, 380, 103, 1953, - /* 1580 */ 623, 1955, 1956, 618, 381, 613, 1367, 1970, 570, 175, - /* 1590 */ 1368, 181, 2040, 2110, 572, 620, 326, 2036, 385, 1952, - /* 1600 */ 1921, 1907, 619, 389, 387, 388, 1906, 391, 1905, 393, - /* 1610 */ 1904, 395, 1903, 397, 1342, 1341, 1880, 1879, 1878, 402, - /* 1620 */ 403, 1877, 1302, 1843, 1842, 1951, 1840, 138, 1839, 1987, - /* 1630 */ 1970, 1838, 161, 1953, 623, 1955, 1956, 618, 620, 613, - /* 1640 */ 186, 1831, 420, 1921, 1841, 619, 1837, 1836, 1834, 1833, - /* 1650 */ 1832, 422, 1830, 1829, 1828, 1827, 1952, 1826, 1825, 1824, - /* 1660 */ 1823, 1822, 1821, 1820, 1819, 1818, 1817, 1816, 1951, 140, - /* 1670 */ 1815, 1814, 1987, 548, 2077, 103, 1953, 623, 1955, 1956, - /* 1680 */ 618, 1813, 613, 448, 1952, 1812, 1811, 1970, 1810, 2040, - /* 1690 */ 1304, 1809, 1808, 1807, 2037, 620, 1806, 1670, 1669, 1667, - /* 1700 */ 1921, 193, 619, 194, 1183, 1631, 1630, 1893, 1097, 1096, - /* 1710 */ 1952, 1887, 71, 1876, 196, 1970, 197, 72, 170, 202, - /* 1720 */ 204, 1875, 1941, 620, 463, 1951, 465, 1860, 1921, 1987, - /* 1730 */ 619, 1731, 161, 1953, 623, 1955, 1956, 618, 1666, 613, - /* 1740 */ 1664, 1970, 482, 480, 1662, 484, 1130, 1660, 481, 620, - /* 1750 */ 485, 486, 488, 1951, 1921, 490, 619, 1987, 1658, 492, - /* 1760 */ 306, 1953, 623, 1955, 1956, 618, 489, 613, 493, 494, - /* 1770 */ 1645, 1644, 1627, 1733, 2078, 1251, 1952, 1252, 1732, 1951, - /* 1780 */ 1174, 1173, 1166, 1987, 1172, 1171, 162, 1953, 623, 1955, - /* 1790 */ 1956, 618, 678, 613, 61, 680, 1168, 1952, 1167, 1165, - /* 1800 */ 1656, 341, 1649, 342, 568, 518, 214, 1970, 1647, 343, - /* 1810 */ 1626, 521, 351, 1625, 1624, 620, 527, 523, 525, 104, - /* 1820 */ 1921, 1357, 619, 1356, 531, 1359, 1892, 26, 1970, 539, - /* 1830 */ 1348, 1886, 1874, 1872, 155, 19, 617, 2114, 28, 2131, - /* 1840 */ 16, 1921, 553, 619, 246, 1951, 555, 55, 1564, 1987, - /* 1850 */ 540, 238, 313, 1953, 623, 1955, 1956, 618, 1952, 613, - /* 1860 */ 58, 240, 1548, 163, 244, 245, 1951, 1942, 30, 29, - /* 1870 */ 1987, 20, 344, 312, 1953, 623, 1955, 1956, 618, 234, - /* 1880 */ 613, 1540, 2006, 63, 545, 86, 21, 5, 1584, 1970, - /* 1890 */ 6, 17, 1585, 1579, 361, 1578, 348, 620, 1583, 1582, - /* 1900 */ 349, 1515, 1921, 258, 619, 1514, 57, 1873, 1871, 1952, - /* 1910 */ 1870, 263, 22, 166, 1546, 1859, 89, 265, 270, 275, - /* 1920 */ 88, 12, 91, 594, 95, 1952, 272, 1951, 23, 167, - /* 1930 */ 1477, 1987, 56, 1391, 313, 1953, 623, 1955, 1956, 618, - /* 1940 */ 1970, 613, 1990, 179, 1445, 363, 612, 36, 620, 1443, - /* 1950 */ 1442, 1467, 15, 1921, 1466, 619, 1970, 1422, 10, 626, - /* 1960 */ 364, 624, 24, 25, 620, 1414, 622, 1237, 1952, 1921, - /* 1970 */ 628, 619, 1234, 630, 631, 633, 636, 1231, 1951, 1225, - /* 1980 */ 634, 637, 1987, 1223, 639, 313, 1953, 623, 1955, 1956, - /* 1990 */ 618, 1214, 613, 640, 533, 646, 96, 1229, 1987, 1970, - /* 2000 */ 278, 308, 1953, 623, 1955, 1956, 618, 620, 613, 1228, - /* 2010 */ 1227, 1952, 1921, 1226, 619, 97, 1246, 70, 1242, 1128, - /* 2020 */ 656, 1162, 1161, 1160, 1181, 1159, 1158, 1157, 1155, 1952, - /* 2030 */ 1153, 668, 1152, 1151, 1149, 1148, 1147, 1951, 279, 1146, - /* 2040 */ 1145, 1987, 1970, 1178, 297, 1953, 623, 1955, 1956, 618, - /* 2050 */ 620, 613, 1134, 1144, 1143, 1921, 1176, 619, 1140, 1139, - /* 2060 */ 1970, 1136, 1135, 1133, 1663, 1661, 688, 1659, 620, 692, - /* 2070 */ 689, 690, 694, 1921, 696, 619, 698, 693, 1657, 700, - /* 2080 */ 1951, 702, 1952, 697, 1987, 1643, 701, 298, 1953, 623, - /* 2090 */ 1955, 1956, 618, 704, 613, 1086, 1623, 282, 1951, 1377, - /* 2100 */ 708, 711, 1987, 1952, 292, 299, 1953, 623, 1955, 1956, - /* 2110 */ 618, 712, 613, 1970, 1598, 1598, 1598, 1598, 1598, 1598, - /* 2120 */ 1598, 620, 1598, 1598, 1598, 1598, 1921, 1598, 619, 1598, - /* 2130 */ 1598, 1598, 1598, 1598, 1970, 1598, 1598, 1598, 1598, 1598, - /* 2140 */ 1598, 1598, 620, 1598, 1598, 1598, 1598, 1921, 1598, 619, - /* 2150 */ 1598, 1951, 1598, 1598, 1598, 1987, 1598, 1952, 305, 1953, - /* 2160 */ 623, 1955, 1956, 618, 1598, 613, 1598, 1598, 1598, 1598, - /* 2170 */ 1598, 1598, 1951, 1598, 1952, 1598, 1987, 1598, 1598, 309, - /* 2180 */ 1953, 623, 1955, 1956, 618, 1598, 613, 1598, 1970, 1598, - /* 2190 */ 1598, 1598, 1598, 1598, 1598, 1598, 620, 1598, 1598, 1598, - /* 2200 */ 1598, 1921, 1598, 619, 1598, 1970, 1598, 1598, 1598, 1598, - /* 2210 */ 1598, 1598, 1598, 620, 1598, 1598, 1598, 1598, 1921, 1598, - /* 2220 */ 619, 1598, 1598, 1598, 1598, 1598, 1951, 1598, 1598, 1598, - /* 2230 */ 1987, 1952, 1598, 301, 1953, 623, 1955, 1956, 618, 1598, - /* 2240 */ 613, 1598, 1598, 1951, 1598, 1598, 1598, 1987, 1598, 1598, - /* 2250 */ 310, 1953, 623, 1955, 1956, 618, 1598, 613, 1598, 1598, - /* 2260 */ 1598, 1598, 1970, 1598, 1598, 1598, 1598, 1598, 1598, 1598, - /* 2270 */ 620, 1598, 1598, 1598, 1952, 1921, 1598, 619, 1598, 1598, - /* 2280 */ 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, - /* 2290 */ 1598, 1598, 1598, 1952, 1598, 1598, 1598, 1598, 1598, 1598, - /* 2300 */ 1951, 1598, 1598, 1598, 1987, 1970, 1598, 302, 1953, 623, - /* 2310 */ 1955, 1956, 618, 620, 613, 1598, 1598, 1952, 1921, 1598, - /* 2320 */ 619, 1598, 1598, 1598, 1970, 1598, 1598, 1598, 1598, 1598, - /* 2330 */ 1598, 1598, 620, 1598, 1598, 1598, 1952, 1921, 1598, 619, - /* 2340 */ 1598, 1598, 1598, 1951, 1598, 1598, 1598, 1987, 1970, 1598, - /* 2350 */ 311, 1953, 623, 1955, 1956, 618, 620, 613, 1598, 1598, - /* 2360 */ 1598, 1921, 1951, 619, 1598, 1598, 1987, 1970, 1598, 303, - /* 2370 */ 1953, 623, 1955, 1956, 618, 620, 613, 1598, 1598, 1952, - /* 2380 */ 1921, 1598, 619, 1598, 1598, 1598, 1951, 1598, 1598, 1598, - /* 2390 */ 1987, 1598, 1598, 316, 1953, 623, 1955, 1956, 618, 1598, - /* 2400 */ 613, 1598, 1598, 1598, 1598, 1951, 1598, 1598, 1598, 1987, - /* 2410 */ 1970, 1598, 317, 1953, 623, 1955, 1956, 618, 620, 613, - /* 2420 */ 1598, 1598, 1598, 1921, 1598, 619, 1598, 1598, 1598, 1598, - /* 2430 */ 1598, 1598, 1952, 1598, 1598, 1598, 1598, 1598, 1598, 1598, - /* 2440 */ 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1951, 1598, - /* 2450 */ 1952, 1598, 1987, 1598, 1598, 1964, 1953, 623, 1955, 1956, - /* 2460 */ 618, 1598, 613, 1970, 1598, 1598, 1598, 1598, 1598, 1598, - /* 2470 */ 1598, 620, 1598, 1598, 1598, 1598, 1921, 1598, 619, 1598, - /* 2480 */ 1598, 1970, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 620, - /* 2490 */ 1598, 1598, 1598, 1598, 1921, 1598, 619, 1598, 1598, 1598, - /* 2500 */ 1598, 1951, 1598, 1952, 1598, 1987, 1598, 1598, 1963, 1953, - /* 2510 */ 623, 1955, 1956, 618, 1598, 613, 1598, 1598, 1598, 1951, - /* 2520 */ 1598, 1598, 1598, 1987, 1598, 1952, 1962, 1953, 623, 1955, - /* 2530 */ 1956, 618, 1598, 613, 1970, 1598, 1598, 1598, 1598, 1598, - /* 2540 */ 1598, 1598, 620, 1598, 1598, 1598, 1598, 1921, 1598, 619, - /* 2550 */ 1598, 1598, 1598, 1598, 1598, 1598, 1970, 1598, 1598, 1598, - /* 2560 */ 1598, 1598, 1598, 1598, 620, 1598, 1598, 1598, 1598, 1921, - /* 2570 */ 1598, 619, 1951, 1598, 1598, 1598, 1987, 1598, 1598, 328, - /* 2580 */ 1953, 623, 1955, 1956, 618, 1598, 613, 1598, 1598, 1598, - /* 2590 */ 1598, 1952, 1598, 1598, 1951, 1598, 1598, 1598, 1987, 1598, - /* 2600 */ 1598, 329, 1953, 623, 1955, 1956, 618, 1598, 613, 1598, - /* 2610 */ 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, - /* 2620 */ 1598, 1598, 1970, 1598, 1598, 1598, 1598, 1598, 1598, 1598, - /* 2630 */ 620, 1598, 1598, 1598, 1952, 1921, 1598, 619, 1598, 1598, - /* 2640 */ 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, - /* 2650 */ 1598, 1598, 1598, 1952, 1598, 1598, 1598, 1598, 1598, 1598, - /* 2660 */ 1951, 1598, 1598, 1598, 1987, 1970, 1598, 325, 1953, 623, - /* 2670 */ 1955, 1956, 618, 620, 613, 1598, 1598, 1952, 1921, 1598, - /* 2680 */ 619, 1598, 1598, 1598, 1970, 1598, 1598, 1598, 1598, 1598, - /* 2690 */ 1598, 1598, 620, 1598, 1598, 1598, 1598, 1921, 1598, 619, - /* 2700 */ 1598, 1598, 1598, 1951, 1598, 1598, 1598, 1987, 1970, 1598, - /* 2710 */ 330, 1953, 623, 1955, 1956, 618, 620, 613, 1598, 1598, - /* 2720 */ 1598, 1921, 621, 619, 1598, 1598, 1987, 1598, 1598, 308, - /* 2730 */ 1953, 623, 1955, 1956, 618, 1598, 613, 1598, 1598, 1598, - /* 2740 */ 1598, 1598, 1598, 1598, 1598, 1598, 1951, 1598, 1598, 1598, - /* 2750 */ 1987, 1598, 1598, 307, 1953, 623, 1955, 1956, 618, 1598, - /* 2760 */ 613, + /* 0 */ 35, 276, 460, 1876, 461, 1645, 469, 367, 461, 1645, + /* 10 */ 1808, 1810, 45, 43, 1535, 1954, 1874, 590, 1751, 466, + /* 20 */ 362, 407, 1385, 38, 37, 462, 1950, 44, 42, 41, + /* 30 */ 40, 39, 169, 1465, 459, 1383, 229, 464, 1651, 1792, + /* 40 */ 571, 602, 38, 37, 2124, 602, 44, 42, 41, 40, + /* 50 */ 39, 8, 602, 334, 1862, 1946, 1952, 345, 1460, 570, + /* 60 */ 175, 320, 187, 18, 2125, 572, 613, 38, 37, 1967, + /* 70 */ 1391, 44, 42, 41, 40, 39, 468, 1411, 583, 464, + /* 80 */ 1651, 38, 37, 45, 43, 44, 42, 41, 40, 39, + /* 90 */ 2129, 362, 171, 1385, 1609, 14, 136, 327, 81, 2026, + /* 100 */ 1985, 80, 60, 27, 1465, 1802, 1383, 1412, 586, 134, + /* 110 */ 159, 1572, 1621, 1936, 603, 619, 48, 710, 125, 124, + /* 120 */ 123, 122, 121, 120, 119, 118, 117, 48, 126, 1460, + /* 130 */ 100, 160, 1467, 1468, 18, 499, 1716, 443, 1494, 1966, + /* 140 */ 64, 1391, 478, 2002, 135, 1762, 103, 1968, 623, 1970, + /* 150 */ 1971, 618, 1754, 613, 1410, 2129, 1815, 146, 172, 2124, + /* 160 */ 2055, 1440, 1450, 355, 356, 2051, 14, 1466, 1469, 257, + /* 170 */ 2063, 582, 1813, 127, 581, 2128, 566, 2124, 177, 2125, + /* 180 */ 2127, 2129, 1386, 1595, 1384, 2124, 2081, 528, 710, 1263, + /* 190 */ 1264, 260, 570, 175, 1495, 191, 190, 2125, 572, 49, + /* 200 */ 526, 2128, 524, 1467, 1468, 2125, 2126, 1389, 1390, 53, + /* 210 */ 1439, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 615, + /* 220 */ 611, 1458, 1459, 1461, 1462, 1463, 1464, 2, 60, 60, + /* 230 */ 89, 60, 1440, 1450, 2070, 1410, 156, 116, 1466, 1469, + /* 240 */ 115, 114, 113, 112, 111, 110, 109, 108, 107, 648, + /* 250 */ 259, 227, 178, 1386, 2070, 1384, 1528, 38, 37, 1632, + /* 260 */ 2067, 44, 42, 41, 40, 39, 34, 360, 1489, 1490, + /* 270 */ 1491, 1492, 1493, 1497, 1498, 1499, 1500, 178, 1389, 1390, + /* 280 */ 2066, 1439, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, + /* 290 */ 615, 611, 1458, 1459, 1461, 1462, 1463, 1464, 2, 396, + /* 300 */ 11, 45, 43, 1936, 1954, 1385, 1539, 1631, 1985, 362, + /* 310 */ 408, 1385, 1410, 86, 322, 1950, 565, 532, 1383, 530, + /* 320 */ 398, 394, 1465, 409, 1383, 1220, 645, 644, 643, 1224, + /* 330 */ 642, 1226, 1227, 641, 1229, 638, 1678, 1235, 635, 1237, + /* 340 */ 1238, 632, 629, 213, 1946, 1952, 357, 1460, 1180, 178, + /* 350 */ 401, 1936, 18, 1391, 1815, 613, 564, 1532, 164, 1391, + /* 360 */ 1113, 366, 1112, 1410, 495, 491, 487, 483, 210, 1630, + /* 370 */ 1813, 1629, 45, 43, 1470, 212, 1316, 1317, 178, 178, + /* 380 */ 362, 178, 1385, 1182, 14, 44, 42, 41, 40, 39, + /* 390 */ 657, 1114, 547, 1465, 1409, 1383, 2124, 1113, 1628, 1112, + /* 400 */ 710, 514, 513, 512, 85, 1094, 710, 208, 1610, 131, + /* 410 */ 508, 2130, 175, 1936, 507, 1936, 2125, 572, 1460, 506, + /* 420 */ 511, 1467, 1468, 1602, 1627, 505, 267, 268, 1114, 116, + /* 430 */ 1391, 266, 115, 114, 113, 112, 111, 110, 109, 108, + /* 440 */ 107, 583, 1936, 1411, 1096, 1626, 1099, 1100, 1391, 1876, + /* 450 */ 1440, 1450, 603, 1441, 1815, 46, 1466, 1469, 11, 353, + /* 460 */ 9, 331, 1873, 590, 603, 1386, 54, 1384, 1936, 575, + /* 470 */ 1813, 1386, 134, 1384, 207, 201, 1625, 710, 180, 206, + /* 480 */ 38, 37, 474, 1762, 44, 42, 41, 40, 39, 1936, + /* 490 */ 1389, 1390, 1467, 1468, 84, 1762, 1389, 1390, 199, 1439, + /* 500 */ 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 615, 611, + /* 510 */ 1458, 1459, 1461, 1462, 1463, 1464, 2, 1758, 1601, 1412, + /* 520 */ 1936, 1440, 1450, 583, 1142, 1624, 571, 1466, 1469, 603, + /* 530 */ 2124, 585, 173, 2063, 2064, 603, 132, 2068, 1413, 514, + /* 540 */ 513, 512, 1386, 405, 1384, 570, 175, 131, 508, 406, + /* 550 */ 2125, 572, 507, 1623, 134, 1330, 1331, 506, 511, 1143, + /* 560 */ 1762, 1967, 1620, 505, 1809, 1810, 1762, 1389, 1390, 1936, + /* 570 */ 1439, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 615, + /* 580 */ 611, 1458, 1459, 1461, 1462, 1463, 1464, 2, 45, 43, + /* 590 */ 1329, 1332, 1985, 1740, 84, 354, 362, 1936, 1385, 1531, + /* 600 */ 620, 1607, 605, 157, 2027, 1936, 1936, 619, 130, 1465, + /* 610 */ 228, 1383, 1764, 11, 174, 2063, 2064, 1757, 132, 2068, + /* 620 */ 38, 37, 1967, 2070, 44, 42, 41, 40, 39, 519, + /* 630 */ 561, 1966, 1413, 603, 1460, 2002, 669, 1562, 103, 1968, + /* 640 */ 623, 1970, 1971, 618, 529, 613, 1391, 126, 137, 2065, + /* 650 */ 143, 2026, 2055, 1985, 504, 478, 356, 2051, 226, 45, + /* 660 */ 43, 620, 259, 603, 1762, 377, 1936, 362, 619, 1385, + /* 670 */ 607, 46, 2027, 522, 1619, 1362, 1363, 415, 516, 1618, + /* 680 */ 1465, 184, 1383, 225, 1753, 60, 558, 1560, 1561, 1563, + /* 690 */ 1564, 576, 1966, 710, 1762, 1950, 2002, 510, 509, 161, + /* 700 */ 1968, 623, 1970, 1971, 618, 1460, 613, 547, 1467, 1468, + /* 710 */ 1738, 2124, 542, 368, 567, 562, 556, 1391, 1936, 67, + /* 720 */ 1739, 157, 66, 1936, 1946, 1952, 2130, 175, 1475, 1747, + /* 730 */ 1764, 2125, 572, 1617, 1410, 613, 649, 1440, 1450, 1806, + /* 740 */ 548, 2092, 14, 1466, 1469, 603, 38, 37, 1496, 1749, + /* 750 */ 44, 42, 41, 40, 39, 31, 169, 2128, 1386, 429, + /* 760 */ 1384, 38, 37, 503, 710, 44, 42, 41, 40, 39, + /* 770 */ 1745, 400, 657, 399, 1616, 237, 1762, 1936, 1863, 1467, + /* 780 */ 1468, 1737, 1615, 1389, 1390, 502, 1439, 1442, 1443, 1444, + /* 790 */ 1445, 1446, 1447, 1448, 1449, 615, 611, 1458, 1459, 1461, + /* 800 */ 1462, 1463, 1464, 2, 41, 40, 39, 603, 1440, 1450, + /* 810 */ 319, 50, 1408, 3, 1466, 1469, 365, 94, 1936, 437, + /* 820 */ 32, 430, 450, 232, 157, 449, 1936, 655, 614, 1386, + /* 830 */ 1501, 1384, 1614, 1764, 1551, 178, 681, 679, 1762, 1755, + /* 840 */ 421, 1955, 451, 647, 157, 423, 148, 147, 652, 651, + /* 850 */ 650, 145, 1950, 1765, 1389, 1390, 1410, 1439, 1442, 1443, + /* 860 */ 1444, 1445, 1446, 1447, 1448, 1449, 615, 611, 1458, 1459, + /* 870 */ 1461, 1462, 1463, 1464, 2, 1441, 1936, 670, 1413, 1732, + /* 880 */ 158, 1946, 1952, 33, 1845, 296, 335, 1675, 655, 38, + /* 890 */ 37, 1858, 613, 44, 42, 41, 40, 39, 411, 294, + /* 900 */ 70, 1815, 183, 69, 1858, 1858, 1622, 148, 147, 652, + /* 910 */ 651, 650, 145, 13, 12, 185, 189, 1814, 1099, 1100, + /* 920 */ 99, 195, 456, 454, 653, 2095, 654, 1806, 447, 1806, + /* 930 */ 96, 442, 441, 440, 439, 436, 435, 434, 433, 432, + /* 940 */ 428, 427, 426, 425, 336, 418, 417, 416, 589, 413, + /* 950 */ 412, 333, 687, 686, 685, 684, 372, 60, 683, 682, + /* 960 */ 138, 677, 676, 675, 674, 673, 672, 671, 150, 667, + /* 970 */ 666, 665, 371, 370, 662, 661, 660, 659, 658, 1613, + /* 980 */ 254, 603, 655, 1612, 290, 603, 375, 1792, 374, 578, + /* 990 */ 547, 2075, 1528, 603, 2124, 476, 102, 1441, 1717, 477, + /* 1000 */ 1967, 148, 147, 652, 651, 650, 145, 1759, 1508, 2130, + /* 1010 */ 175, 140, 1762, 128, 2125, 572, 1762, 218, 574, 71, + /* 1020 */ 216, 236, 220, 1936, 1762, 219, 52, 1936, 547, 603, + /* 1030 */ 547, 1985, 2124, 546, 2124, 424, 78, 77, 404, 586, + /* 1040 */ 583, 182, 603, 142, 1936, 1394, 619, 2130, 175, 2130, + /* 1050 */ 175, 559, 2125, 572, 2125, 572, 543, 1923, 535, 318, + /* 1060 */ 1762, 603, 392, 235, 390, 386, 382, 379, 376, 79, + /* 1070 */ 1966, 134, 1967, 1762, 2002, 587, 1393, 103, 1968, 623, + /* 1080 */ 1970, 1971, 618, 603, 613, 222, 62, 224, 221, 172, + /* 1090 */ 223, 2055, 1762, 1665, 211, 356, 2051, 271, 603, 603, + /* 1100 */ 547, 1658, 87, 1985, 2124, 384, 1656, 178, 603, 610, + /* 1110 */ 339, 620, 598, 600, 1762, 515, 1936, 2082, 619, 2130, + /* 1120 */ 175, 1957, 601, 517, 2125, 572, 1967, 603, 520, 1762, + /* 1130 */ 1762, 176, 2063, 2064, 241, 132, 2068, 248, 1559, 1762, + /* 1140 */ 47, 277, 1966, 1604, 1605, 1986, 2002, 264, 373, 103, + /* 1150 */ 1968, 623, 1970, 1971, 618, 663, 613, 1985, 1762, 68, + /* 1160 */ 144, 2144, 1867, 2055, 146, 620, 1646, 356, 2051, 1959, + /* 1170 */ 1936, 340, 619, 338, 337, 62, 501, 1161, 2089, 664, + /* 1180 */ 503, 1652, 1803, 603, 47, 47, 243, 1967, 13, 12, + /* 1190 */ 2085, 627, 1327, 584, 1397, 144, 1966, 369, 256, 269, + /* 1200 */ 2002, 1159, 502, 103, 1968, 623, 1970, 1971, 618, 253, + /* 1210 */ 613, 595, 273, 579, 1762, 2144, 1213, 2055, 1985, 1, + /* 1220 */ 146, 356, 2051, 129, 4, 1396, 620, 1502, 359, 358, + /* 1230 */ 705, 1936, 2102, 619, 378, 1349, 1451, 289, 1399, 144, + /* 1240 */ 383, 332, 284, 1241, 188, 410, 1413, 1245, 414, 1465, + /* 1250 */ 1967, 1392, 1868, 1486, 445, 419, 1408, 1966, 438, 444, + /* 1260 */ 431, 2002, 1860, 446, 103, 1968, 623, 1970, 1971, 618, + /* 1270 */ 1967, 613, 1252, 452, 1460, 1250, 2144, 453, 2055, 192, + /* 1280 */ 455, 1985, 356, 2051, 457, 1414, 1391, 458, 467, 620, + /* 1290 */ 1416, 149, 470, 554, 1936, 198, 619, 200, 1411, 471, + /* 1300 */ 1415, 1985, 472, 1417, 473, 203, 205, 475, 82, 620, + /* 1310 */ 83, 479, 1116, 209, 1936, 496, 619, 497, 500, 498, + /* 1320 */ 1966, 1752, 321, 106, 2002, 534, 215, 103, 1968, 623, + /* 1330 */ 1970, 1971, 618, 609, 613, 536, 285, 230, 1748, 2144, + /* 1340 */ 1966, 2055, 217, 151, 2002, 356, 2051, 103, 1968, 623, + /* 1350 */ 1970, 1971, 618, 152, 613, 1750, 2118, 1746, 153, 2144, + /* 1360 */ 154, 2055, 1913, 1912, 537, 356, 2051, 538, 233, 541, + /* 1370 */ 713, 544, 560, 1967, 551, 2086, 2074, 2101, 593, 557, + /* 1380 */ 2100, 346, 2096, 7, 283, 563, 569, 249, 239, 242, + /* 1390 */ 2077, 165, 247, 552, 550, 250, 549, 347, 1400, 168, + /* 1400 */ 1395, 580, 577, 1528, 1985, 703, 699, 695, 691, 281, + /* 1410 */ 251, 2147, 620, 255, 252, 2123, 133, 1936, 1412, 619, + /* 1420 */ 2071, 588, 261, 1403, 1405, 350, 591, 596, 286, 287, + /* 1430 */ 592, 1884, 1967, 1883, 1882, 352, 611, 1458, 1459, 1461, + /* 1440 */ 1462, 1463, 1464, 1966, 288, 101, 1763, 2002, 274, 597, + /* 1450 */ 103, 1968, 623, 1970, 1971, 618, 59, 613, 91, 93, + /* 1460 */ 2036, 95, 2030, 1985, 2055, 625, 280, 1807, 356, 2051, + /* 1470 */ 1733, 620, 291, 706, 707, 709, 1936, 315, 619, 51, + /* 1480 */ 295, 599, 1930, 323, 324, 293, 1967, 1929, 300, 75, + /* 1490 */ 1928, 314, 304, 1927, 76, 1924, 380, 381, 1377, 1378, + /* 1500 */ 181, 1922, 1966, 385, 387, 388, 2002, 389, 1921, 103, + /* 1510 */ 1968, 623, 1970, 1971, 618, 391, 613, 1985, 1920, 393, + /* 1520 */ 262, 2028, 1919, 2055, 395, 620, 397, 356, 2051, 1918, + /* 1530 */ 1936, 1352, 619, 1895, 1351, 1894, 402, 1356, 1893, 231, + /* 1540 */ 403, 1892, 1853, 1307, 1852, 1850, 139, 1967, 1849, 1848, + /* 1550 */ 1851, 1847, 1846, 1844, 1843, 1842, 1966, 186, 420, 1841, + /* 1560 */ 2002, 422, 1840, 103, 1968, 623, 1970, 1971, 618, 1839, + /* 1570 */ 613, 1838, 1837, 1836, 1835, 606, 1834, 2055, 1985, 1833, + /* 1580 */ 1832, 356, 2051, 1831, 1830, 1829, 620, 1828, 1827, 1826, + /* 1590 */ 1825, 1936, 1824, 619, 448, 1817, 1816, 1309, 141, 1823, + /* 1600 */ 1822, 1821, 1820, 1819, 1818, 1967, 1680, 1679, 1677, 1641, + /* 1610 */ 196, 170, 1188, 1956, 1640, 193, 194, 1966, 1908, 1102, + /* 1620 */ 73, 2002, 197, 1902, 104, 1968, 623, 1970, 1971, 618, + /* 1630 */ 1101, 613, 1891, 463, 1890, 204, 1985, 74, 2055, 1870, + /* 1640 */ 465, 1741, 2054, 2051, 620, 1676, 1674, 480, 1672, 1936, + /* 1650 */ 202, 619, 482, 1670, 484, 1135, 486, 488, 481, 1967, + /* 1660 */ 490, 1668, 492, 485, 494, 1655, 1654, 1637, 489, 1743, + /* 1670 */ 1257, 1256, 493, 1742, 61, 1966, 1171, 1179, 1178, 2002, + /* 1680 */ 678, 680, 104, 1968, 623, 1970, 1971, 618, 1967, 613, + /* 1690 */ 1985, 1177, 1176, 1173, 1172, 1170, 2055, 1666, 620, 214, + /* 1700 */ 608, 2051, 341, 1936, 1659, 619, 342, 1657, 343, 521, + /* 1710 */ 1636, 523, 518, 1635, 525, 1634, 527, 1367, 105, 1985, + /* 1720 */ 1366, 531, 1369, 26, 1907, 1358, 55, 617, 1901, 621, + /* 1730 */ 539, 155, 1936, 2002, 619, 1889, 104, 1968, 623, 1970, + /* 1740 */ 1971, 618, 1887, 613, 2129, 28, 1967, 19, 16, 553, + /* 1750 */ 2055, 1574, 246, 555, 326, 2051, 58, 63, 1966, 238, + /* 1760 */ 245, 1957, 2002, 30, 240, 312, 1968, 623, 1970, 1971, + /* 1770 */ 618, 616, 613, 604, 2020, 21, 163, 1985, 1589, 20, + /* 1780 */ 17, 1588, 348, 1558, 244, 620, 29, 1593, 1550, 1594, + /* 1790 */ 1936, 88, 619, 540, 234, 1595, 344, 1592, 349, 1888, + /* 1800 */ 1967, 57, 545, 258, 56, 1525, 166, 1524, 5, 1886, + /* 1810 */ 6, 1885, 22, 594, 263, 265, 1966, 1556, 270, 1869, + /* 1820 */ 2002, 65, 90, 162, 1968, 623, 1970, 1971, 618, 92, + /* 1830 */ 613, 1985, 96, 275, 272, 23, 12, 1401, 1432, 620, + /* 1840 */ 2005, 167, 179, 612, 1936, 1455, 619, 1453, 36, 626, + /* 1850 */ 624, 1234, 364, 15, 1967, 630, 1452, 1424, 1487, 24, + /* 1860 */ 25, 622, 1242, 628, 633, 1239, 631, 636, 639, 1236, + /* 1870 */ 1966, 634, 1477, 1230, 2002, 573, 2145, 104, 1968, 623, + /* 1880 */ 1970, 1971, 618, 637, 613, 1985, 1228, 640, 1219, 1233, + /* 1890 */ 278, 2055, 646, 620, 1232, 97, 2052, 1231, 1936, 98, + /* 1900 */ 619, 10, 1251, 1476, 1247, 72, 1967, 1133, 656, 1167, + /* 1910 */ 1166, 1165, 1164, 1163, 1162, 1160, 1158, 1186, 1157, 1156, + /* 1920 */ 668, 1154, 1967, 1153, 1966, 1152, 1151, 1183, 2002, 279, + /* 1930 */ 1150, 161, 1968, 623, 1970, 1971, 618, 1985, 613, 1139, + /* 1940 */ 1149, 1148, 1181, 1145, 1144, 620, 1141, 1140, 1138, 1673, + /* 1950 */ 1936, 688, 619, 1985, 690, 1671, 692, 694, 689, 1669, + /* 1960 */ 696, 620, 693, 698, 1667, 700, 1936, 697, 619, 1653, + /* 1970 */ 701, 702, 704, 2093, 1091, 1633, 1966, 712, 282, 708, + /* 1980 */ 2002, 1608, 1387, 306, 1968, 623, 1970, 1971, 618, 711, + /* 1990 */ 613, 1608, 1966, 292, 1608, 1608, 2002, 1608, 1608, 162, + /* 2000 */ 1968, 623, 1970, 1971, 618, 1608, 613, 1608, 1608, 1608, + /* 2010 */ 1608, 1967, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, + /* 2020 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 568, 1608, 1967, + /* 2030 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, + /* 2040 */ 1608, 1608, 1985, 1608, 1608, 1608, 1608, 351, 1608, 1608, + /* 2050 */ 620, 1608, 2146, 1608, 1608, 1936, 1608, 619, 1608, 1608, + /* 2060 */ 1985, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 617, 1608, + /* 2070 */ 1608, 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, 1608, + /* 2080 */ 1608, 1966, 1608, 1967, 1608, 2002, 1608, 1608, 313, 1968, + /* 2090 */ 623, 1970, 1971, 618, 1608, 613, 1608, 1608, 1608, 1966, + /* 2100 */ 1967, 1608, 1608, 2002, 1608, 1608, 312, 1968, 623, 1970, + /* 2110 */ 1971, 618, 1608, 613, 1985, 2021, 1608, 1608, 1608, 361, + /* 2120 */ 1608, 1608, 620, 1608, 1608, 1608, 1608, 1936, 1608, 619, + /* 2130 */ 1608, 1985, 1608, 1608, 1608, 1608, 363, 1608, 1608, 620, + /* 2140 */ 1608, 1608, 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, + /* 2150 */ 1608, 1608, 1967, 1966, 1608, 1608, 1608, 2002, 1608, 1608, + /* 2160 */ 313, 1968, 623, 1970, 1971, 618, 1608, 613, 1967, 1608, + /* 2170 */ 1966, 1608, 1608, 1608, 2002, 1608, 1608, 313, 1968, 623, + /* 2180 */ 1970, 1971, 618, 1985, 613, 1608, 1608, 1608, 1608, 1608, + /* 2190 */ 1608, 620, 1608, 1608, 1608, 1608, 1936, 1608, 619, 1985, + /* 2200 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 620, 1608, 1608, + /* 2210 */ 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, 1608, 1608, + /* 2220 */ 1967, 1608, 533, 1608, 1608, 1608, 2002, 1608, 1608, 308, + /* 2230 */ 1968, 623, 1970, 1971, 618, 1608, 613, 1608, 1966, 1608, + /* 2240 */ 1608, 1608, 2002, 1608, 1608, 297, 1968, 623, 1970, 1971, + /* 2250 */ 618, 1985, 613, 1608, 1608, 1608, 1608, 1608, 1608, 620, + /* 2260 */ 1608, 1608, 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, + /* 2270 */ 1608, 1608, 1608, 1608, 1967, 1608, 1608, 1608, 1608, 1608, + /* 2280 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, + /* 2290 */ 1966, 1608, 1608, 1608, 2002, 1967, 1608, 298, 1968, 623, + /* 2300 */ 1970, 1971, 618, 1608, 613, 1985, 1608, 1608, 1608, 1608, + /* 2310 */ 1608, 1608, 1608, 620, 1608, 1608, 1608, 1608, 1936, 1608, + /* 2320 */ 619, 1608, 1608, 1608, 1608, 1608, 1985, 1608, 1608, 1608, + /* 2330 */ 1608, 1608, 1608, 1608, 620, 1608, 1608, 1608, 1608, 1936, + /* 2340 */ 1608, 619, 1608, 1608, 1966, 1608, 1608, 1608, 2002, 1608, + /* 2350 */ 1608, 299, 1968, 623, 1970, 1971, 618, 1608, 613, 1608, + /* 2360 */ 1608, 1608, 1608, 1608, 1608, 1966, 1608, 1608, 1608, 2002, + /* 2370 */ 1608, 1967, 305, 1968, 623, 1970, 1971, 618, 1608, 613, + /* 2380 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1967, + /* 2390 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, + /* 2400 */ 1608, 1608, 1985, 1608, 1608, 1608, 1608, 1608, 1608, 1608, + /* 2410 */ 620, 1608, 1608, 1608, 1608, 1936, 1608, 619, 1608, 1608, + /* 2420 */ 1985, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 620, 1608, + /* 2430 */ 1608, 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, 1608, + /* 2440 */ 1608, 1966, 1608, 1967, 1608, 2002, 1608, 1608, 309, 1968, + /* 2450 */ 623, 1970, 1971, 618, 1608, 613, 1608, 1608, 1608, 1966, + /* 2460 */ 1967, 1608, 1608, 2002, 1608, 1608, 301, 1968, 623, 1970, + /* 2470 */ 1971, 618, 1608, 613, 1985, 1608, 1608, 1608, 1608, 1608, + /* 2480 */ 1608, 1608, 620, 1608, 1608, 1608, 1608, 1936, 1608, 619, + /* 2490 */ 1608, 1985, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 620, + /* 2500 */ 1608, 1608, 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, + /* 2510 */ 1608, 1608, 1967, 1966, 1608, 1608, 1608, 2002, 1608, 1608, + /* 2520 */ 310, 1968, 623, 1970, 1971, 618, 1608, 613, 1967, 1608, + /* 2530 */ 1966, 1608, 1608, 1608, 2002, 1608, 1608, 302, 1968, 623, + /* 2540 */ 1970, 1971, 618, 1985, 613, 1608, 1608, 1608, 1608, 1608, + /* 2550 */ 1608, 620, 1608, 1608, 1608, 1608, 1936, 1608, 619, 1985, + /* 2560 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 620, 1608, 1608, + /* 2570 */ 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, 1608, 1608, + /* 2580 */ 1967, 1608, 1966, 1608, 1608, 1608, 2002, 1608, 1608, 311, + /* 2590 */ 1968, 623, 1970, 1971, 618, 1608, 613, 1608, 1966, 1608, + /* 2600 */ 1608, 1608, 2002, 1967, 1608, 303, 1968, 623, 1970, 1971, + /* 2610 */ 618, 1985, 613, 1608, 1608, 1608, 1608, 1608, 1608, 620, + /* 2620 */ 1608, 1608, 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, + /* 2630 */ 1608, 1608, 1608, 1608, 1985, 1608, 1608, 1608, 1608, 1608, + /* 2640 */ 1608, 1608, 620, 1608, 1608, 1608, 1608, 1936, 1608, 619, + /* 2650 */ 1966, 1608, 1608, 1608, 2002, 1967, 1608, 316, 1968, 623, + /* 2660 */ 1970, 1971, 618, 1608, 613, 1608, 1608, 1608, 1608, 1608, + /* 2670 */ 1608, 1608, 1608, 1966, 1608, 1608, 1608, 2002, 1608, 1608, + /* 2680 */ 317, 1968, 623, 1970, 1971, 618, 1985, 613, 1608, 1608, + /* 2690 */ 1608, 1608, 1608, 1608, 620, 1608, 1608, 1608, 1608, 1936, + /* 2700 */ 1608, 619, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, + /* 2710 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1967, 1608, + /* 2720 */ 1608, 1608, 1608, 1608, 1608, 1966, 1608, 1608, 1608, 2002, + /* 2730 */ 1608, 1608, 1979, 1968, 623, 1970, 1971, 618, 1608, 613, + /* 2740 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1985, + /* 2750 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 620, 1608, 1608, + /* 2760 */ 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, 1608, 1608, + /* 2770 */ 1967, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, + /* 2780 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1966, 1967, + /* 2790 */ 1608, 1608, 2002, 1608, 1608, 1978, 1968, 623, 1970, 1971, + /* 2800 */ 618, 1985, 613, 1608, 1608, 1608, 1608, 1608, 1608, 620, + /* 2810 */ 1608, 1608, 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, + /* 2820 */ 1985, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 620, 1608, + /* 2830 */ 1608, 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, 1608, + /* 2840 */ 1966, 1967, 1608, 1608, 2002, 1608, 1608, 1977, 1968, 623, + /* 2850 */ 1970, 1971, 618, 1608, 613, 1608, 1608, 1967, 1608, 1966, + /* 2860 */ 1608, 1608, 1608, 2002, 1608, 1608, 328, 1968, 623, 1970, + /* 2870 */ 1971, 618, 1985, 613, 1608, 1608, 1608, 1608, 1608, 1608, + /* 2880 */ 620, 1608, 1608, 1608, 1608, 1936, 1608, 619, 1985, 1608, + /* 2890 */ 1608, 1608, 1608, 1608, 1608, 1608, 620, 1608, 1608, 1608, + /* 2900 */ 1608, 1936, 1608, 619, 1608, 1608, 1608, 1608, 1608, 1967, + /* 2910 */ 1608, 1966, 1608, 1608, 1608, 2002, 1608, 1608, 329, 1968, + /* 2920 */ 623, 1970, 1971, 618, 1608, 613, 1608, 1966, 1608, 1608, + /* 2930 */ 1608, 2002, 1967, 1608, 325, 1968, 623, 1970, 1971, 618, + /* 2940 */ 1985, 613, 1608, 1608, 1608, 1608, 1608, 1608, 620, 1608, + /* 2950 */ 1608, 1608, 1608, 1936, 1608, 619, 1608, 1608, 1608, 1608, + /* 2960 */ 1608, 1608, 1608, 1985, 1608, 1608, 1608, 1608, 1608, 1608, + /* 2970 */ 1608, 620, 1608, 1608, 1608, 1608, 1936, 1608, 619, 1966, + /* 2980 */ 1608, 1608, 1608, 2002, 1967, 1608, 330, 1968, 623, 1970, + /* 2990 */ 1971, 618, 1608, 613, 1608, 1608, 1608, 1608, 1608, 1608, + /* 3000 */ 1608, 1608, 621, 1608, 1608, 1608, 2002, 1608, 1608, 308, + /* 3010 */ 1968, 623, 1970, 1971, 618, 1985, 613, 1608, 1608, 1608, + /* 3020 */ 1608, 1608, 1608, 620, 1608, 1608, 1608, 1608, 1936, 1608, + /* 3030 */ 619, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, + /* 3040 */ 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, + /* 3050 */ 1608, 1608, 1608, 1608, 1966, 1608, 1608, 1608, 2002, 1608, + /* 3060 */ 1608, 307, 1968, 623, 1970, 1971, 618, 1608, 613, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 332, 336, 334, 335, 360, 336, 332, 336, 334, 335, - /* 10 */ 419, 420, 12, 13, 14, 350, 360, 351, 359, 350, - /* 20 */ 20, 0, 22, 8, 9, 359, 357, 12, 13, 14, - /* 30 */ 15, 16, 367, 33, 368, 35, 367, 359, 367, 380, - /* 40 */ 381, 328, 21, 328, 367, 24, 25, 26, 27, 28, - /* 50 */ 29, 30, 31, 32, 2, 378, 20, 336, 58, 381, - /* 60 */ 8, 9, 20, 63, 12, 13, 14, 15, 16, 328, - /* 70 */ 70, 350, 8, 9, 359, 14, 12, 13, 14, 15, - /* 80 */ 16, 20, 367, 12, 13, 372, 3, 372, 367, 374, - /* 90 */ 327, 20, 329, 22, 21, 95, 425, 426, 427, 428, - /* 100 */ 359, 430, 431, 20, 33, 336, 35, 34, 367, 36, - /* 110 */ 0, 96, 397, 372, 20, 374, 401, 117, 358, 404, - /* 120 */ 405, 406, 407, 408, 409, 410, 411, 412, 413, 58, - /* 130 */ 374, 371, 132, 133, 63, 415, 367, 417, 397, 58, - /* 140 */ 384, 70, 401, 387, 336, 404, 405, 406, 407, 408, - /* 150 */ 409, 18, 411, 336, 20, 20, 23, 416, 350, 418, - /* 160 */ 96, 161, 162, 422, 423, 357, 95, 342, 132, 133, - /* 170 */ 37, 38, 62, 95, 41, 367, 95, 436, 97, 96, - /* 180 */ 180, 356, 182, 370, 367, 444, 373, 374, 117, 95, - /* 190 */ 365, 359, 59, 60, 61, 426, 427, 428, 333, 430, - /* 200 */ 431, 336, 337, 132, 133, 205, 206, 375, 208, 209, + /* 0 */ 420, 421, 332, 374, 334, 335, 332, 370, 334, 335, + /* 10 */ 373, 374, 12, 13, 14, 361, 387, 388, 360, 14, + /* 20 */ 20, 336, 22, 8, 9, 20, 372, 12, 13, 14, + /* 30 */ 15, 16, 359, 33, 333, 35, 352, 336, 337, 355, + /* 40 */ 431, 20, 8, 9, 435, 20, 12, 13, 14, 15, + /* 50 */ 16, 39, 20, 380, 381, 401, 402, 403, 58, 450, + /* 60 */ 451, 376, 58, 63, 455, 456, 412, 8, 9, 328, + /* 70 */ 70, 12, 13, 14, 15, 16, 333, 20, 336, 336, + /* 80 */ 337, 8, 9, 12, 13, 12, 13, 14, 15, 16, + /* 90 */ 3, 20, 358, 22, 0, 95, 415, 63, 94, 418, + /* 100 */ 359, 97, 95, 44, 33, 371, 35, 20, 367, 367, + /* 110 */ 327, 96, 329, 372, 336, 374, 95, 117, 24, 25, + /* 120 */ 26, 27, 28, 29, 30, 31, 32, 95, 350, 58, + /* 130 */ 340, 343, 132, 133, 63, 357, 348, 79, 104, 398, + /* 140 */ 4, 70, 62, 402, 354, 367, 405, 406, 407, 408, + /* 150 */ 409, 410, 362, 412, 20, 431, 359, 44, 417, 435, + /* 160 */ 419, 161, 162, 366, 423, 424, 95, 167, 168, 427, + /* 170 */ 428, 429, 375, 431, 432, 451, 20, 435, 437, 455, + /* 180 */ 456, 431, 182, 96, 184, 435, 445, 21, 117, 132, + /* 190 */ 133, 58, 450, 451, 160, 137, 138, 455, 456, 95, + /* 200 */ 34, 451, 36, 132, 133, 455, 456, 207, 208, 96, /* 210 */ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, /* 220 */ 220, 221, 222, 223, 224, 225, 226, 227, 95, 95, - /* 230 */ 95, 21, 161, 162, 24, 25, 26, 27, 28, 29, - /* 240 */ 30, 31, 32, 426, 427, 428, 163, 430, 431, 14, - /* 250 */ 20, 180, 342, 182, 62, 20, 108, 109, 110, 111, - /* 260 */ 112, 113, 114, 115, 116, 117, 118, 134, 120, 121, - /* 270 */ 122, 123, 124, 125, 20, 365, 205, 206, 166, 208, - /* 280 */ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - /* 290 */ 219, 220, 221, 222, 223, 224, 225, 226, 227, 4, - /* 300 */ 229, 12, 13, 0, 95, 172, 173, 174, 106, 20, - /* 310 */ 177, 22, 8, 9, 359, 336, 12, 13, 14, 15, - /* 320 */ 16, 366, 33, 245, 35, 336, 245, 343, 195, 350, - /* 330 */ 375, 198, 348, 200, 201, 202, 203, 204, 43, 245, - /* 340 */ 45, 46, 65, 66, 67, 403, 367, 58, 44, 403, - /* 350 */ 73, 74, 63, 333, 20, 78, 336, 337, 156, 70, - /* 360 */ 83, 84, 250, 251, 252, 376, 89, 95, 65, 66, - /* 370 */ 67, 429, 12, 13, 14, 429, 73, 74, 245, 245, - /* 380 */ 20, 78, 22, 44, 95, 430, 83, 84, 179, 434, - /* 390 */ 181, 161, 89, 33, 351, 35, 161, 12, 13, 14, - /* 400 */ 15, 16, 359, 328, 449, 450, 117, 4, 430, 454, - /* 410 */ 455, 368, 434, 2, 33, 161, 162, 328, 58, 8, - /* 420 */ 9, 132, 133, 12, 13, 14, 15, 16, 450, 48, - /* 430 */ 70, 62, 454, 455, 359, 54, 55, 56, 57, 58, - /* 440 */ 126, 127, 367, 336, 359, 131, 340, 372, 35, 374, - /* 450 */ 161, 162, 367, 35, 245, 95, 160, 350, 8, 9, - /* 460 */ 354, 372, 12, 13, 14, 15, 16, 20, 362, 180, - /* 470 */ 20, 182, 397, 20, 367, 94, 401, 117, 97, 404, - /* 480 */ 405, 406, 407, 408, 409, 367, 411, 20, 70, 22, - /* 490 */ 0, 406, 132, 133, 205, 206, 378, 208, 209, 210, + /* 230 */ 97, 95, 161, 162, 404, 20, 163, 21, 167, 168, + /* 240 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 106, + /* 250 */ 163, 127, 245, 182, 404, 184, 244, 8, 9, 328, + /* 260 */ 430, 12, 13, 14, 15, 16, 232, 233, 234, 235, + /* 270 */ 236, 237, 238, 239, 240, 241, 242, 245, 207, 208, + /* 280 */ 430, 210, 211, 212, 213, 214, 215, 216, 217, 218, + /* 290 */ 219, 220, 221, 222, 223, 224, 225, 226, 227, 177, + /* 300 */ 229, 12, 13, 372, 361, 22, 14, 328, 359, 20, + /* 310 */ 22, 22, 20, 189, 190, 372, 367, 193, 35, 195, + /* 320 */ 198, 199, 33, 35, 35, 108, 109, 110, 111, 112, + /* 330 */ 113, 114, 115, 116, 117, 118, 0, 120, 121, 122, + /* 340 */ 123, 124, 125, 33, 401, 402, 403, 58, 35, 245, + /* 350 */ 389, 372, 63, 70, 359, 412, 407, 4, 48, 70, + /* 360 */ 20, 366, 22, 20, 54, 55, 56, 57, 58, 328, + /* 370 */ 375, 328, 12, 13, 14, 35, 161, 162, 245, 245, + /* 380 */ 20, 245, 22, 70, 95, 12, 13, 14, 15, 16, + /* 390 */ 62, 51, 431, 33, 20, 35, 435, 20, 328, 22, + /* 400 */ 117, 65, 66, 67, 94, 4, 117, 97, 0, 73, + /* 410 */ 74, 450, 451, 372, 78, 372, 455, 456, 58, 83, + /* 420 */ 84, 132, 133, 174, 328, 89, 126, 127, 51, 21, + /* 430 */ 70, 131, 24, 25, 26, 27, 28, 29, 30, 31, + /* 440 */ 32, 336, 372, 20, 43, 328, 45, 46, 70, 374, + /* 450 */ 161, 162, 336, 161, 359, 95, 167, 168, 229, 384, + /* 460 */ 231, 366, 387, 388, 336, 182, 350, 184, 372, 44, + /* 470 */ 375, 182, 367, 184, 164, 165, 328, 117, 350, 169, + /* 480 */ 8, 9, 172, 367, 12, 13, 14, 15, 16, 372, + /* 490 */ 207, 208, 132, 133, 342, 367, 207, 208, 188, 210, /* 500 */ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - /* 510 */ 221, 222, 223, 224, 225, 226, 227, 245, 51, 8, - /* 520 */ 9, 161, 162, 12, 13, 14, 15, 16, 232, 8, - /* 530 */ 9, 456, 457, 12, 13, 14, 15, 16, 242, 430, - /* 540 */ 180, 63, 182, 434, 79, 164, 165, 374, 167, 8, - /* 550 */ 9, 170, 62, 12, 13, 14, 15, 16, 449, 450, - /* 560 */ 387, 325, 328, 454, 455, 205, 206, 186, 208, 209, + /* 510 */ 221, 222, 223, 224, 225, 226, 227, 365, 269, 20, + /* 520 */ 372, 161, 162, 336, 35, 328, 431, 167, 168, 336, + /* 530 */ 435, 426, 427, 428, 429, 336, 431, 432, 20, 65, + /* 540 */ 66, 67, 182, 350, 184, 450, 451, 73, 74, 350, + /* 550 */ 455, 456, 78, 328, 367, 132, 133, 83, 84, 70, + /* 560 */ 367, 328, 328, 89, 373, 374, 367, 207, 208, 372, /* 570 */ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, /* 580 */ 220, 221, 222, 223, 224, 225, 226, 227, 12, 13, - /* 590 */ 0, 58, 20, 359, 22, 182, 20, 4, 22, 373, - /* 600 */ 374, 367, 137, 138, 175, 266, 372, 35, 374, 33, - /* 610 */ 163, 35, 127, 163, 24, 25, 26, 27, 28, 29, - /* 620 */ 30, 31, 32, 51, 388, 196, 197, 94, 1, 2, - /* 630 */ 97, 397, 403, 336, 58, 401, 345, 346, 404, 405, - /* 640 */ 406, 407, 408, 409, 0, 411, 70, 350, 414, 246, - /* 650 */ 416, 417, 418, 328, 388, 20, 422, 423, 429, 12, - /* 660 */ 13, 359, 22, 328, 367, 58, 430, 20, 366, 22, - /* 670 */ 434, 95, 187, 188, 163, 35, 191, 375, 193, 20, - /* 680 */ 33, 336, 35, 205, 359, 449, 450, 229, 95, 231, - /* 690 */ 454, 455, 367, 117, 430, 350, 430, 372, 434, 374, - /* 700 */ 434, 14, 15, 16, 97, 58, 328, 372, 132, 133, - /* 710 */ 70, 328, 367, 172, 450, 449, 450, 70, 454, 455, - /* 720 */ 454, 455, 397, 96, 106, 415, 401, 417, 361, 404, - /* 730 */ 405, 406, 407, 408, 409, 336, 411, 161, 162, 372, - /* 740 */ 340, 416, 95, 418, 351, 336, 336, 422, 423, 350, - /* 750 */ 372, 107, 359, 229, 367, 372, 180, 117, 182, 350, - /* 760 */ 350, 368, 362, 39, 117, 378, 367, 400, 401, 444, - /* 770 */ 126, 127, 128, 129, 130, 131, 367, 367, 411, 132, - /* 780 */ 133, 205, 206, 107, 208, 209, 210, 211, 212, 213, + /* 590 */ 167, 168, 359, 0, 342, 351, 20, 372, 22, 246, + /* 600 */ 367, 325, 416, 359, 418, 372, 372, 374, 356, 33, + /* 610 */ 126, 35, 368, 229, 427, 428, 429, 365, 431, 432, + /* 620 */ 8, 9, 328, 404, 12, 13, 14, 15, 16, 4, + /* 630 */ 166, 398, 20, 336, 58, 402, 70, 207, 405, 406, + /* 640 */ 407, 408, 409, 410, 19, 412, 70, 350, 415, 430, + /* 650 */ 417, 418, 419, 359, 357, 62, 423, 424, 33, 12, + /* 660 */ 13, 367, 163, 336, 367, 389, 372, 20, 374, 22, + /* 670 */ 416, 95, 418, 48, 328, 191, 192, 350, 53, 328, + /* 680 */ 33, 163, 35, 58, 361, 95, 256, 257, 258, 259, + /* 690 */ 260, 266, 398, 117, 367, 372, 402, 345, 346, 405, + /* 700 */ 406, 407, 408, 409, 410, 58, 412, 431, 132, 133, + /* 710 */ 0, 435, 393, 351, 250, 251, 252, 70, 372, 94, + /* 720 */ 0, 359, 97, 372, 401, 402, 450, 451, 14, 360, + /* 730 */ 368, 455, 456, 328, 20, 412, 369, 161, 162, 372, + /* 740 */ 446, 447, 95, 167, 168, 336, 8, 9, 160, 360, + /* 750 */ 12, 13, 14, 15, 16, 2, 359, 3, 182, 350, + /* 760 */ 184, 8, 9, 107, 117, 12, 13, 14, 15, 16, + /* 770 */ 360, 181, 62, 183, 328, 163, 367, 372, 381, 132, + /* 780 */ 133, 0, 328, 207, 208, 129, 210, 211, 212, 213, /* 790 */ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - /* 800 */ 224, 225, 226, 227, 18, 129, 20, 359, 161, 162, - /* 810 */ 269, 336, 352, 27, 366, 355, 30, 70, 336, 33, - /* 820 */ 180, 414, 182, 375, 417, 350, 126, 180, 0, 182, - /* 830 */ 205, 328, 350, 3, 48, 0, 50, 361, 245, 53, - /* 840 */ 345, 346, 367, 70, 328, 205, 206, 328, 372, 367, - /* 850 */ 45, 46, 205, 206, 328, 208, 209, 210, 211, 212, + /* 800 */ 224, 225, 226, 227, 14, 15, 16, 336, 161, 162, + /* 810 */ 18, 42, 20, 44, 167, 168, 351, 340, 372, 27, + /* 820 */ 232, 350, 30, 360, 359, 33, 372, 107, 360, 182, + /* 830 */ 242, 184, 328, 368, 96, 245, 345, 346, 367, 362, + /* 840 */ 48, 361, 50, 360, 359, 53, 126, 127, 128, 129, + /* 850 */ 130, 131, 372, 368, 207, 208, 20, 210, 211, 212, /* 860 */ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - /* 870 */ 223, 224, 225, 226, 227, 372, 400, 401, 402, 328, - /* 880 */ 94, 256, 257, 258, 259, 260, 392, 411, 372, 189, - /* 890 */ 190, 372, 106, 65, 66, 67, 68, 69, 372, 71, - /* 900 */ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - /* 910 */ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - /* 920 */ 0, 369, 136, 372, 372, 139, 140, 141, 142, 143, - /* 930 */ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - /* 940 */ 154, 155, 107, 157, 158, 159, 8, 9, 360, 14, - /* 950 */ 12, 13, 14, 15, 16, 20, 388, 336, 336, 328, - /* 960 */ 328, 126, 127, 128, 129, 130, 131, 359, 244, 49, - /* 970 */ 361, 350, 350, 107, 369, 361, 368, 372, 329, 369, - /* 980 */ 328, 372, 372, 347, 99, 349, 372, 102, 367, 367, - /* 990 */ 328, 359, 126, 127, 128, 129, 130, 131, 430, 367, - /* 1000 */ 20, 63, 434, 372, 372, 352, 374, 20, 355, 400, - /* 1010 */ 401, 359, 44, 336, 400, 401, 402, 449, 450, 367, - /* 1020 */ 411, 336, 454, 455, 372, 411, 374, 350, 42, 397, - /* 1030 */ 44, 336, 328, 401, 372, 350, 404, 405, 406, 407, - /* 1040 */ 408, 409, 104, 411, 367, 350, 0, 328, 416, 397, - /* 1050 */ 418, 328, 367, 401, 422, 423, 404, 405, 406, 407, - /* 1060 */ 408, 409, 367, 411, 96, 433, 243, 244, 416, 336, - /* 1070 */ 418, 328, 336, 19, 422, 423, 372, 328, 328, 328, - /* 1080 */ 22, 328, 359, 350, 0, 433, 350, 33, 0, 99, - /* 1090 */ 367, 372, 102, 35, 264, 372, 161, 374, 160, 42, - /* 1100 */ 367, 44, 48, 367, 336, 360, 22, 348, 54, 55, - /* 1110 */ 56, 57, 58, 328, 99, 372, 99, 102, 350, 102, - /* 1120 */ 397, 372, 372, 372, 401, 372, 44, 404, 405, 406, - /* 1130 */ 407, 408, 409, 0, 411, 367, 48, 12, 13, 416, - /* 1140 */ 0, 418, 35, 163, 359, 422, 423, 22, 94, 360, - /* 1150 */ 163, 97, 367, 44, 44, 22, 433, 372, 33, 374, - /* 1160 */ 35, 163, 22, 132, 133, 382, 168, 44, 388, 47, - /* 1170 */ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - /* 1180 */ 242, 328, 397, 58, 130, 44, 401, 4, 95, 404, - /* 1190 */ 405, 406, 407, 408, 409, 70, 411, 151, 105, 44, - /* 1200 */ 44, 416, 19, 418, 44, 96, 96, 422, 423, 360, - /* 1210 */ 430, 44, 359, 44, 434, 44, 33, 95, 433, 96, - /* 1220 */ 367, 167, 1, 2, 13, 372, 447, 374, 360, 449, - /* 1230 */ 450, 48, 37, 13, 454, 455, 53, 96, 184, 328, - /* 1240 */ 186, 58, 117, 338, 35, 44, 35, 44, 44, 44, - /* 1250 */ 397, 96, 96, 458, 401, 35, 96, 404, 405, 406, - /* 1260 */ 407, 408, 409, 96, 411, 96, 441, 96, 359, 416, - /* 1270 */ 359, 418, 338, 382, 335, 422, 423, 94, 367, 70, - /* 1280 */ 97, 371, 328, 372, 44, 374, 433, 432, 382, 182, - /* 1290 */ 451, 424, 435, 98, 247, 100, 101, 96, 103, 96, - /* 1300 */ 96, 96, 107, 399, 48, 180, 398, 182, 397, 178, - /* 1310 */ 42, 390, 401, 359, 20, 404, 405, 406, 407, 408, - /* 1320 */ 409, 367, 411, 379, 129, 388, 372, 416, 374, 418, - /* 1330 */ 205, 206, 382, 422, 423, 328, 96, 379, 160, 377, - /* 1340 */ 20, 336, 336, 218, 219, 220, 221, 222, 223, 224, - /* 1350 */ 268, 397, 379, 377, 377, 401, 93, 344, 404, 405, - /* 1360 */ 406, 407, 408, 409, 336, 411, 359, 430, 336, 336, - /* 1370 */ 416, 434, 418, 20, 367, 330, 422, 423, 328, 372, - /* 1380 */ 20, 374, 330, 394, 342, 374, 449, 450, 20, 20, - /* 1390 */ 342, 454, 455, 337, 52, 342, 337, 389, 336, 330, - /* 1400 */ 359, 336, 342, 342, 397, 342, 342, 339, 401, 359, - /* 1410 */ 339, 404, 405, 406, 407, 408, 409, 367, 411, 330, - /* 1420 */ 194, 396, 372, 416, 374, 418, 359, 372, 394, 422, - /* 1430 */ 423, 359, 359, 359, 359, 359, 359, 388, 359, 359, - /* 1440 */ 359, 340, 372, 185, 393, 340, 255, 397, 336, 328, - /* 1450 */ 440, 401, 374, 254, 404, 405, 406, 407, 408, 409, - /* 1460 */ 440, 411, 372, 372, 443, 382, 372, 382, 418, 372, - /* 1470 */ 171, 385, 422, 423, 261, 336, 439, 385, 442, 430, - /* 1480 */ 359, 263, 248, 434, 440, 262, 270, 265, 367, 459, - /* 1490 */ 452, 267, 453, 372, 399, 374, 244, 367, 449, 450, - /* 1500 */ 20, 403, 328, 454, 455, 337, 367, 372, 336, 385, - /* 1510 */ 340, 385, 165, 340, 372, 372, 372, 372, 397, 372, - /* 1520 */ 383, 355, 401, 95, 437, 404, 405, 406, 407, 408, - /* 1530 */ 409, 367, 411, 359, 438, 421, 340, 95, 363, 418, - /* 1540 */ 340, 367, 349, 422, 423, 36, 372, 330, 374, 372, - /* 1550 */ 336, 386, 391, 395, 0, 353, 328, 0, 331, 353, - /* 1560 */ 353, 326, 386, 187, 0, 426, 427, 428, 0, 430, - /* 1570 */ 431, 397, 341, 434, 42, 401, 0, 35, 404, 405, - /* 1580 */ 406, 407, 408, 409, 199, 411, 35, 359, 449, 450, - /* 1590 */ 35, 35, 418, 454, 455, 367, 422, 423, 199, 328, - /* 1600 */ 372, 0, 374, 199, 35, 35, 0, 199, 0, 35, - /* 1610 */ 0, 22, 0, 35, 182, 180, 0, 0, 0, 176, - /* 1620 */ 175, 0, 47, 0, 0, 397, 0, 42, 0, 401, - /* 1630 */ 359, 0, 404, 405, 406, 407, 408, 409, 367, 411, - /* 1640 */ 151, 0, 35, 372, 0, 374, 0, 0, 0, 0, - /* 1650 */ 0, 151, 0, 0, 0, 0, 328, 0, 0, 0, - /* 1660 */ 0, 0, 0, 0, 0, 0, 0, 0, 397, 42, - /* 1670 */ 0, 0, 401, 445, 446, 404, 405, 406, 407, 408, - /* 1680 */ 409, 0, 411, 135, 328, 0, 0, 359, 0, 418, - /* 1690 */ 22, 0, 0, 0, 423, 367, 0, 0, 0, 0, - /* 1700 */ 372, 58, 374, 58, 35, 0, 0, 0, 14, 14, - /* 1710 */ 328, 0, 39, 0, 42, 359, 40, 39, 44, 39, - /* 1720 */ 171, 0, 47, 367, 47, 397, 47, 0, 372, 401, - /* 1730 */ 374, 0, 404, 405, 406, 407, 408, 409, 0, 411, - /* 1740 */ 0, 359, 39, 35, 0, 35, 64, 0, 48, 367, - /* 1750 */ 48, 39, 35, 397, 372, 39, 374, 401, 0, 35, - /* 1760 */ 404, 405, 406, 407, 408, 409, 48, 411, 48, 39, - /* 1770 */ 0, 0, 0, 0, 446, 22, 328, 35, 0, 397, - /* 1780 */ 35, 35, 22, 401, 35, 35, 404, 405, 406, 407, - /* 1790 */ 408, 409, 44, 411, 104, 44, 35, 328, 35, 35, - /* 1800 */ 0, 22, 0, 22, 448, 50, 102, 359, 0, 22, - /* 1810 */ 0, 35, 364, 0, 0, 367, 22, 35, 35, 20, - /* 1820 */ 372, 35, 374, 35, 192, 96, 0, 95, 359, 22, - /* 1830 */ 35, 0, 0, 0, 183, 44, 367, 3, 95, 457, - /* 1840 */ 249, 372, 228, 374, 47, 397, 253, 163, 96, 401, - /* 1850 */ 163, 95, 404, 405, 406, 407, 408, 409, 328, 411, - /* 1860 */ 44, 96, 96, 95, 95, 44, 397, 47, 44, 95, - /* 1870 */ 401, 249, 163, 404, 405, 406, 407, 408, 409, 165, - /* 1880 */ 411, 96, 413, 3, 169, 95, 44, 168, 96, 359, - /* 1890 */ 168, 249, 96, 35, 364, 35, 35, 367, 35, 35, - /* 1900 */ 35, 96, 372, 47, 374, 96, 44, 0, 0, 328, - /* 1910 */ 0, 96, 95, 47, 96, 0, 39, 95, 95, 47, - /* 1920 */ 95, 2, 95, 166, 105, 328, 164, 397, 44, 47, - /* 1930 */ 205, 401, 243, 22, 404, 405, 406, 407, 408, 409, - /* 1940 */ 359, 411, 95, 47, 96, 364, 95, 95, 367, 96, - /* 1950 */ 96, 228, 95, 372, 228, 374, 359, 22, 230, 35, - /* 1960 */ 35, 106, 95, 95, 367, 96, 207, 96, 328, 372, - /* 1970 */ 95, 374, 96, 35, 95, 35, 35, 96, 397, 96, - /* 1980 */ 95, 95, 401, 96, 35, 404, 405, 406, 407, 408, - /* 1990 */ 409, 22, 411, 95, 397, 107, 95, 119, 401, 359, - /* 2000 */ 44, 404, 405, 406, 407, 408, 409, 367, 411, 119, - /* 2010 */ 119, 328, 372, 119, 374, 95, 35, 95, 22, 64, - /* 2020 */ 63, 35, 35, 35, 70, 35, 35, 35, 35, 328, - /* 2030 */ 35, 92, 35, 35, 35, 35, 35, 397, 44, 22, - /* 2040 */ 35, 401, 359, 70, 404, 405, 406, 407, 408, 409, - /* 2050 */ 367, 411, 22, 35, 35, 372, 35, 374, 35, 35, - /* 2060 */ 359, 35, 35, 35, 0, 0, 35, 0, 367, 35, - /* 2070 */ 48, 39, 39, 372, 35, 374, 39, 48, 0, 35, - /* 2080 */ 397, 39, 328, 48, 401, 0, 48, 404, 405, 406, - /* 2090 */ 407, 408, 409, 35, 411, 35, 0, 22, 397, 22, - /* 2100 */ 21, 21, 401, 328, 22, 404, 405, 406, 407, 408, - /* 2110 */ 409, 20, 411, 359, 460, 460, 460, 460, 460, 460, - /* 2120 */ 460, 367, 460, 460, 460, 460, 372, 460, 374, 460, - /* 2130 */ 460, 460, 460, 460, 359, 460, 460, 460, 460, 460, - /* 2140 */ 460, 460, 367, 460, 460, 460, 460, 372, 460, 374, - /* 2150 */ 460, 397, 460, 460, 460, 401, 460, 328, 404, 405, - /* 2160 */ 406, 407, 408, 409, 460, 411, 460, 460, 460, 460, - /* 2170 */ 460, 460, 397, 460, 328, 460, 401, 460, 460, 404, - /* 2180 */ 405, 406, 407, 408, 409, 460, 411, 460, 359, 460, - /* 2190 */ 460, 460, 460, 460, 460, 460, 367, 460, 460, 460, - /* 2200 */ 460, 372, 460, 374, 460, 359, 460, 460, 460, 460, - /* 2210 */ 460, 460, 460, 367, 460, 460, 460, 460, 372, 460, - /* 2220 */ 374, 460, 460, 460, 460, 460, 397, 460, 460, 460, - /* 2230 */ 401, 328, 460, 404, 405, 406, 407, 408, 409, 460, - /* 2240 */ 411, 460, 460, 397, 460, 460, 460, 401, 460, 460, - /* 2250 */ 404, 405, 406, 407, 408, 409, 460, 411, 460, 460, - /* 2260 */ 460, 460, 359, 460, 460, 460, 460, 460, 460, 460, - /* 2270 */ 367, 460, 460, 460, 328, 372, 460, 374, 460, 460, - /* 2280 */ 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, - /* 2290 */ 460, 460, 460, 328, 460, 460, 460, 460, 460, 460, - /* 2300 */ 397, 460, 460, 460, 401, 359, 460, 404, 405, 406, - /* 2310 */ 407, 408, 409, 367, 411, 460, 460, 328, 372, 460, - /* 2320 */ 374, 460, 460, 460, 359, 460, 460, 460, 460, 460, - /* 2330 */ 460, 460, 367, 460, 460, 460, 328, 372, 460, 374, - /* 2340 */ 460, 460, 460, 397, 460, 460, 460, 401, 359, 460, - /* 2350 */ 404, 405, 406, 407, 408, 409, 367, 411, 460, 460, - /* 2360 */ 460, 372, 397, 374, 460, 460, 401, 359, 460, 404, - /* 2370 */ 405, 406, 407, 408, 409, 367, 411, 460, 460, 328, - /* 2380 */ 372, 460, 374, 460, 460, 460, 397, 460, 460, 460, - /* 2390 */ 401, 460, 460, 404, 405, 406, 407, 408, 409, 460, - /* 2400 */ 411, 460, 460, 460, 460, 397, 460, 460, 460, 401, - /* 2410 */ 359, 460, 404, 405, 406, 407, 408, 409, 367, 411, - /* 2420 */ 460, 460, 460, 372, 460, 374, 460, 460, 460, 460, - /* 2430 */ 460, 460, 328, 460, 460, 460, 460, 460, 460, 460, - /* 2440 */ 460, 460, 460, 460, 460, 460, 460, 460, 397, 460, - /* 2450 */ 328, 460, 401, 460, 460, 404, 405, 406, 407, 408, - /* 2460 */ 409, 460, 411, 359, 460, 460, 460, 460, 460, 460, - /* 2470 */ 460, 367, 460, 460, 460, 460, 372, 460, 374, 460, - /* 2480 */ 460, 359, 460, 460, 460, 460, 460, 460, 460, 367, - /* 2490 */ 460, 460, 460, 460, 372, 460, 374, 460, 460, 460, - /* 2500 */ 460, 397, 460, 328, 460, 401, 460, 460, 404, 405, - /* 2510 */ 406, 407, 408, 409, 460, 411, 460, 460, 460, 397, - /* 2520 */ 460, 460, 460, 401, 460, 328, 404, 405, 406, 407, - /* 2530 */ 408, 409, 460, 411, 359, 460, 460, 460, 460, 460, - /* 2540 */ 460, 460, 367, 460, 460, 460, 460, 372, 460, 374, - /* 2550 */ 460, 460, 460, 460, 460, 460, 359, 460, 460, 460, - /* 2560 */ 460, 460, 460, 460, 367, 460, 460, 460, 460, 372, - /* 2570 */ 460, 374, 397, 460, 460, 460, 401, 460, 460, 404, - /* 2580 */ 405, 406, 407, 408, 409, 460, 411, 460, 460, 460, - /* 2590 */ 460, 328, 460, 460, 397, 460, 460, 460, 401, 460, - /* 2600 */ 460, 404, 405, 406, 407, 408, 409, 460, 411, 460, - /* 2610 */ 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, - /* 2620 */ 460, 460, 359, 460, 460, 460, 460, 460, 460, 460, - /* 2630 */ 367, 460, 460, 460, 328, 372, 460, 374, 460, 460, - /* 2640 */ 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, - /* 2650 */ 460, 460, 460, 328, 460, 460, 460, 460, 460, 460, - /* 2660 */ 397, 460, 460, 460, 401, 359, 460, 404, 405, 406, - /* 2670 */ 407, 408, 409, 367, 411, 460, 460, 328, 372, 460, - /* 2680 */ 374, 460, 460, 460, 359, 460, 460, 460, 460, 460, - /* 2690 */ 460, 460, 367, 460, 460, 460, 460, 372, 460, 374, - /* 2700 */ 460, 460, 460, 397, 460, 460, 460, 401, 359, 460, - /* 2710 */ 404, 405, 406, 407, 408, 409, 367, 411, 460, 460, - /* 2720 */ 460, 372, 397, 374, 460, 460, 401, 460, 460, 404, - /* 2730 */ 405, 406, 407, 408, 409, 460, 411, 460, 460, 460, - /* 2740 */ 460, 460, 460, 460, 460, 460, 397, 460, 460, 460, - /* 2750 */ 401, 460, 460, 404, 405, 406, 407, 408, 409, 460, - /* 2760 */ 411, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2770 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2780 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2790 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2800 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2810 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2820 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2830 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2840 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2850 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2860 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2870 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2880 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2890 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2900 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2910 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2920 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2930 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2940 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2950 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2960 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2970 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2980 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 2990 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 3000 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 3010 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 3020 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 3030 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 3040 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 3050 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 3060 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 870 */ 223, 224, 225, 226, 227, 161, 372, 347, 20, 349, + /* 880 */ 18, 401, 402, 2, 0, 23, 94, 0, 107, 8, + /* 890 */ 9, 367, 412, 12, 13, 14, 15, 16, 106, 37, + /* 900 */ 38, 359, 378, 41, 367, 367, 329, 126, 127, 128, + /* 910 */ 129, 130, 131, 1, 2, 378, 378, 375, 45, 46, + /* 920 */ 95, 59, 60, 61, 369, 382, 369, 372, 136, 372, + /* 930 */ 105, 139, 140, 141, 142, 143, 144, 145, 146, 147, + /* 940 */ 148, 149, 150, 151, 152, 153, 154, 155, 389, 157, + /* 950 */ 158, 159, 65, 66, 67, 68, 69, 95, 71, 72, + /* 960 */ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + /* 970 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 328, + /* 980 */ 459, 336, 107, 328, 352, 336, 389, 355, 389, 44, + /* 990 */ 431, 243, 244, 336, 435, 350, 134, 161, 348, 350, + /* 1000 */ 328, 126, 127, 128, 129, 130, 131, 350, 96, 450, + /* 1010 */ 451, 42, 367, 44, 455, 456, 367, 99, 264, 106, + /* 1020 */ 102, 163, 99, 372, 367, 102, 163, 372, 431, 336, + /* 1030 */ 431, 359, 435, 170, 435, 151, 174, 175, 176, 367, + /* 1040 */ 336, 179, 336, 350, 372, 35, 374, 450, 451, 450, + /* 1050 */ 451, 448, 455, 456, 455, 456, 350, 0, 389, 197, + /* 1060 */ 367, 336, 200, 58, 202, 203, 204, 205, 206, 156, + /* 1070 */ 398, 367, 328, 367, 402, 350, 35, 405, 406, 407, + /* 1080 */ 408, 409, 410, 336, 412, 99, 44, 99, 102, 417, + /* 1090 */ 102, 419, 367, 0, 338, 423, 424, 350, 336, 336, + /* 1100 */ 431, 0, 97, 359, 435, 48, 0, 245, 336, 63, + /* 1110 */ 37, 367, 350, 350, 367, 22, 372, 445, 374, 450, + /* 1120 */ 451, 47, 350, 22, 455, 456, 328, 336, 22, 367, + /* 1130 */ 367, 427, 428, 429, 44, 431, 432, 442, 96, 367, + /* 1140 */ 44, 350, 398, 132, 133, 359, 402, 44, 338, 405, + /* 1150 */ 406, 407, 408, 409, 410, 13, 412, 359, 367, 44, + /* 1160 */ 44, 417, 382, 419, 44, 367, 335, 423, 424, 95, + /* 1170 */ 372, 98, 374, 100, 101, 44, 103, 35, 434, 13, + /* 1180 */ 107, 0, 371, 336, 44, 44, 96, 328, 1, 2, + /* 1190 */ 382, 44, 96, 433, 184, 44, 398, 350, 452, 96, + /* 1200 */ 402, 35, 129, 405, 406, 407, 408, 409, 410, 425, + /* 1210 */ 412, 96, 96, 268, 367, 417, 96, 419, 359, 436, + /* 1220 */ 44, 423, 424, 44, 247, 184, 367, 96, 12, 13, + /* 1230 */ 49, 372, 434, 374, 400, 180, 96, 96, 22, 44, + /* 1240 */ 48, 399, 391, 96, 42, 379, 20, 96, 379, 33, + /* 1250 */ 328, 35, 382, 207, 160, 377, 20, 398, 379, 377, + /* 1260 */ 336, 402, 336, 377, 405, 406, 407, 408, 409, 410, + /* 1270 */ 328, 412, 96, 93, 58, 96, 417, 344, 419, 336, + /* 1280 */ 336, 359, 423, 424, 336, 20, 70, 330, 330, 367, + /* 1290 */ 20, 96, 395, 434, 372, 342, 374, 342, 20, 374, + /* 1300 */ 20, 359, 337, 20, 390, 342, 342, 337, 342, 367, + /* 1310 */ 342, 336, 52, 342, 372, 339, 374, 339, 359, 330, + /* 1320 */ 398, 359, 330, 336, 402, 196, 359, 405, 406, 407, + /* 1330 */ 408, 409, 410, 117, 412, 397, 395, 340, 359, 417, + /* 1340 */ 398, 419, 359, 359, 402, 423, 424, 405, 406, 407, + /* 1350 */ 408, 409, 410, 359, 412, 359, 434, 359, 359, 417, + /* 1360 */ 359, 419, 372, 372, 187, 423, 424, 394, 340, 374, + /* 1370 */ 19, 336, 255, 328, 372, 382, 434, 441, 254, 372, + /* 1380 */ 441, 372, 382, 261, 33, 372, 173, 440, 385, 385, + /* 1390 */ 444, 441, 443, 263, 262, 439, 248, 270, 182, 48, + /* 1400 */ 184, 267, 265, 244, 359, 54, 55, 56, 57, 58, + /* 1410 */ 438, 460, 367, 453, 400, 454, 367, 372, 20, 374, + /* 1420 */ 404, 336, 340, 207, 208, 337, 372, 165, 385, 385, + /* 1430 */ 372, 372, 328, 372, 372, 372, 220, 221, 222, 223, + /* 1440 */ 224, 225, 226, 398, 355, 94, 367, 402, 97, 383, + /* 1450 */ 405, 406, 407, 408, 409, 410, 95, 412, 340, 340, + /* 1460 */ 422, 95, 417, 359, 419, 363, 340, 372, 423, 424, + /* 1470 */ 349, 367, 336, 36, 331, 330, 372, 396, 374, 392, + /* 1480 */ 326, 130, 0, 386, 386, 341, 328, 0, 353, 189, + /* 1490 */ 0, 353, 353, 0, 42, 0, 35, 201, 35, 35, + /* 1500 */ 35, 0, 398, 201, 35, 35, 402, 201, 0, 405, + /* 1510 */ 406, 407, 408, 409, 410, 201, 412, 359, 0, 35, + /* 1520 */ 169, 417, 0, 419, 22, 367, 35, 423, 424, 0, + /* 1530 */ 372, 184, 374, 0, 182, 0, 178, 186, 0, 188, + /* 1540 */ 177, 0, 0, 47, 0, 0, 42, 328, 0, 0, + /* 1550 */ 0, 0, 0, 0, 0, 0, 398, 151, 35, 0, + /* 1560 */ 402, 151, 0, 405, 406, 407, 408, 409, 410, 0, + /* 1570 */ 412, 0, 0, 0, 0, 417, 0, 419, 359, 0, + /* 1580 */ 0, 423, 424, 0, 0, 0, 367, 0, 0, 0, + /* 1590 */ 0, 372, 0, 374, 135, 0, 0, 22, 42, 0, + /* 1600 */ 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, + /* 1610 */ 42, 44, 35, 47, 0, 58, 58, 398, 0, 14, + /* 1620 */ 39, 402, 40, 0, 405, 406, 407, 408, 409, 410, + /* 1630 */ 14, 412, 0, 47, 0, 173, 359, 39, 419, 0, + /* 1640 */ 47, 0, 423, 424, 367, 0, 0, 35, 0, 372, + /* 1650 */ 39, 374, 39, 0, 35, 64, 39, 35, 48, 328, + /* 1660 */ 39, 0, 35, 48, 39, 0, 0, 0, 48, 0, + /* 1670 */ 35, 22, 48, 0, 104, 398, 22, 35, 35, 402, + /* 1680 */ 44, 44, 405, 406, 407, 408, 409, 410, 328, 412, + /* 1690 */ 359, 35, 35, 35, 35, 35, 419, 0, 367, 102, + /* 1700 */ 423, 424, 22, 372, 0, 374, 22, 0, 22, 35, + /* 1710 */ 0, 35, 50, 0, 35, 0, 22, 35, 20, 359, + /* 1720 */ 35, 194, 96, 95, 0, 35, 163, 367, 0, 398, + /* 1730 */ 22, 185, 372, 402, 374, 0, 405, 406, 407, 408, + /* 1740 */ 409, 410, 0, 412, 3, 95, 328, 44, 249, 228, + /* 1750 */ 419, 96, 47, 253, 423, 424, 44, 3, 398, 95, + /* 1760 */ 44, 47, 402, 44, 96, 405, 406, 407, 408, 409, + /* 1770 */ 410, 411, 412, 413, 414, 44, 95, 359, 35, 249, + /* 1780 */ 249, 35, 35, 96, 95, 367, 95, 35, 96, 96, + /* 1790 */ 372, 95, 374, 163, 165, 96, 163, 35, 35, 0, + /* 1800 */ 328, 44, 171, 47, 243, 96, 47, 96, 170, 0, + /* 1810 */ 170, 0, 95, 166, 96, 95, 398, 96, 95, 0, + /* 1820 */ 402, 95, 39, 405, 406, 407, 408, 409, 410, 95, + /* 1830 */ 412, 359, 105, 47, 164, 44, 2, 22, 22, 367, + /* 1840 */ 95, 47, 47, 95, 372, 96, 374, 96, 95, 35, + /* 1850 */ 106, 119, 35, 95, 328, 35, 96, 96, 207, 95, + /* 1860 */ 95, 209, 96, 95, 35, 96, 95, 35, 35, 96, + /* 1870 */ 398, 95, 228, 96, 402, 457, 458, 405, 406, 407, + /* 1880 */ 408, 409, 410, 95, 412, 359, 96, 95, 22, 119, + /* 1890 */ 44, 419, 107, 367, 119, 95, 424, 119, 372, 95, + /* 1900 */ 374, 230, 35, 228, 22, 95, 328, 64, 63, 35, + /* 1910 */ 35, 35, 35, 35, 35, 35, 35, 70, 35, 35, + /* 1920 */ 92, 35, 328, 35, 398, 35, 22, 70, 402, 44, + /* 1930 */ 35, 405, 406, 407, 408, 409, 410, 359, 412, 22, + /* 1940 */ 35, 35, 35, 35, 35, 367, 35, 35, 35, 0, + /* 1950 */ 372, 35, 374, 359, 39, 0, 35, 39, 48, 0, + /* 1960 */ 35, 367, 48, 39, 0, 35, 372, 48, 374, 0, + /* 1970 */ 48, 39, 35, 447, 35, 0, 398, 20, 22, 21, + /* 1980 */ 402, 461, 22, 405, 406, 407, 408, 409, 410, 21, + /* 1990 */ 412, 461, 398, 22, 461, 461, 402, 461, 461, 405, + /* 2000 */ 406, 407, 408, 409, 410, 461, 412, 461, 461, 461, + /* 2010 */ 461, 328, 461, 461, 461, 461, 461, 461, 461, 461, + /* 2020 */ 461, 461, 461, 461, 461, 461, 461, 449, 461, 328, + /* 2030 */ 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, + /* 2040 */ 461, 461, 359, 461, 461, 461, 461, 364, 461, 461, + /* 2050 */ 367, 461, 458, 461, 461, 372, 461, 374, 461, 461, + /* 2060 */ 359, 461, 461, 461, 461, 461, 461, 461, 367, 461, + /* 2070 */ 461, 461, 461, 372, 461, 374, 461, 461, 461, 461, + /* 2080 */ 461, 398, 461, 328, 461, 402, 461, 461, 405, 406, + /* 2090 */ 407, 408, 409, 410, 461, 412, 461, 461, 461, 398, + /* 2100 */ 328, 461, 461, 402, 461, 461, 405, 406, 407, 408, + /* 2110 */ 409, 410, 461, 412, 359, 414, 461, 461, 461, 364, + /* 2120 */ 461, 461, 367, 461, 461, 461, 461, 372, 461, 374, + /* 2130 */ 461, 359, 461, 461, 461, 461, 364, 461, 461, 367, + /* 2140 */ 461, 461, 461, 461, 372, 461, 374, 461, 461, 461, + /* 2150 */ 461, 461, 328, 398, 461, 461, 461, 402, 461, 461, + /* 2160 */ 405, 406, 407, 408, 409, 410, 461, 412, 328, 461, + /* 2170 */ 398, 461, 461, 461, 402, 461, 461, 405, 406, 407, + /* 2180 */ 408, 409, 410, 359, 412, 461, 461, 461, 461, 461, + /* 2190 */ 461, 367, 461, 461, 461, 461, 372, 461, 374, 359, + /* 2200 */ 461, 461, 461, 461, 461, 461, 461, 367, 461, 461, + /* 2210 */ 461, 461, 372, 461, 374, 461, 461, 461, 461, 461, + /* 2220 */ 328, 461, 398, 461, 461, 461, 402, 461, 461, 405, + /* 2230 */ 406, 407, 408, 409, 410, 461, 412, 461, 398, 461, + /* 2240 */ 461, 461, 402, 461, 461, 405, 406, 407, 408, 409, + /* 2250 */ 410, 359, 412, 461, 461, 461, 461, 461, 461, 367, + /* 2260 */ 461, 461, 461, 461, 372, 461, 374, 461, 461, 461, + /* 2270 */ 461, 461, 461, 461, 328, 461, 461, 461, 461, 461, + /* 2280 */ 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, + /* 2290 */ 398, 461, 461, 461, 402, 328, 461, 405, 406, 407, + /* 2300 */ 408, 409, 410, 461, 412, 359, 461, 461, 461, 461, + /* 2310 */ 461, 461, 461, 367, 461, 461, 461, 461, 372, 461, + /* 2320 */ 374, 461, 461, 461, 461, 461, 359, 461, 461, 461, + /* 2330 */ 461, 461, 461, 461, 367, 461, 461, 461, 461, 372, + /* 2340 */ 461, 374, 461, 461, 398, 461, 461, 461, 402, 461, + /* 2350 */ 461, 405, 406, 407, 408, 409, 410, 461, 412, 461, + /* 2360 */ 461, 461, 461, 461, 461, 398, 461, 461, 461, 402, + /* 2370 */ 461, 328, 405, 406, 407, 408, 409, 410, 461, 412, + /* 2380 */ 461, 461, 461, 461, 461, 461, 461, 461, 461, 328, + /* 2390 */ 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, + /* 2400 */ 461, 461, 359, 461, 461, 461, 461, 461, 461, 461, + /* 2410 */ 367, 461, 461, 461, 461, 372, 461, 374, 461, 461, + /* 2420 */ 359, 461, 461, 461, 461, 461, 461, 461, 367, 461, + /* 2430 */ 461, 461, 461, 372, 461, 374, 461, 461, 461, 461, + /* 2440 */ 461, 398, 461, 328, 461, 402, 461, 461, 405, 406, + /* 2450 */ 407, 408, 409, 410, 461, 412, 461, 461, 461, 398, + /* 2460 */ 328, 461, 461, 402, 461, 461, 405, 406, 407, 408, + /* 2470 */ 409, 410, 461, 412, 359, 461, 461, 461, 461, 461, + /* 2480 */ 461, 461, 367, 461, 461, 461, 461, 372, 461, 374, + /* 2490 */ 461, 359, 461, 461, 461, 461, 461, 461, 461, 367, + /* 2500 */ 461, 461, 461, 461, 372, 461, 374, 461, 461, 461, + /* 2510 */ 461, 461, 328, 398, 461, 461, 461, 402, 461, 461, + /* 2520 */ 405, 406, 407, 408, 409, 410, 461, 412, 328, 461, + /* 2530 */ 398, 461, 461, 461, 402, 461, 461, 405, 406, 407, + /* 2540 */ 408, 409, 410, 359, 412, 461, 461, 461, 461, 461, + /* 2550 */ 461, 367, 461, 461, 461, 461, 372, 461, 374, 359, + /* 2560 */ 461, 461, 461, 461, 461, 461, 461, 367, 461, 461, + /* 2570 */ 461, 461, 372, 461, 374, 461, 461, 461, 461, 461, + /* 2580 */ 328, 461, 398, 461, 461, 461, 402, 461, 461, 405, + /* 2590 */ 406, 407, 408, 409, 410, 461, 412, 461, 398, 461, + /* 2600 */ 461, 461, 402, 328, 461, 405, 406, 407, 408, 409, + /* 2610 */ 410, 359, 412, 461, 461, 461, 461, 461, 461, 367, + /* 2620 */ 461, 461, 461, 461, 372, 461, 374, 461, 461, 461, + /* 2630 */ 461, 461, 461, 461, 359, 461, 461, 461, 461, 461, + /* 2640 */ 461, 461, 367, 461, 461, 461, 461, 372, 461, 374, + /* 2650 */ 398, 461, 461, 461, 402, 328, 461, 405, 406, 407, + /* 2660 */ 408, 409, 410, 461, 412, 461, 461, 461, 461, 461, + /* 2670 */ 461, 461, 461, 398, 461, 461, 461, 402, 461, 461, + /* 2680 */ 405, 406, 407, 408, 409, 410, 359, 412, 461, 461, + /* 2690 */ 461, 461, 461, 461, 367, 461, 461, 461, 461, 372, + /* 2700 */ 461, 374, 461, 461, 461, 461, 461, 461, 461, 461, + /* 2710 */ 461, 461, 461, 461, 461, 461, 461, 461, 328, 461, + /* 2720 */ 461, 461, 461, 461, 461, 398, 461, 461, 461, 402, + /* 2730 */ 461, 461, 405, 406, 407, 408, 409, 410, 461, 412, + /* 2740 */ 461, 461, 461, 461, 461, 461, 461, 461, 461, 359, + /* 2750 */ 461, 461, 461, 461, 461, 461, 461, 367, 461, 461, + /* 2760 */ 461, 461, 372, 461, 374, 461, 461, 461, 461, 461, + /* 2770 */ 328, 461, 461, 461, 461, 461, 461, 461, 461, 461, + /* 2780 */ 461, 461, 461, 461, 461, 461, 461, 461, 398, 328, + /* 2790 */ 461, 461, 402, 461, 461, 405, 406, 407, 408, 409, + /* 2800 */ 410, 359, 412, 461, 461, 461, 461, 461, 461, 367, + /* 2810 */ 461, 461, 461, 461, 372, 461, 374, 461, 461, 461, + /* 2820 */ 359, 461, 461, 461, 461, 461, 461, 461, 367, 461, + /* 2830 */ 461, 461, 461, 372, 461, 374, 461, 461, 461, 461, + /* 2840 */ 398, 328, 461, 461, 402, 461, 461, 405, 406, 407, + /* 2850 */ 408, 409, 410, 461, 412, 461, 461, 328, 461, 398, + /* 2860 */ 461, 461, 461, 402, 461, 461, 405, 406, 407, 408, + /* 2870 */ 409, 410, 359, 412, 461, 461, 461, 461, 461, 461, + /* 2880 */ 367, 461, 461, 461, 461, 372, 461, 374, 359, 461, + /* 2890 */ 461, 461, 461, 461, 461, 461, 367, 461, 461, 461, + /* 2900 */ 461, 372, 461, 374, 461, 461, 461, 461, 461, 328, + /* 2910 */ 461, 398, 461, 461, 461, 402, 461, 461, 405, 406, + /* 2920 */ 407, 408, 409, 410, 461, 412, 461, 398, 461, 461, + /* 2930 */ 461, 402, 328, 461, 405, 406, 407, 408, 409, 410, + /* 2940 */ 359, 412, 461, 461, 461, 461, 461, 461, 367, 461, + /* 2950 */ 461, 461, 461, 372, 461, 374, 461, 461, 461, 461, + /* 2960 */ 461, 461, 461, 359, 461, 461, 461, 461, 461, 461, + /* 2970 */ 461, 367, 461, 461, 461, 461, 372, 461, 374, 398, + /* 2980 */ 461, 461, 461, 402, 328, 461, 405, 406, 407, 408, + /* 2990 */ 409, 410, 461, 412, 461, 461, 461, 461, 461, 461, + /* 3000 */ 461, 461, 398, 461, 461, 461, 402, 461, 461, 405, + /* 3010 */ 406, 407, 408, 409, 410, 359, 412, 461, 461, 461, + /* 3020 */ 461, 461, 461, 367, 461, 461, 461, 461, 372, 461, + /* 3030 */ 374, 461, 461, 461, 461, 461, 461, 461, 461, 461, + /* 3040 */ 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, + /* 3050 */ 461, 461, 461, 461, 398, 461, 461, 461, 402, 461, + /* 3060 */ 461, 405, 406, 407, 408, 409, 410, 461, 412, 325, /* 3070 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - /* 3080 */ 325, 325, 325, 325, 325, 325, + /* 3080 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3090 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3100 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3110 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3120 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3130 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3140 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3150 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3160 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3170 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3180 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3190 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3200 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3210 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3220 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3230 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3240 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3250 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3260 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3270 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3280 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3290 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3300 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3310 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3320 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3330 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3340 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3350 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3360 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3370 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3380 */ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, + /* 3390 */ 325, 325, 325, 325, }; #define YY_SHIFT_COUNT (713) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2096) +#define YY_SHIFT_MAX (1975) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 133, 0, 71, 0, 289, 289, 289, 289, 289, 289, + /* 0 */ 862, 0, 71, 0, 289, 289, 289, 289, 289, 289, /* 10 */ 289, 289, 289, 289, 289, 360, 576, 576, 647, 576, /* 20 */ 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, /* 30 */ 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, - /* 40 */ 576, 576, 576, 576, 576, 576, 576, 576, 94, 134, - /* 50 */ 135, 209, 81, 78, 272, 78, 135, 135, 1125, 1125, - /* 60 */ 78, 1125, 1125, 593, 78, 42, 42, 295, 295, 254, - /* 70 */ 36, 61, 61, 42, 42, 42, 42, 42, 42, 42, - /* 80 */ 42, 42, 42, 192, 42, 42, 334, 42, 453, 42, - /* 90 */ 42, 635, 42, 42, 635, 42, 635, 635, 635, 42, - /* 100 */ 369, 786, 938, 938, 210, 277, 640, 640, 640, 640, - /* 110 */ 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - /* 120 */ 640, 640, 640, 640, 640, 1195, 83, 254, 36, 110, - /* 130 */ 418, 447, 447, 447, 490, 458, 458, 418, 659, 659, - /* 140 */ 659, 618, 453, 524, 635, 747, 635, 747, 747, 618, - /* 150 */ 773, 148, 148, 148, 148, 148, 148, 148, 1054, 21, - /* 160 */ 303, 450, 541, 625, 572, 112, 235, 935, 467, 980, - /* 170 */ 805, 676, 987, 823, 724, 830, 823, 986, 403, 230, - /* 180 */ 1047, 1256, 1131, 1268, 1294, 1268, 1178, 1320, 1320, 1268, - /* 190 */ 1178, 1178, 1263, 1320, 1320, 1320, 1353, 1353, 1360, 192, - /* 200 */ 453, 192, 1368, 1369, 192, 1368, 192, 192, 192, 1320, - /* 210 */ 192, 1342, 1342, 1353, 635, 635, 635, 635, 635, 635, - /* 220 */ 635, 635, 635, 635, 635, 1320, 1353, 747, 747, 1226, - /* 230 */ 1360, 369, 1258, 453, 369, 1320, 1294, 1294, 747, 1191, - /* 240 */ 1199, 747, 1191, 1199, 747, 747, 635, 1213, 1299, 1191, - /* 250 */ 1218, 1223, 1234, 1047, 1216, 1224, 1222, 1252, 659, 1480, - /* 260 */ 1320, 1368, 369, 1199, 747, 747, 747, 747, 747, 1199, - /* 270 */ 747, 1347, 369, 618, 369, 659, 1428, 1442, 747, 773, - /* 280 */ 1320, 369, 1509, 1353, 2761, 2761, 2761, 2761, 2761, 2761, - /* 290 */ 2761, 2761, 2761, 828, 381, 590, 1183, 15, 304, 64, - /* 300 */ 644, 52, 411, 511, 835, 521, 521, 521, 521, 521, - /* 310 */ 521, 521, 521, 521, 866, 485, 385, 385, 429, 533, - /* 320 */ 465, 73, 700, 314, 314, 687, 627, 296, 687, 687, - /* 330 */ 687, 968, 1088, 1058, 1057, 202, 1046, 885, 990, 1015, - /* 340 */ 1017, 1084, 1133, 1140, 607, 1109, 1110, 1031, 339, 1082, - /* 350 */ 998, 1123, 1141, 1155, 1156, 1160, 1221, 1167, 413, 1107, - /* 360 */ 478, 1169, 1122, 1171, 1201, 1203, 1204, 1205, 1240, 1093, - /* 370 */ 1211, 1220, 1209, 920, 1554, 1557, 1376, 1564, 1568, 1532, - /* 380 */ 1576, 1542, 1385, 1551, 1555, 1556, 1399, 1601, 1569, 1570, - /* 390 */ 1404, 1606, 1408, 1608, 1574, 1610, 1589, 1612, 1578, 1432, - /* 400 */ 1435, 1616, 1617, 1443, 1445, 1618, 1621, 1575, 1623, 1624, - /* 410 */ 1626, 1585, 1628, 1631, 1644, 1646, 1647, 1648, 1649, 1650, - /* 420 */ 1489, 1607, 1641, 1500, 1652, 1653, 1654, 1655, 1657, 1658, - /* 430 */ 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1627, - /* 440 */ 1670, 1671, 1681, 1685, 1686, 1668, 1688, 1691, 1692, 1548, - /* 450 */ 1693, 1696, 1669, 1697, 1643, 1698, 1645, 1699, 1705, 1672, - /* 460 */ 1673, 1674, 1675, 1694, 1677, 1695, 1679, 1706, 1676, 1678, - /* 470 */ 1707, 1711, 1713, 1680, 1549, 1721, 1727, 1731, 1682, 1738, - /* 480 */ 1740, 1708, 1700, 1703, 1744, 1710, 1702, 1712, 1747, 1717, - /* 490 */ 1718, 1716, 1758, 1724, 1720, 1730, 1770, 1771, 1772, 1773, - /* 500 */ 1690, 1704, 1742, 1753, 1778, 1745, 1746, 1749, 1750, 1748, - /* 510 */ 1751, 1761, 1763, 1760, 1764, 1800, 1779, 1802, 1781, 1755, - /* 520 */ 1808, 1787, 1776, 1810, 1782, 1813, 1783, 1814, 1794, 1799, - /* 530 */ 1786, 1788, 1632, 1729, 1732, 1826, 1684, 1795, 1831, 1651, - /* 540 */ 1807, 1687, 1714, 1832, 1833, 1709, 1715, 1834, 1791, 1591, - /* 550 */ 1743, 1752, 1756, 1719, 1614, 1722, 1593, 1765, 1816, 1766, - /* 560 */ 1768, 1769, 1774, 1785, 1821, 1797, 1820, 1790, 1824, 1622, - /* 570 */ 1792, 1796, 1880, 1842, 1642, 1858, 1860, 1861, 1863, 1864, - /* 580 */ 1865, 1805, 1809, 1856, 1689, 1862, 1866, 1907, 1908, 1910, - /* 590 */ 1817, 1815, 1818, 1822, 1823, 1757, 1825, 1915, 1877, 1762, - /* 600 */ 1827, 1819, 1675, 1872, 1884, 1723, 1728, 1726, 1919, 1911, - /* 610 */ 1725, 1847, 1848, 1851, 1853, 1852, 1854, 1882, 1857, 1867, - /* 620 */ 1896, 1869, 1935, 1759, 1868, 1855, 1871, 1924, 1925, 1875, - /* 630 */ 1876, 1938, 1879, 1881, 1940, 1885, 1883, 1941, 1886, 1887, - /* 640 */ 1949, 1898, 1878, 1890, 1891, 1894, 1969, 1888, 1901, 1956, - /* 650 */ 1920, 1981, 1922, 1956, 1956, 1996, 1955, 1957, 1986, 1987, - /* 660 */ 1988, 1990, 1991, 1992, 1993, 1995, 1997, 1998, 1954, 1939, - /* 670 */ 1994, 1999, 2000, 2001, 2017, 2005, 2018, 2019, 1973, 1748, - /* 680 */ 2021, 1751, 2023, 2024, 2026, 2027, 2030, 2028, 2064, 2031, - /* 690 */ 2022, 2032, 2065, 2034, 2029, 2033, 2067, 2039, 2035, 2037, - /* 700 */ 2078, 2044, 2038, 2042, 2085, 2058, 2060, 2096, 2075, 2079, - /* 710 */ 2077, 2082, 2080, 2091, + /* 40 */ 576, 576, 576, 576, 576, 576, 576, 576, 32, 134, + /* 50 */ 21, 590, 133, 7, 104, 7, 21, 21, 1216, 1216, + /* 60 */ 7, 1216, 1216, 136, 7, 423, 25, 25, 423, 401, + /* 70 */ 401, 215, 57, 5, 5, 25, 25, 25, 25, 25, + /* 80 */ 25, 25, 25, 25, 25, 80, 25, 25, 156, 25, + /* 90 */ 25, 25, 343, 25, 25, 343, 25, 343, 343, 343, + /* 100 */ 25, 328, 792, 34, 34, 216, 474, 283, 283, 283, + /* 110 */ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, + /* 120 */ 283, 283, 283, 283, 283, 283, 1073, 87, 215, 57, + /* 130 */ 593, 313, 499, 499, 499, 710, 229, 229, 313, 374, + /* 140 */ 374, 374, 143, 384, 343, 378, 343, 378, 378, 143, + /* 150 */ 566, 217, 217, 217, 217, 217, 217, 217, 1351, 408, + /* 160 */ 336, 612, 249, 430, 340, 464, 292, 714, 377, 518, + /* 170 */ 873, 656, 858, 748, 12, 754, 748, 769, 353, 836, + /* 180 */ 977, 1192, 1055, 1202, 1226, 1202, 1094, 1236, 1236, 1202, + /* 190 */ 1094, 1094, 1180, 1236, 1236, 1236, 1265, 1265, 1270, 80, + /* 200 */ 1278, 80, 1280, 1283, 80, 1280, 80, 80, 80, 1236, + /* 210 */ 80, 1260, 1260, 1265, 343, 343, 343, 343, 343, 343, + /* 220 */ 343, 343, 343, 343, 343, 1236, 1265, 378, 378, 1129, + /* 230 */ 1270, 328, 1177, 1278, 328, 1236, 1226, 1226, 378, 1117, + /* 240 */ 1124, 378, 1117, 1124, 378, 378, 343, 1122, 1213, 1117, + /* 250 */ 1130, 1132, 1148, 977, 1127, 1134, 1137, 1159, 374, 1398, + /* 260 */ 1236, 1280, 328, 1124, 378, 378, 378, 378, 378, 1124, + /* 270 */ 378, 1262, 328, 143, 328, 374, 1361, 1366, 378, 566, + /* 280 */ 1236, 328, 1437, 1265, 3069, 3069, 3069, 3069, 3069, 3069, + /* 290 */ 3069, 3069, 3069, 887, 310, 94, 625, 15, 59, 738, + /* 300 */ 720, 753, 881, 73, 781, 472, 472, 472, 472, 472, + /* 310 */ 472, 472, 472, 472, 875, 124, 373, 373, 122, 4, + /* 320 */ 58, 166, 484, 300, 300, 790, 912, 588, 790, 790, + /* 330 */ 790, 113, 1057, 288, 969, 913, 884, 918, 923, 986, + /* 340 */ 988, 1093, 1101, 1106, 1005, 1042, 1090, 1011, 425, 945, + /* 350 */ 863, 1096, 1103, 1115, 1116, 1120, 1187, 1131, 1010, 1041, + /* 360 */ 1046, 1140, 1074, 1141, 1147, 1151, 1176, 1179, 1195, 825, + /* 370 */ 1142, 1166, 489, 1181, 1482, 1487, 1300, 1490, 1493, 1452, + /* 380 */ 1495, 1461, 1296, 1463, 1464, 1465, 1302, 1501, 1469, 1470, + /* 390 */ 1306, 1508, 1314, 1518, 1484, 1522, 1502, 1529, 1491, 1347, + /* 400 */ 1352, 1533, 1535, 1358, 1363, 1538, 1541, 1496, 1542, 1544, + /* 410 */ 1545, 1504, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, + /* 420 */ 1406, 1523, 1559, 1410, 1562, 1569, 1571, 1572, 1573, 1574, + /* 430 */ 1576, 1579, 1580, 1583, 1584, 1585, 1587, 1588, 1589, 1556, + /* 440 */ 1590, 1592, 1599, 1600, 1601, 1575, 1602, 1603, 1604, 1459, + /* 450 */ 1595, 1596, 1577, 1606, 1557, 1607, 1558, 1608, 1609, 1568, + /* 460 */ 1581, 1567, 1566, 1605, 1586, 1616, 1593, 1614, 1582, 1598, + /* 470 */ 1618, 1623, 1632, 1611, 1462, 1634, 1639, 1641, 1591, 1645, + /* 480 */ 1646, 1612, 1610, 1613, 1648, 1619, 1615, 1617, 1653, 1622, + /* 490 */ 1620, 1621, 1661, 1627, 1624, 1625, 1665, 1666, 1667, 1669, + /* 500 */ 1570, 1597, 1635, 1649, 1673, 1642, 1643, 1656, 1657, 1636, + /* 510 */ 1637, 1658, 1659, 1654, 1660, 1697, 1680, 1704, 1684, 1662, + /* 520 */ 1707, 1686, 1674, 1710, 1676, 1713, 1679, 1715, 1694, 1698, + /* 530 */ 1682, 1685, 1527, 1626, 1628, 1724, 1563, 1690, 1728, 1546, + /* 540 */ 1708, 1630, 1629, 1735, 1742, 1633, 1631, 1741, 1703, 1499, + /* 550 */ 1650, 1655, 1664, 1638, 1521, 1640, 1500, 1668, 1712, 1687, + /* 560 */ 1681, 1689, 1691, 1692, 1716, 1705, 1714, 1696, 1719, 1530, + /* 570 */ 1693, 1699, 1754, 1731, 1531, 1743, 1746, 1747, 1752, 1762, + /* 580 */ 1763, 1709, 1711, 1756, 1561, 1757, 1759, 1799, 1809, 1811, + /* 590 */ 1717, 1718, 1721, 1720, 1723, 1647, 1726, 1819, 1783, 1670, + /* 600 */ 1734, 1727, 1566, 1786, 1791, 1644, 1671, 1675, 1834, 1815, + /* 610 */ 1651, 1745, 1749, 1748, 1751, 1753, 1760, 1794, 1758, 1764, + /* 620 */ 1795, 1761, 1816, 1652, 1765, 1744, 1766, 1814, 1817, 1768, + /* 630 */ 1769, 1820, 1771, 1773, 1829, 1776, 1777, 1832, 1788, 1790, + /* 640 */ 1833, 1792, 1732, 1770, 1775, 1778, 1866, 1785, 1800, 1846, + /* 650 */ 1804, 1867, 1810, 1846, 1846, 1882, 1843, 1845, 1874, 1875, + /* 660 */ 1876, 1877, 1878, 1879, 1880, 1881, 1883, 1884, 1847, 1828, + /* 670 */ 1885, 1886, 1888, 1890, 1904, 1895, 1905, 1906, 1857, 1636, + /* 680 */ 1907, 1637, 1908, 1909, 1911, 1912, 1917, 1913, 1949, 1916, + /* 690 */ 1910, 1915, 1955, 1921, 1914, 1918, 1959, 1925, 1919, 1924, + /* 700 */ 1964, 1930, 1922, 1932, 1969, 1937, 1939, 1975, 1956, 1958, + /* 710 */ 1960, 1971, 1968, 1957, }; #define YY_REDUCE_COUNT (292) -#define YY_REDUCE_MIN (-409) -#define YY_REDUCE_MAX (2349) +#define YY_REDUCE_MIN (-420) +#define YY_REDUCE_MAX (2656) static const short yy_reduce_ofst[] = { - /* 0 */ 236, -259, 234, 325, 632, 652, 723, 785, 853, 911, - /* 10 */ 954, 1007, 1050, 1121, 1174, -285, 1228, 75, 1271, 1328, - /* 20 */ 1356, 1382, 1448, 1469, 1530, 1581, 1597, 1640, 1683, 1701, - /* 30 */ 1754, 1775, 1829, 1846, 1903, 1946, 1965, 1989, 2008, 2051, - /* 40 */ 2104, 2122, 2175, 2197, 2263, 2306, 2325, 2349, 1139, -45, - /* 50 */ -329, 266, 568, 780, 937, 1049, -231, -183, 476, 614, - /* 60 */ 109, 367, 609, -22, 264, -331, -192, -332, -326, -341, - /* 70 */ -187, -135, 20, -335, -279, -21, 107, 297, 345, 399, - /* 80 */ 409, 410, 475, -175, 482, 621, 85, 622, -244, 677, - /* 90 */ 685, -334, 695, 733, 302, 736, 43, 448, 393, 768, - /* 100 */ 106, -11, -409, -409, -237, -16, -287, 89, 335, 378, - /* 110 */ 383, 503, 516, 519, 526, 551, 631, 662, 704, 719, - /* 120 */ 743, 749, 750, 751, 753, -240, -58, -322, 226, -90, - /* 130 */ 291, -58, -54, 229, 400, -280, 310, 495, -323, 118, - /* 140 */ 387, 460, 173, 407, 608, 552, -168, 605, 610, 653, - /* 150 */ 636, -356, -344, 588, 745, 789, 849, 868, 494, 649, - /* 160 */ 759, 783, 795, 779, 905, 825, 909, 909, 934, 891, - /* 170 */ 939, 910, 906, 855, 855, 839, 855, 867, 857, 909, - /* 180 */ 904, 908, 921, 944, 950, 958, 962, 1005, 1006, 973, - /* 190 */ 976, 977, 1013, 1028, 1032, 1033, 1045, 1052, 989, 1042, - /* 200 */ 1011, 1048, 1056, 1008, 1053, 1059, 1060, 1061, 1063, 1062, - /* 210 */ 1064, 1068, 1071, 1069, 1041, 1067, 1072, 1073, 1074, 1075, - /* 220 */ 1076, 1077, 1079, 1080, 1081, 1065, 1089, 1055, 1070, 1025, - /* 230 */ 1034, 1101, 1051, 1078, 1105, 1112, 1083, 1085, 1090, 1010, - /* 240 */ 1086, 1091, 1020, 1092, 1094, 1097, 909, 1021, 1036, 1044, - /* 250 */ 1037, 1096, 1087, 1095, 1030, 1039, 1038, 855, 1130, 1098, - /* 260 */ 1172, 1168, 1170, 1124, 1135, 1142, 1143, 1144, 1145, 1126, - /* 270 */ 1147, 1137, 1173, 1166, 1196, 1164, 1114, 1175, 1177, 1193, - /* 280 */ 1214, 1200, 1227, 1217, 1161, 1158, 1165, 1176, 1202, 1206, - /* 290 */ 1207, 1231, 1235, + /* 0 */ 276, -259, 233, 672, 744, 798, 859, 922, 942, 1045, + /* 10 */ 1104, 1158, 1219, 1277, 1331, 1360, 294, 1418, 1472, 1526, + /* 20 */ 1578, 1594, 1683, 1701, 1755, 1772, 1824, 1840, 1892, 1946, + /* 30 */ 1967, 2043, 2061, 2115, 2132, 2184, 2200, 2252, 2275, 2327, + /* 40 */ 2390, 2442, 2461, 2513, 2529, 2581, 2604, 2656, -258, 95, + /* 50 */ 105, -39, 559, 597, 599, 669, 187, 704, -346, -57, + /* 60 */ -391, 323, 480, -276, -250, 75, -222, 297, -371, -330, + /* 70 */ -326, -327, -363, -299, -257, 116, 128, 193, 199, 327, + /* 80 */ 409, 471, 645, 649, 657, 252, 693, 706, -51, 725, + /* 90 */ 747, 762, 244, 763, 772, -203, 791, 465, -5, 362, + /* 100 */ 847, -210, -315, -420, -420, -217, -212, -69, -21, 41, + /* 110 */ 43, 70, 96, 117, 148, 197, 225, 234, 346, 351, + /* 120 */ 405, 446, 454, 504, 651, 655, -266, -170, 397, 191, + /* 130 */ 152, 352, -170, -150, 219, 477, 186, 254, 491, 524, + /* 140 */ 537, 538, -316, -319, 485, 367, 542, 555, 557, 632, + /* 150 */ 530, -342, 369, 389, 410, 463, 468, 483, 319, 577, + /* 160 */ 650, 543, 521, 603, 756, 695, 786, 786, 810, 780, + /* 170 */ 831, 811, 808, 760, 760, 746, 760, 784, 783, 786, + /* 180 */ 834, 842, 851, 866, 870, 869, 878, 924, 926, 879, + /* 190 */ 882, 886, 933, 943, 944, 948, 957, 958, 897, 953, + /* 200 */ 925, 955, 965, 914, 963, 970, 964, 966, 968, 975, + /* 210 */ 971, 976, 978, 989, 959, 962, 967, 979, 983, 984, + /* 220 */ 994, 996, 998, 999, 1001, 987, 992, 990, 991, 938, + /* 230 */ 941, 997, 973, 995, 1028, 1035, 993, 1000, 1002, 936, + /* 240 */ 1003, 1007, 939, 1004, 1009, 1013, 786, 946, 949, 950, + /* 250 */ 947, 956, 972, 1014, 951, 961, 960, 760, 1049, 1016, + /* 260 */ 1085, 1088, 1082, 1043, 1054, 1058, 1059, 1061, 1062, 1044, + /* 270 */ 1063, 1066, 1118, 1089, 1119, 1079, 1038, 1102, 1095, 1121, + /* 280 */ 1136, 1126, 1143, 1145, 1087, 1081, 1097, 1098, 1135, 1138, + /* 290 */ 1139, 1144, 1154, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 10 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 20 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 30 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 40 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 50 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 60 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1851, - /* 70 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 80 */ 1596, 1596, 1596, 1674, 1596, 1596, 1596, 1596, 1596, 1596, - /* 90 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 100 */ 1672, 1844, 2042, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 110 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 120 */ 1596, 1596, 1596, 1596, 1596, 1596, 2054, 1596, 1596, 1674, - /* 130 */ 1596, 2054, 2054, 2054, 1672, 2014, 2014, 1596, 1596, 1596, - /* 140 */ 1596, 1781, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1781, - /* 150 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1888, 1596, - /* 160 */ 1596, 2079, 2133, 1596, 1596, 2082, 1596, 1596, 1596, 1856, - /* 170 */ 1596, 1734, 2069, 2046, 2060, 2117, 2047, 2044, 2063, 1596, - /* 180 */ 2073, 1596, 1881, 1849, 1596, 1849, 1846, 1596, 1596, 1849, - /* 190 */ 1846, 1846, 1725, 1596, 1596, 1596, 1596, 1596, 1596, 1674, - /* 200 */ 1596, 1674, 1596, 1596, 1674, 1596, 1674, 1674, 1674, 1596, - /* 210 */ 1674, 1653, 1653, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 220 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1901, - /* 230 */ 1596, 1672, 1890, 1596, 1672, 1596, 1596, 1596, 1596, 2090, - /* 240 */ 2088, 1596, 2090, 2088, 1596, 1596, 1596, 2102, 2098, 2090, - /* 250 */ 2106, 2104, 2075, 2073, 2136, 2123, 2119, 2060, 1596, 1596, - /* 260 */ 1596, 1596, 1672, 2088, 1596, 1596, 1596, 1596, 1596, 2088, - /* 270 */ 1596, 1596, 1672, 1596, 1672, 1596, 1596, 1750, 1596, 1596, - /* 280 */ 1596, 1672, 1628, 1596, 1883, 1894, 1866, 1866, 1784, 1784, - /* 290 */ 1784, 1675, 1601, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 300 */ 1596, 1596, 1596, 1596, 1596, 2101, 2100, 1969, 1596, 2018, - /* 310 */ 2017, 2016, 2007, 1968, 1746, 1596, 1967, 1966, 1596, 1596, - /* 320 */ 1596, 1596, 1596, 1862, 1861, 1960, 1596, 1596, 1961, 1959, - /* 330 */ 1958, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 340 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 2120, 2124, - /* 350 */ 1596, 1596, 1596, 1596, 1596, 1596, 2043, 1596, 1596, 1596, - /* 360 */ 1596, 1596, 1943, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 370 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 380 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 390 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 400 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 410 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 420 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 430 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 440 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 450 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 460 */ 1596, 1633, 1948, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 470 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 480 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 490 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 500 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1713, - /* 510 */ 1712, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 520 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 530 */ 1596, 1596, 1596, 1951, 1596, 1596, 1596, 1596, 1596, 1596, - /* 540 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 2116, 2076, 1596, - /* 550 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 560 */ 1596, 1596, 1596, 1596, 1596, 1596, 1943, 1596, 2099, 1596, - /* 570 */ 1596, 2114, 1596, 2118, 1596, 1596, 1596, 1596, 1596, 1596, - /* 580 */ 1596, 2053, 2049, 1596, 1596, 2045, 1596, 1596, 1596, 1596, - /* 590 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 600 */ 1596, 1596, 1942, 1596, 2004, 1596, 1596, 1596, 2038, 1596, - /* 610 */ 1596, 1989, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 620 */ 1596, 1951, 1596, 1954, 1596, 1596, 1596, 1596, 1596, 1778, - /* 630 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 640 */ 1596, 1596, 1763, 1761, 1760, 1759, 1596, 1756, 1596, 1791, - /* 650 */ 1596, 1596, 1596, 1787, 1786, 1596, 1596, 1596, 1596, 1596, - /* 660 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 670 */ 1693, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1685, - /* 680 */ 1596, 1684, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 690 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 700 */ 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, - /* 710 */ 1596, 1596, 1596, 1596, + /* 0 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 10 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 20 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 30 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 40 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 50 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 60 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 70 */ 1606, 1861, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 80 */ 1606, 1606, 1606, 1606, 1606, 1684, 1606, 1606, 1606, 1606, + /* 90 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 100 */ 1606, 1682, 1854, 2057, 1606, 1606, 1606, 1606, 1606, 1606, + /* 110 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 120 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 2069, 1606, 1606, + /* 130 */ 1684, 1606, 2069, 2069, 2069, 1682, 2029, 2029, 1606, 1606, + /* 140 */ 1606, 1606, 1791, 1606, 1606, 1606, 1606, 1606, 1606, 1791, + /* 150 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1903, 1606, + /* 160 */ 1606, 2094, 2148, 1606, 1606, 2097, 1606, 1606, 1606, 1866, + /* 170 */ 1606, 1744, 2084, 2061, 2075, 2132, 2062, 2059, 2078, 1606, + /* 180 */ 2088, 1606, 1896, 1859, 1606, 1859, 1856, 1606, 1606, 1859, + /* 190 */ 1856, 1856, 1735, 1606, 1606, 1606, 1606, 1606, 1606, 1684, + /* 200 */ 1606, 1684, 1606, 1606, 1684, 1606, 1684, 1684, 1684, 1606, + /* 210 */ 1684, 1663, 1663, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 220 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1916, + /* 230 */ 1606, 1682, 1905, 1606, 1682, 1606, 1606, 1606, 1606, 2105, + /* 240 */ 2103, 1606, 2105, 2103, 1606, 1606, 1606, 2117, 2113, 2105, + /* 250 */ 2121, 2119, 2090, 2088, 2151, 2138, 2134, 2075, 1606, 1606, + /* 260 */ 1606, 1606, 1682, 2103, 1606, 1606, 1606, 1606, 1606, 2103, + /* 270 */ 1606, 1606, 1682, 1606, 1682, 1606, 1606, 1760, 1606, 1606, + /* 280 */ 1606, 1682, 1638, 1606, 1898, 1909, 1881, 1881, 1794, 1794, + /* 290 */ 1794, 1685, 1611, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 300 */ 1606, 1606, 1606, 1606, 1606, 2116, 2115, 1984, 1606, 2033, + /* 310 */ 2032, 2031, 2022, 1983, 1756, 1606, 1982, 1981, 1606, 1606, + /* 320 */ 1606, 1606, 1606, 1872, 1871, 1975, 1606, 1606, 1976, 1974, + /* 330 */ 1973, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 340 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 2135, 2139, + /* 350 */ 1606, 1606, 1606, 1606, 1606, 1606, 2058, 1606, 1606, 1606, + /* 360 */ 1606, 1606, 1958, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 370 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 380 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 390 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 400 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 410 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 420 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 430 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 440 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 450 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 460 */ 1606, 1643, 1963, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 470 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 480 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 490 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 500 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1723, + /* 510 */ 1722, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 520 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 530 */ 1606, 1606, 1606, 1966, 1606, 1606, 1606, 1606, 1606, 1606, + /* 540 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 2131, 2091, 1606, + /* 550 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 560 */ 1606, 1606, 1606, 1606, 1606, 1606, 1958, 1606, 2114, 1606, + /* 570 */ 1606, 2129, 1606, 2133, 1606, 1606, 1606, 1606, 1606, 1606, + /* 580 */ 1606, 2068, 2064, 1606, 1606, 2060, 1606, 1606, 1606, 1606, + /* 590 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 600 */ 1606, 1606, 1957, 1606, 2019, 1606, 1606, 1606, 2053, 1606, + /* 610 */ 1606, 2004, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 620 */ 1606, 1966, 1606, 1969, 1606, 1606, 1606, 1606, 1606, 1788, + /* 630 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 640 */ 1606, 1606, 1773, 1771, 1770, 1769, 1606, 1766, 1606, 1801, + /* 650 */ 1606, 1606, 1606, 1797, 1796, 1606, 1606, 1606, 1606, 1606, + /* 660 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 670 */ 1703, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1695, + /* 680 */ 1606, 1694, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 690 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 700 */ 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + /* 710 */ 1606, 1606, 1606, 1606, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1179,6 +1240,8 @@ static const YYCODETYPE yyFallback[] = { 0, /* INDEX => nothing */ 0, /* FUNCTION => nothing */ 0, /* INTERVAL => nothing */ + 0, /* COUNT => nothing */ + 0, /* LAST_ROW => nothing */ 0, /* TOPIC => nothing */ 0, /* WITH => nothing */ 0, /* META => nothing */ @@ -1237,8 +1300,6 @@ static const YYCODETYPE yyFallback[] = { 0, /* SERVER_VERSION => nothing */ 0, /* SERVER_STATUS => nothing */ 0, /* CURRENT_USER => nothing */ - 0, /* COUNT => nothing */ - 0, /* LAST_ROW => nothing */ 0, /* CASE => nothing */ 271, /* END => ABORT */ 0, /* WHEN => nothing */ @@ -1591,66 +1652,66 @@ static const char *const yyTokenName[] = { /* 164 */ "INDEX", /* 165 */ "FUNCTION", /* 166 */ "INTERVAL", - /* 167 */ "TOPIC", - /* 168 */ "WITH", - /* 169 */ "META", - /* 170 */ "CONSUMER", - /* 171 */ "GROUP", - /* 172 */ "DESC", - /* 173 */ "DESCRIBE", - /* 174 */ "RESET", - /* 175 */ "QUERY", - /* 176 */ "CACHE", - /* 177 */ "EXPLAIN", - /* 178 */ "ANALYZE", - /* 179 */ "VERBOSE", - /* 180 */ "NK_BOOL", - /* 181 */ "RATIO", - /* 182 */ "NK_FLOAT", - /* 183 */ "OUTPUTTYPE", - /* 184 */ "AGGREGATE", - /* 185 */ "BUFSIZE", - /* 186 */ "STREAM", - /* 187 */ "INTO", - /* 188 */ "TRIGGER", - /* 189 */ "AT_ONCE", - /* 190 */ "WINDOW_CLOSE", - /* 191 */ "IGNORE", - /* 192 */ "EXPIRED", - /* 193 */ "FILL_HISTORY", - /* 194 */ "SUBTABLE", - /* 195 */ "KILL", - /* 196 */ "CONNECTION", - /* 197 */ "TRANSACTION", - /* 198 */ "BALANCE", - /* 199 */ "VGROUP", - /* 200 */ "MERGE", - /* 201 */ "REDISTRIBUTE", - /* 202 */ "SPLIT", - /* 203 */ "DELETE", - /* 204 */ "INSERT", - /* 205 */ "NULL", - /* 206 */ "NK_QUESTION", - /* 207 */ "NK_ARROW", - /* 208 */ "ROWTS", - /* 209 */ "QSTART", - /* 210 */ "QEND", - /* 211 */ "QDURATION", - /* 212 */ "WSTART", - /* 213 */ "WEND", - /* 214 */ "WDURATION", - /* 215 */ "IROWTS", - /* 216 */ "ISFILLED", - /* 217 */ "CAST", - /* 218 */ "NOW", - /* 219 */ "TODAY", - /* 220 */ "TIMEZONE", - /* 221 */ "CLIENT_VERSION", - /* 222 */ "SERVER_VERSION", - /* 223 */ "SERVER_STATUS", - /* 224 */ "CURRENT_USER", - /* 225 */ "COUNT", - /* 226 */ "LAST_ROW", + /* 167 */ "COUNT", + /* 168 */ "LAST_ROW", + /* 169 */ "TOPIC", + /* 170 */ "WITH", + /* 171 */ "META", + /* 172 */ "CONSUMER", + /* 173 */ "GROUP", + /* 174 */ "DESC", + /* 175 */ "DESCRIBE", + /* 176 */ "RESET", + /* 177 */ "QUERY", + /* 178 */ "CACHE", + /* 179 */ "EXPLAIN", + /* 180 */ "ANALYZE", + /* 181 */ "VERBOSE", + /* 182 */ "NK_BOOL", + /* 183 */ "RATIO", + /* 184 */ "NK_FLOAT", + /* 185 */ "OUTPUTTYPE", + /* 186 */ "AGGREGATE", + /* 187 */ "BUFSIZE", + /* 188 */ "STREAM", + /* 189 */ "INTO", + /* 190 */ "TRIGGER", + /* 191 */ "AT_ONCE", + /* 192 */ "WINDOW_CLOSE", + /* 193 */ "IGNORE", + /* 194 */ "EXPIRED", + /* 195 */ "FILL_HISTORY", + /* 196 */ "SUBTABLE", + /* 197 */ "KILL", + /* 198 */ "CONNECTION", + /* 199 */ "TRANSACTION", + /* 200 */ "BALANCE", + /* 201 */ "VGROUP", + /* 202 */ "MERGE", + /* 203 */ "REDISTRIBUTE", + /* 204 */ "SPLIT", + /* 205 */ "DELETE", + /* 206 */ "INSERT", + /* 207 */ "NULL", + /* 208 */ "NK_QUESTION", + /* 209 */ "NK_ARROW", + /* 210 */ "ROWTS", + /* 211 */ "QSTART", + /* 212 */ "QEND", + /* 213 */ "QDURATION", + /* 214 */ "WSTART", + /* 215 */ "WEND", + /* 216 */ "WDURATION", + /* 217 */ "IROWTS", + /* 218 */ "ISFILLED", + /* 219 */ "CAST", + /* 220 */ "NOW", + /* 221 */ "TODAY", + /* 222 */ "TIMEZONE", + /* 223 */ "CLIENT_VERSION", + /* 224 */ "SERVER_VERSION", + /* 225 */ "SERVER_STATUS", + /* 226 */ "CURRENT_USER", /* 227 */ "CASE", /* 228 */ "END", /* 229 */ "WHEN", @@ -1812,78 +1873,79 @@ static const char *const yyTokenName[] = { /* 385 */ "sliding_opt", /* 386 */ "sma_stream_opt", /* 387 */ "func", - /* 388 */ "query_or_subquery", - /* 389 */ "cgroup_name", - /* 390 */ "analyze_opt", - /* 391 */ "explain_options", - /* 392 */ "agg_func_opt", - /* 393 */ "bufsize_opt", - /* 394 */ "stream_name", - /* 395 */ "stream_options", - /* 396 */ "subtable_opt", - /* 397 */ "expression", - /* 398 */ "dnode_list", - /* 399 */ "where_clause_opt", - /* 400 */ "signed", - /* 401 */ "literal_func", - /* 402 */ "literal_list", - /* 403 */ "table_alias", - /* 404 */ "expr_or_subquery", - /* 405 */ "pseudo_column", - /* 406 */ "column_reference", - /* 407 */ "function_expression", - /* 408 */ "case_when_expression", - /* 409 */ "star_func", - /* 410 */ "star_func_para_list", - /* 411 */ "noarg_func", - /* 412 */ "other_para_list", - /* 413 */ "star_func_para", - /* 414 */ "when_then_list", - /* 415 */ "case_when_else_opt", - /* 416 */ "common_expression", - /* 417 */ "when_then_expr", - /* 418 */ "predicate", - /* 419 */ "compare_op", - /* 420 */ "in_op", - /* 421 */ "in_predicate_value", - /* 422 */ "boolean_value_expression", - /* 423 */ "boolean_primary", - /* 424 */ "from_clause_opt", - /* 425 */ "table_reference_list", - /* 426 */ "table_reference", - /* 427 */ "table_primary", - /* 428 */ "joined_table", - /* 429 */ "alias_opt", - /* 430 */ "subquery", - /* 431 */ "parenthesized_joined_table", - /* 432 */ "join_type", - /* 433 */ "search_condition", - /* 434 */ "query_specification", - /* 435 */ "set_quantifier_opt", - /* 436 */ "select_list", - /* 437 */ "partition_by_clause_opt", - /* 438 */ "range_opt", - /* 439 */ "every_opt", - /* 440 */ "fill_opt", - /* 441 */ "twindow_clause_opt", - /* 442 */ "group_by_clause_opt", - /* 443 */ "having_clause_opt", - /* 444 */ "select_item", - /* 445 */ "partition_list", - /* 446 */ "partition_item", - /* 447 */ "fill_mode", - /* 448 */ "group_by_list", - /* 449 */ "query_expression", - /* 450 */ "query_simple", - /* 451 */ "order_by_clause_opt", - /* 452 */ "slimit_clause_opt", - /* 453 */ "limit_clause_opt", - /* 454 */ "union_query_expression", - /* 455 */ "query_simple_or_subquery", - /* 456 */ "sort_specification_list", - /* 457 */ "sort_specification", - /* 458 */ "ordering_specification_opt", - /* 459 */ "null_ordering_opt", + /* 388 */ "sma_func_name", + /* 389 */ "query_or_subquery", + /* 390 */ "cgroup_name", + /* 391 */ "analyze_opt", + /* 392 */ "explain_options", + /* 393 */ "agg_func_opt", + /* 394 */ "bufsize_opt", + /* 395 */ "stream_name", + /* 396 */ "stream_options", + /* 397 */ "subtable_opt", + /* 398 */ "expression", + /* 399 */ "dnode_list", + /* 400 */ "where_clause_opt", + /* 401 */ "signed", + /* 402 */ "literal_func", + /* 403 */ "literal_list", + /* 404 */ "table_alias", + /* 405 */ "expr_or_subquery", + /* 406 */ "pseudo_column", + /* 407 */ "column_reference", + /* 408 */ "function_expression", + /* 409 */ "case_when_expression", + /* 410 */ "star_func", + /* 411 */ "star_func_para_list", + /* 412 */ "noarg_func", + /* 413 */ "other_para_list", + /* 414 */ "star_func_para", + /* 415 */ "when_then_list", + /* 416 */ "case_when_else_opt", + /* 417 */ "common_expression", + /* 418 */ "when_then_expr", + /* 419 */ "predicate", + /* 420 */ "compare_op", + /* 421 */ "in_op", + /* 422 */ "in_predicate_value", + /* 423 */ "boolean_value_expression", + /* 424 */ "boolean_primary", + /* 425 */ "from_clause_opt", + /* 426 */ "table_reference_list", + /* 427 */ "table_reference", + /* 428 */ "table_primary", + /* 429 */ "joined_table", + /* 430 */ "alias_opt", + /* 431 */ "subquery", + /* 432 */ "parenthesized_joined_table", + /* 433 */ "join_type", + /* 434 */ "search_condition", + /* 435 */ "query_specification", + /* 436 */ "set_quantifier_opt", + /* 437 */ "select_list", + /* 438 */ "partition_by_clause_opt", + /* 439 */ "range_opt", + /* 440 */ "every_opt", + /* 441 */ "fill_opt", + /* 442 */ "twindow_clause_opt", + /* 443 */ "group_by_clause_opt", + /* 444 */ "having_clause_opt", + /* 445 */ "select_item", + /* 446 */ "partition_list", + /* 447 */ "partition_item", + /* 448 */ "fill_mode", + /* 449 */ "group_by_list", + /* 450 */ "query_expression", + /* 451 */ "query_simple", + /* 452 */ "order_by_clause_opt", + /* 453 */ "slimit_clause_opt", + /* 454 */ "limit_clause_opt", + /* 455 */ "union_query_expression", + /* 456 */ "query_simple_or_subquery", + /* 457 */ "sort_specification_list", + /* 458 */ "sort_specification", + /* 459 */ "ordering_specification_opt", + /* 460 */ "null_ordering_opt", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -2157,280 +2219,285 @@ static const char *const yyRuleName[] = { /* 263 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt", /* 264 */ "func_list ::= func", /* 265 */ "func_list ::= func_list NK_COMMA func", - /* 266 */ "func ::= function_name NK_LP expression_list NK_RP", - /* 267 */ "sma_stream_opt ::=", - /* 268 */ "sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal", - /* 269 */ "sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal", - /* 270 */ "sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal", - /* 271 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery", - /* 272 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name", - /* 273 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name", - /* 274 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name", - /* 275 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name", - /* 276 */ "cmd ::= DROP TOPIC exists_opt topic_name", - /* 277 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name", - /* 278 */ "cmd ::= DESC full_table_name", - /* 279 */ "cmd ::= DESCRIBE full_table_name", - /* 280 */ "cmd ::= RESET QUERY CACHE", - /* 281 */ "cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery", - /* 282 */ "analyze_opt ::=", - /* 283 */ "analyze_opt ::= ANALYZE", - /* 284 */ "explain_options ::=", - /* 285 */ "explain_options ::= explain_options VERBOSE NK_BOOL", - /* 286 */ "explain_options ::= explain_options RATIO NK_FLOAT", - /* 287 */ "cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt", - /* 288 */ "cmd ::= DROP FUNCTION exists_opt function_name", - /* 289 */ "agg_func_opt ::=", - /* 290 */ "agg_func_opt ::= AGGREGATE", - /* 291 */ "bufsize_opt ::=", - /* 292 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", - /* 293 */ "cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name tags_def_opt subtable_opt AS query_or_subquery", - /* 294 */ "cmd ::= DROP STREAM exists_opt stream_name", - /* 295 */ "stream_options ::=", - /* 296 */ "stream_options ::= stream_options TRIGGER AT_ONCE", - /* 297 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", - /* 298 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", - /* 299 */ "stream_options ::= stream_options WATERMARK duration_literal", - /* 300 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", - /* 301 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", - /* 302 */ "subtable_opt ::=", - /* 303 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", - /* 304 */ "cmd ::= KILL CONNECTION NK_INTEGER", - /* 305 */ "cmd ::= KILL QUERY NK_STRING", - /* 306 */ "cmd ::= KILL TRANSACTION NK_INTEGER", - /* 307 */ "cmd ::= BALANCE VGROUP", - /* 308 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", - /* 309 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", - /* 310 */ "cmd ::= SPLIT VGROUP NK_INTEGER", - /* 311 */ "dnode_list ::= DNODE NK_INTEGER", - /* 312 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", - /* 313 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", - /* 314 */ "cmd ::= query_or_subquery", - /* 315 */ "cmd ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", - /* 316 */ "cmd ::= INSERT INTO full_table_name query_or_subquery", - /* 317 */ "literal ::= NK_INTEGER", - /* 318 */ "literal ::= NK_FLOAT", - /* 319 */ "literal ::= NK_STRING", - /* 320 */ "literal ::= NK_BOOL", - /* 321 */ "literal ::= TIMESTAMP NK_STRING", - /* 322 */ "literal ::= duration_literal", - /* 323 */ "literal ::= NULL", - /* 324 */ "literal ::= NK_QUESTION", - /* 325 */ "duration_literal ::= NK_VARIABLE", - /* 326 */ "signed ::= NK_INTEGER", - /* 327 */ "signed ::= NK_PLUS NK_INTEGER", - /* 328 */ "signed ::= NK_MINUS NK_INTEGER", - /* 329 */ "signed ::= NK_FLOAT", - /* 330 */ "signed ::= NK_PLUS NK_FLOAT", - /* 331 */ "signed ::= NK_MINUS NK_FLOAT", - /* 332 */ "signed_literal ::= signed", - /* 333 */ "signed_literal ::= NK_STRING", - /* 334 */ "signed_literal ::= NK_BOOL", - /* 335 */ "signed_literal ::= TIMESTAMP NK_STRING", - /* 336 */ "signed_literal ::= duration_literal", - /* 337 */ "signed_literal ::= NULL", - /* 338 */ "signed_literal ::= literal_func", - /* 339 */ "signed_literal ::= NK_QUESTION", - /* 340 */ "literal_list ::= signed_literal", - /* 341 */ "literal_list ::= literal_list NK_COMMA signed_literal", - /* 342 */ "db_name ::= NK_ID", - /* 343 */ "table_name ::= NK_ID", - /* 344 */ "column_name ::= NK_ID", - /* 345 */ "function_name ::= NK_ID", - /* 346 */ "table_alias ::= NK_ID", - /* 347 */ "column_alias ::= NK_ID", - /* 348 */ "user_name ::= NK_ID", - /* 349 */ "topic_name ::= NK_ID", - /* 350 */ "stream_name ::= NK_ID", - /* 351 */ "cgroup_name ::= NK_ID", - /* 352 */ "expr_or_subquery ::= expression", - /* 353 */ "expression ::= literal", - /* 354 */ "expression ::= pseudo_column", - /* 355 */ "expression ::= column_reference", - /* 356 */ "expression ::= function_expression", - /* 357 */ "expression ::= case_when_expression", - /* 358 */ "expression ::= NK_LP expression NK_RP", - /* 359 */ "expression ::= NK_PLUS expr_or_subquery", - /* 360 */ "expression ::= NK_MINUS expr_or_subquery", - /* 361 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", - /* 362 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", - /* 363 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", - /* 364 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", - /* 365 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", - /* 366 */ "expression ::= column_reference NK_ARROW NK_STRING", - /* 367 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", - /* 368 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", - /* 369 */ "expression_list ::= expr_or_subquery", - /* 370 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", - /* 371 */ "column_reference ::= column_name", - /* 372 */ "column_reference ::= table_name NK_DOT column_name", - /* 373 */ "pseudo_column ::= ROWTS", - /* 374 */ "pseudo_column ::= TBNAME", - /* 375 */ "pseudo_column ::= table_name NK_DOT TBNAME", - /* 376 */ "pseudo_column ::= QSTART", - /* 377 */ "pseudo_column ::= QEND", - /* 378 */ "pseudo_column ::= QDURATION", - /* 379 */ "pseudo_column ::= WSTART", - /* 380 */ "pseudo_column ::= WEND", - /* 381 */ "pseudo_column ::= WDURATION", - /* 382 */ "pseudo_column ::= IROWTS", - /* 383 */ "pseudo_column ::= ISFILLED", - /* 384 */ "pseudo_column ::= QTAGS", - /* 385 */ "function_expression ::= function_name NK_LP expression_list NK_RP", - /* 386 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", - /* 387 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", - /* 388 */ "function_expression ::= literal_func", - /* 389 */ "literal_func ::= noarg_func NK_LP NK_RP", - /* 390 */ "literal_func ::= NOW", - /* 391 */ "noarg_func ::= NOW", - /* 392 */ "noarg_func ::= TODAY", - /* 393 */ "noarg_func ::= TIMEZONE", - /* 394 */ "noarg_func ::= DATABASE", - /* 395 */ "noarg_func ::= CLIENT_VERSION", - /* 396 */ "noarg_func ::= SERVER_VERSION", - /* 397 */ "noarg_func ::= SERVER_STATUS", - /* 398 */ "noarg_func ::= CURRENT_USER", - /* 399 */ "noarg_func ::= USER", - /* 400 */ "star_func ::= COUNT", - /* 401 */ "star_func ::= FIRST", - /* 402 */ "star_func ::= LAST", - /* 403 */ "star_func ::= LAST_ROW", - /* 404 */ "star_func_para_list ::= NK_STAR", - /* 405 */ "star_func_para_list ::= other_para_list", - /* 406 */ "other_para_list ::= star_func_para", - /* 407 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", - /* 408 */ "star_func_para ::= expr_or_subquery", - /* 409 */ "star_func_para ::= table_name NK_DOT NK_STAR", - /* 410 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", - /* 411 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", - /* 412 */ "when_then_list ::= when_then_expr", - /* 413 */ "when_then_list ::= when_then_list when_then_expr", - /* 414 */ "when_then_expr ::= WHEN common_expression THEN common_expression", - /* 415 */ "case_when_else_opt ::=", - /* 416 */ "case_when_else_opt ::= ELSE common_expression", - /* 417 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", - /* 418 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", - /* 419 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", - /* 420 */ "predicate ::= expr_or_subquery IS NULL", - /* 421 */ "predicate ::= expr_or_subquery IS NOT NULL", - /* 422 */ "predicate ::= expr_or_subquery in_op in_predicate_value", - /* 423 */ "compare_op ::= NK_LT", - /* 424 */ "compare_op ::= NK_GT", - /* 425 */ "compare_op ::= NK_LE", - /* 426 */ "compare_op ::= NK_GE", - /* 427 */ "compare_op ::= NK_NE", - /* 428 */ "compare_op ::= NK_EQ", - /* 429 */ "compare_op ::= LIKE", - /* 430 */ "compare_op ::= NOT LIKE", - /* 431 */ "compare_op ::= MATCH", - /* 432 */ "compare_op ::= NMATCH", - /* 433 */ "compare_op ::= CONTAINS", - /* 434 */ "in_op ::= IN", - /* 435 */ "in_op ::= NOT IN", - /* 436 */ "in_predicate_value ::= NK_LP literal_list NK_RP", - /* 437 */ "boolean_value_expression ::= boolean_primary", - /* 438 */ "boolean_value_expression ::= NOT boolean_primary", - /* 439 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", - /* 440 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", - /* 441 */ "boolean_primary ::= predicate", - /* 442 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", - /* 443 */ "common_expression ::= expr_or_subquery", - /* 444 */ "common_expression ::= boolean_value_expression", - /* 445 */ "from_clause_opt ::=", - /* 446 */ "from_clause_opt ::= FROM table_reference_list", - /* 447 */ "table_reference_list ::= table_reference", - /* 448 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", - /* 449 */ "table_reference ::= table_primary", - /* 450 */ "table_reference ::= joined_table", - /* 451 */ "table_primary ::= table_name alias_opt", - /* 452 */ "table_primary ::= db_name NK_DOT table_name alias_opt", - /* 453 */ "table_primary ::= subquery alias_opt", - /* 454 */ "table_primary ::= parenthesized_joined_table", - /* 455 */ "alias_opt ::=", - /* 456 */ "alias_opt ::= table_alias", - /* 457 */ "alias_opt ::= AS table_alias", - /* 458 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", - /* 459 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", - /* 460 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", - /* 461 */ "join_type ::=", - /* 462 */ "join_type ::= INNER", - /* 463 */ "query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt", - /* 464 */ "set_quantifier_opt ::=", - /* 465 */ "set_quantifier_opt ::= DISTINCT", - /* 466 */ "set_quantifier_opt ::= ALL", - /* 467 */ "select_list ::= select_item", - /* 468 */ "select_list ::= select_list NK_COMMA select_item", - /* 469 */ "select_item ::= NK_STAR", - /* 470 */ "select_item ::= common_expression", - /* 471 */ "select_item ::= common_expression column_alias", - /* 472 */ "select_item ::= common_expression AS column_alias", - /* 473 */ "select_item ::= table_name NK_DOT NK_STAR", - /* 474 */ "where_clause_opt ::=", - /* 475 */ "where_clause_opt ::= WHERE search_condition", - /* 476 */ "partition_by_clause_opt ::=", - /* 477 */ "partition_by_clause_opt ::= PARTITION BY partition_list", - /* 478 */ "partition_list ::= partition_item", - /* 479 */ "partition_list ::= partition_list NK_COMMA partition_item", - /* 480 */ "partition_item ::= expr_or_subquery", - /* 481 */ "partition_item ::= expr_or_subquery column_alias", - /* 482 */ "partition_item ::= expr_or_subquery AS column_alias", - /* 483 */ "twindow_clause_opt ::=", - /* 484 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP", - /* 485 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", - /* 486 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt", - /* 487 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt", - /* 488 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", - /* 489 */ "sliding_opt ::=", - /* 490 */ "sliding_opt ::= SLIDING NK_LP duration_literal NK_RP", - /* 491 */ "fill_opt ::=", - /* 492 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", - /* 493 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP", - /* 494 */ "fill_mode ::= NONE", - /* 495 */ "fill_mode ::= PREV", - /* 496 */ "fill_mode ::= NULL", - /* 497 */ "fill_mode ::= LINEAR", - /* 498 */ "fill_mode ::= NEXT", - /* 499 */ "group_by_clause_opt ::=", - /* 500 */ "group_by_clause_opt ::= GROUP BY group_by_list", - /* 501 */ "group_by_list ::= expr_or_subquery", - /* 502 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", - /* 503 */ "having_clause_opt ::=", - /* 504 */ "having_clause_opt ::= HAVING search_condition", - /* 505 */ "range_opt ::=", - /* 506 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", - /* 507 */ "every_opt ::=", - /* 508 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", - /* 509 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", - /* 510 */ "query_simple ::= query_specification", - /* 511 */ "query_simple ::= union_query_expression", - /* 512 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", - /* 513 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", - /* 514 */ "query_simple_or_subquery ::= query_simple", - /* 515 */ "query_simple_or_subquery ::= subquery", - /* 516 */ "query_or_subquery ::= query_expression", - /* 517 */ "query_or_subquery ::= subquery", - /* 518 */ "order_by_clause_opt ::=", - /* 519 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", - /* 520 */ "slimit_clause_opt ::=", - /* 521 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", - /* 522 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", - /* 523 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 524 */ "limit_clause_opt ::=", - /* 525 */ "limit_clause_opt ::= LIMIT NK_INTEGER", - /* 526 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", - /* 527 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 528 */ "subquery ::= NK_LP query_expression NK_RP", - /* 529 */ "subquery ::= NK_LP subquery NK_RP", - /* 530 */ "search_condition ::= common_expression", - /* 531 */ "sort_specification_list ::= sort_specification", - /* 532 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", - /* 533 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", - /* 534 */ "ordering_specification_opt ::=", - /* 535 */ "ordering_specification_opt ::= ASC", - /* 536 */ "ordering_specification_opt ::= DESC", - /* 537 */ "null_ordering_opt ::=", - /* 538 */ "null_ordering_opt ::= NULLS FIRST", - /* 539 */ "null_ordering_opt ::= NULLS LAST", + /* 266 */ "func ::= sma_func_name NK_LP expression_list NK_RP", + /* 267 */ "sma_func_name ::= function_name", + /* 268 */ "sma_func_name ::= COUNT", + /* 269 */ "sma_func_name ::= FIRST", + /* 270 */ "sma_func_name ::= LAST", + /* 271 */ "sma_func_name ::= LAST_ROW", + /* 272 */ "sma_stream_opt ::=", + /* 273 */ "sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal", + /* 274 */ "sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal", + /* 275 */ "sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal", + /* 276 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery", + /* 277 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name", + /* 278 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name", + /* 279 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name", + /* 280 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name", + /* 281 */ "cmd ::= DROP TOPIC exists_opt topic_name", + /* 282 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name", + /* 283 */ "cmd ::= DESC full_table_name", + /* 284 */ "cmd ::= DESCRIBE full_table_name", + /* 285 */ "cmd ::= RESET QUERY CACHE", + /* 286 */ "cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery", + /* 287 */ "analyze_opt ::=", + /* 288 */ "analyze_opt ::= ANALYZE", + /* 289 */ "explain_options ::=", + /* 290 */ "explain_options ::= explain_options VERBOSE NK_BOOL", + /* 291 */ "explain_options ::= explain_options RATIO NK_FLOAT", + /* 292 */ "cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt", + /* 293 */ "cmd ::= DROP FUNCTION exists_opt function_name", + /* 294 */ "agg_func_opt ::=", + /* 295 */ "agg_func_opt ::= AGGREGATE", + /* 296 */ "bufsize_opt ::=", + /* 297 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", + /* 298 */ "cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name tags_def_opt subtable_opt AS query_or_subquery", + /* 299 */ "cmd ::= DROP STREAM exists_opt stream_name", + /* 300 */ "stream_options ::=", + /* 301 */ "stream_options ::= stream_options TRIGGER AT_ONCE", + /* 302 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", + /* 303 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", + /* 304 */ "stream_options ::= stream_options WATERMARK duration_literal", + /* 305 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", + /* 306 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", + /* 307 */ "subtable_opt ::=", + /* 308 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", + /* 309 */ "cmd ::= KILL CONNECTION NK_INTEGER", + /* 310 */ "cmd ::= KILL QUERY NK_STRING", + /* 311 */ "cmd ::= KILL TRANSACTION NK_INTEGER", + /* 312 */ "cmd ::= BALANCE VGROUP", + /* 313 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", + /* 314 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", + /* 315 */ "cmd ::= SPLIT VGROUP NK_INTEGER", + /* 316 */ "dnode_list ::= DNODE NK_INTEGER", + /* 317 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", + /* 318 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", + /* 319 */ "cmd ::= query_or_subquery", + /* 320 */ "cmd ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", + /* 321 */ "cmd ::= INSERT INTO full_table_name query_or_subquery", + /* 322 */ "literal ::= NK_INTEGER", + /* 323 */ "literal ::= NK_FLOAT", + /* 324 */ "literal ::= NK_STRING", + /* 325 */ "literal ::= NK_BOOL", + /* 326 */ "literal ::= TIMESTAMP NK_STRING", + /* 327 */ "literal ::= duration_literal", + /* 328 */ "literal ::= NULL", + /* 329 */ "literal ::= NK_QUESTION", + /* 330 */ "duration_literal ::= NK_VARIABLE", + /* 331 */ "signed ::= NK_INTEGER", + /* 332 */ "signed ::= NK_PLUS NK_INTEGER", + /* 333 */ "signed ::= NK_MINUS NK_INTEGER", + /* 334 */ "signed ::= NK_FLOAT", + /* 335 */ "signed ::= NK_PLUS NK_FLOAT", + /* 336 */ "signed ::= NK_MINUS NK_FLOAT", + /* 337 */ "signed_literal ::= signed", + /* 338 */ "signed_literal ::= NK_STRING", + /* 339 */ "signed_literal ::= NK_BOOL", + /* 340 */ "signed_literal ::= TIMESTAMP NK_STRING", + /* 341 */ "signed_literal ::= duration_literal", + /* 342 */ "signed_literal ::= NULL", + /* 343 */ "signed_literal ::= literal_func", + /* 344 */ "signed_literal ::= NK_QUESTION", + /* 345 */ "literal_list ::= signed_literal", + /* 346 */ "literal_list ::= literal_list NK_COMMA signed_literal", + /* 347 */ "db_name ::= NK_ID", + /* 348 */ "table_name ::= NK_ID", + /* 349 */ "column_name ::= NK_ID", + /* 350 */ "function_name ::= NK_ID", + /* 351 */ "table_alias ::= NK_ID", + /* 352 */ "column_alias ::= NK_ID", + /* 353 */ "user_name ::= NK_ID", + /* 354 */ "topic_name ::= NK_ID", + /* 355 */ "stream_name ::= NK_ID", + /* 356 */ "cgroup_name ::= NK_ID", + /* 357 */ "expr_or_subquery ::= expression", + /* 358 */ "expression ::= literal", + /* 359 */ "expression ::= pseudo_column", + /* 360 */ "expression ::= column_reference", + /* 361 */ "expression ::= function_expression", + /* 362 */ "expression ::= case_when_expression", + /* 363 */ "expression ::= NK_LP expression NK_RP", + /* 364 */ "expression ::= NK_PLUS expr_or_subquery", + /* 365 */ "expression ::= NK_MINUS expr_or_subquery", + /* 366 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", + /* 367 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", + /* 368 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", + /* 369 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", + /* 370 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", + /* 371 */ "expression ::= column_reference NK_ARROW NK_STRING", + /* 372 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", + /* 373 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", + /* 374 */ "expression_list ::= expr_or_subquery", + /* 375 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", + /* 376 */ "column_reference ::= column_name", + /* 377 */ "column_reference ::= table_name NK_DOT column_name", + /* 378 */ "pseudo_column ::= ROWTS", + /* 379 */ "pseudo_column ::= TBNAME", + /* 380 */ "pseudo_column ::= table_name NK_DOT TBNAME", + /* 381 */ "pseudo_column ::= QSTART", + /* 382 */ "pseudo_column ::= QEND", + /* 383 */ "pseudo_column ::= QDURATION", + /* 384 */ "pseudo_column ::= WSTART", + /* 385 */ "pseudo_column ::= WEND", + /* 386 */ "pseudo_column ::= WDURATION", + /* 387 */ "pseudo_column ::= IROWTS", + /* 388 */ "pseudo_column ::= ISFILLED", + /* 389 */ "pseudo_column ::= QTAGS", + /* 390 */ "function_expression ::= function_name NK_LP expression_list NK_RP", + /* 391 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", + /* 392 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", + /* 393 */ "function_expression ::= literal_func", + /* 394 */ "literal_func ::= noarg_func NK_LP NK_RP", + /* 395 */ "literal_func ::= NOW", + /* 396 */ "noarg_func ::= NOW", + /* 397 */ "noarg_func ::= TODAY", + /* 398 */ "noarg_func ::= TIMEZONE", + /* 399 */ "noarg_func ::= DATABASE", + /* 400 */ "noarg_func ::= CLIENT_VERSION", + /* 401 */ "noarg_func ::= SERVER_VERSION", + /* 402 */ "noarg_func ::= SERVER_STATUS", + /* 403 */ "noarg_func ::= CURRENT_USER", + /* 404 */ "noarg_func ::= USER", + /* 405 */ "star_func ::= COUNT", + /* 406 */ "star_func ::= FIRST", + /* 407 */ "star_func ::= LAST", + /* 408 */ "star_func ::= LAST_ROW", + /* 409 */ "star_func_para_list ::= NK_STAR", + /* 410 */ "star_func_para_list ::= other_para_list", + /* 411 */ "other_para_list ::= star_func_para", + /* 412 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", + /* 413 */ "star_func_para ::= expr_or_subquery", + /* 414 */ "star_func_para ::= table_name NK_DOT NK_STAR", + /* 415 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", + /* 416 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", + /* 417 */ "when_then_list ::= when_then_expr", + /* 418 */ "when_then_list ::= when_then_list when_then_expr", + /* 419 */ "when_then_expr ::= WHEN common_expression THEN common_expression", + /* 420 */ "case_when_else_opt ::=", + /* 421 */ "case_when_else_opt ::= ELSE common_expression", + /* 422 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", + /* 423 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", + /* 424 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", + /* 425 */ "predicate ::= expr_or_subquery IS NULL", + /* 426 */ "predicate ::= expr_or_subquery IS NOT NULL", + /* 427 */ "predicate ::= expr_or_subquery in_op in_predicate_value", + /* 428 */ "compare_op ::= NK_LT", + /* 429 */ "compare_op ::= NK_GT", + /* 430 */ "compare_op ::= NK_LE", + /* 431 */ "compare_op ::= NK_GE", + /* 432 */ "compare_op ::= NK_NE", + /* 433 */ "compare_op ::= NK_EQ", + /* 434 */ "compare_op ::= LIKE", + /* 435 */ "compare_op ::= NOT LIKE", + /* 436 */ "compare_op ::= MATCH", + /* 437 */ "compare_op ::= NMATCH", + /* 438 */ "compare_op ::= CONTAINS", + /* 439 */ "in_op ::= IN", + /* 440 */ "in_op ::= NOT IN", + /* 441 */ "in_predicate_value ::= NK_LP literal_list NK_RP", + /* 442 */ "boolean_value_expression ::= boolean_primary", + /* 443 */ "boolean_value_expression ::= NOT boolean_primary", + /* 444 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", + /* 445 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", + /* 446 */ "boolean_primary ::= predicate", + /* 447 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", + /* 448 */ "common_expression ::= expr_or_subquery", + /* 449 */ "common_expression ::= boolean_value_expression", + /* 450 */ "from_clause_opt ::=", + /* 451 */ "from_clause_opt ::= FROM table_reference_list", + /* 452 */ "table_reference_list ::= table_reference", + /* 453 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", + /* 454 */ "table_reference ::= table_primary", + /* 455 */ "table_reference ::= joined_table", + /* 456 */ "table_primary ::= table_name alias_opt", + /* 457 */ "table_primary ::= db_name NK_DOT table_name alias_opt", + /* 458 */ "table_primary ::= subquery alias_opt", + /* 459 */ "table_primary ::= parenthesized_joined_table", + /* 460 */ "alias_opt ::=", + /* 461 */ "alias_opt ::= table_alias", + /* 462 */ "alias_opt ::= AS table_alias", + /* 463 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", + /* 464 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", + /* 465 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", + /* 466 */ "join_type ::=", + /* 467 */ "join_type ::= INNER", + /* 468 */ "query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt", + /* 469 */ "set_quantifier_opt ::=", + /* 470 */ "set_quantifier_opt ::= DISTINCT", + /* 471 */ "set_quantifier_opt ::= ALL", + /* 472 */ "select_list ::= select_item", + /* 473 */ "select_list ::= select_list NK_COMMA select_item", + /* 474 */ "select_item ::= NK_STAR", + /* 475 */ "select_item ::= common_expression", + /* 476 */ "select_item ::= common_expression column_alias", + /* 477 */ "select_item ::= common_expression AS column_alias", + /* 478 */ "select_item ::= table_name NK_DOT NK_STAR", + /* 479 */ "where_clause_opt ::=", + /* 480 */ "where_clause_opt ::= WHERE search_condition", + /* 481 */ "partition_by_clause_opt ::=", + /* 482 */ "partition_by_clause_opt ::= PARTITION BY partition_list", + /* 483 */ "partition_list ::= partition_item", + /* 484 */ "partition_list ::= partition_list NK_COMMA partition_item", + /* 485 */ "partition_item ::= expr_or_subquery", + /* 486 */ "partition_item ::= expr_or_subquery column_alias", + /* 487 */ "partition_item ::= expr_or_subquery AS column_alias", + /* 488 */ "twindow_clause_opt ::=", + /* 489 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP", + /* 490 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", + /* 491 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt", + /* 492 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt", + /* 493 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", + /* 494 */ "sliding_opt ::=", + /* 495 */ "sliding_opt ::= SLIDING NK_LP duration_literal NK_RP", + /* 496 */ "fill_opt ::=", + /* 497 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", + /* 498 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP", + /* 499 */ "fill_mode ::= NONE", + /* 500 */ "fill_mode ::= PREV", + /* 501 */ "fill_mode ::= NULL", + /* 502 */ "fill_mode ::= LINEAR", + /* 503 */ "fill_mode ::= NEXT", + /* 504 */ "group_by_clause_opt ::=", + /* 505 */ "group_by_clause_opt ::= GROUP BY group_by_list", + /* 506 */ "group_by_list ::= expr_or_subquery", + /* 507 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", + /* 508 */ "having_clause_opt ::=", + /* 509 */ "having_clause_opt ::= HAVING search_condition", + /* 510 */ "range_opt ::=", + /* 511 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", + /* 512 */ "every_opt ::=", + /* 513 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", + /* 514 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", + /* 515 */ "query_simple ::= query_specification", + /* 516 */ "query_simple ::= union_query_expression", + /* 517 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", + /* 518 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", + /* 519 */ "query_simple_or_subquery ::= query_simple", + /* 520 */ "query_simple_or_subquery ::= subquery", + /* 521 */ "query_or_subquery ::= query_expression", + /* 522 */ "query_or_subquery ::= subquery", + /* 523 */ "order_by_clause_opt ::=", + /* 524 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", + /* 525 */ "slimit_clause_opt ::=", + /* 526 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", + /* 527 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", + /* 528 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 529 */ "limit_clause_opt ::=", + /* 530 */ "limit_clause_opt ::= LIMIT NK_INTEGER", + /* 531 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", + /* 532 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 533 */ "subquery ::= NK_LP query_expression NK_RP", + /* 534 */ "subquery ::= NK_LP subquery NK_RP", + /* 535 */ "search_condition ::= common_expression", + /* 536 */ "sort_specification_list ::= sort_specification", + /* 537 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", + /* 538 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", + /* 539 */ "ordering_specification_opt ::=", + /* 540 */ "ordering_specification_opt ::= ASC", + /* 541 */ "ordering_specification_opt ::= DESC", + /* 542 */ "null_ordering_opt ::=", + /* 543 */ "null_ordering_opt ::= NULLS FIRST", + /* 544 */ "null_ordering_opt ::= NULLS LAST", }; #endif /* NDEBUG */ @@ -2582,59 +2649,59 @@ static void yy_destructor( case 385: /* sliding_opt */ case 386: /* sma_stream_opt */ case 387: /* func */ - case 388: /* query_or_subquery */ - case 391: /* explain_options */ - case 395: /* stream_options */ - case 396: /* subtable_opt */ - case 397: /* expression */ - case 399: /* where_clause_opt */ - case 400: /* signed */ - case 401: /* literal_func */ - case 404: /* expr_or_subquery */ - case 405: /* pseudo_column */ - case 406: /* column_reference */ - case 407: /* function_expression */ - case 408: /* case_when_expression */ - case 413: /* star_func_para */ - case 415: /* case_when_else_opt */ - case 416: /* common_expression */ - case 417: /* when_then_expr */ - case 418: /* predicate */ - case 421: /* in_predicate_value */ - case 422: /* boolean_value_expression */ - case 423: /* boolean_primary */ - case 424: /* from_clause_opt */ - case 425: /* table_reference_list */ - case 426: /* table_reference */ - case 427: /* table_primary */ - case 428: /* joined_table */ - case 430: /* subquery */ - case 431: /* parenthesized_joined_table */ - case 433: /* search_condition */ - case 434: /* query_specification */ - case 438: /* range_opt */ - case 439: /* every_opt */ - case 440: /* fill_opt */ - case 441: /* twindow_clause_opt */ - case 443: /* having_clause_opt */ - case 444: /* select_item */ - case 446: /* partition_item */ - case 449: /* query_expression */ - case 450: /* query_simple */ - case 452: /* slimit_clause_opt */ - case 453: /* limit_clause_opt */ - case 454: /* union_query_expression */ - case 455: /* query_simple_or_subquery */ - case 457: /* sort_specification */ + case 389: /* query_or_subquery */ + case 392: /* explain_options */ + case 396: /* stream_options */ + case 397: /* subtable_opt */ + case 398: /* expression */ + case 400: /* where_clause_opt */ + case 401: /* signed */ + case 402: /* literal_func */ + case 405: /* expr_or_subquery */ + case 406: /* pseudo_column */ + case 407: /* column_reference */ + case 408: /* function_expression */ + case 409: /* case_when_expression */ + case 414: /* star_func_para */ + case 416: /* case_when_else_opt */ + case 417: /* common_expression */ + case 418: /* when_then_expr */ + case 419: /* predicate */ + case 422: /* in_predicate_value */ + case 423: /* boolean_value_expression */ + case 424: /* boolean_primary */ + case 425: /* from_clause_opt */ + case 426: /* table_reference_list */ + case 427: /* table_reference */ + case 428: /* table_primary */ + case 429: /* joined_table */ + case 431: /* subquery */ + case 432: /* parenthesized_joined_table */ + case 434: /* search_condition */ + case 435: /* query_specification */ + case 439: /* range_opt */ + case 440: /* every_opt */ + case 441: /* fill_opt */ + case 442: /* twindow_clause_opt */ + case 444: /* having_clause_opt */ + case 445: /* select_item */ + case 447: /* partition_item */ + case 450: /* query_expression */ + case 451: /* query_simple */ + case 453: /* slimit_clause_opt */ + case 454: /* limit_clause_opt */ + case 455: /* union_query_expression */ + case 456: /* query_simple_or_subquery */ + case 458: /* sort_specification */ { - nodesDestroyNode((yypminor->yy752)); + nodesDestroyNode((yypminor->yy600)); } break; case 326: /* account_options */ case 327: /* alter_account_options */ case 329: /* alter_account_option */ case 344: /* speed_opt */ - case 393: /* bufsize_opt */ + case 394: /* bufsize_opt */ { } @@ -2648,12 +2715,13 @@ static void yy_destructor( case 367: /* table_name */ case 374: /* function_name */ case 382: /* column_alias */ - case 389: /* cgroup_name */ - case 394: /* stream_name */ - case 403: /* table_alias */ - case 409: /* star_func */ - case 411: /* noarg_func */ - case 429: /* alias_opt */ + case 388: /* sma_func_name */ + case 390: /* cgroup_name */ + case 395: /* stream_name */ + case 404: /* table_alias */ + case 410: /* star_func */ + case 412: /* noarg_func */ + case 430: /* alias_opt */ { } @@ -2673,9 +2741,9 @@ static void yy_destructor( case 339: /* force_opt */ case 340: /* not_exists_opt */ case 342: /* exists_opt */ - case 390: /* analyze_opt */ - case 392: /* agg_func_opt */ - case 435: /* set_quantifier_opt */ + case 391: /* analyze_opt */ + case 393: /* agg_func_opt */ + case 436: /* set_quantifier_opt */ { } @@ -2695,20 +2763,20 @@ static void yy_destructor( case 370: /* rollup_func_list */ case 380: /* tag_list_opt */ case 384: /* func_list */ - case 398: /* dnode_list */ - case 402: /* literal_list */ - case 410: /* star_func_para_list */ - case 412: /* other_para_list */ - case 414: /* when_then_list */ - case 436: /* select_list */ - case 437: /* partition_by_clause_opt */ - case 442: /* group_by_clause_opt */ - case 445: /* partition_list */ - case 448: /* group_by_list */ - case 451: /* order_by_clause_opt */ - case 456: /* sort_specification_list */ + case 399: /* dnode_list */ + case 403: /* literal_list */ + case 411: /* star_func_para_list */ + case 413: /* other_para_list */ + case 415: /* when_then_list */ + case 437: /* select_list */ + case 438: /* partition_by_clause_opt */ + case 443: /* group_by_clause_opt */ + case 446: /* partition_list */ + case 449: /* group_by_list */ + case 452: /* order_by_clause_opt */ + case 457: /* sort_specification_list */ { - nodesDestroyList((yypminor->yy424)); + nodesDestroyList((yypminor->yy601)); } break; case 348: /* alter_db_option */ @@ -2722,28 +2790,28 @@ static void yy_destructor( } break; - case 419: /* compare_op */ - case 420: /* in_op */ + case 420: /* compare_op */ + case 421: /* in_op */ { } break; - case 432: /* join_type */ + case 433: /* join_type */ { } break; - case 447: /* fill_mode */ + case 448: /* fill_mode */ { } break; - case 458: /* ordering_specification_opt */ + case 459: /* ordering_specification_opt */ { } break; - case 459: /* null_ordering_opt */ + case 460: /* null_ordering_opt */ { } @@ -3300,280 +3368,285 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 383, /* (263) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ 384, /* (264) func_list ::= func */ 384, /* (265) func_list ::= func_list NK_COMMA func */ - 387, /* (266) func ::= function_name NK_LP expression_list NK_RP */ - 386, /* (267) sma_stream_opt ::= */ - 386, /* (268) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - 386, /* (269) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - 386, /* (270) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - 325, /* (271) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - 325, /* (272) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */ - 325, /* (273) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */ - 325, /* (274) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */ - 325, /* (275) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */ - 325, /* (276) cmd ::= DROP TOPIC exists_opt topic_name */ - 325, /* (277) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - 325, /* (278) cmd ::= DESC full_table_name */ - 325, /* (279) cmd ::= DESCRIBE full_table_name */ - 325, /* (280) cmd ::= RESET QUERY CACHE */ - 325, /* (281) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - 390, /* (282) analyze_opt ::= */ - 390, /* (283) analyze_opt ::= ANALYZE */ - 391, /* (284) explain_options ::= */ - 391, /* (285) explain_options ::= explain_options VERBOSE NK_BOOL */ - 391, /* (286) explain_options ::= explain_options RATIO NK_FLOAT */ - 325, /* (287) cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */ - 325, /* (288) cmd ::= DROP FUNCTION exists_opt function_name */ - 392, /* (289) agg_func_opt ::= */ - 392, /* (290) agg_func_opt ::= AGGREGATE */ - 393, /* (291) bufsize_opt ::= */ - 393, /* (292) bufsize_opt ::= BUFSIZE NK_INTEGER */ - 325, /* (293) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name tags_def_opt subtable_opt AS query_or_subquery */ - 325, /* (294) cmd ::= DROP STREAM exists_opt stream_name */ - 395, /* (295) stream_options ::= */ - 395, /* (296) stream_options ::= stream_options TRIGGER AT_ONCE */ - 395, /* (297) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - 395, /* (298) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - 395, /* (299) stream_options ::= stream_options WATERMARK duration_literal */ - 395, /* (300) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - 395, /* (301) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - 396, /* (302) subtable_opt ::= */ - 396, /* (303) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - 325, /* (304) cmd ::= KILL CONNECTION NK_INTEGER */ - 325, /* (305) cmd ::= KILL QUERY NK_STRING */ - 325, /* (306) cmd ::= KILL TRANSACTION NK_INTEGER */ - 325, /* (307) cmd ::= BALANCE VGROUP */ - 325, /* (308) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - 325, /* (309) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - 325, /* (310) cmd ::= SPLIT VGROUP NK_INTEGER */ - 398, /* (311) dnode_list ::= DNODE NK_INTEGER */ - 398, /* (312) dnode_list ::= dnode_list DNODE NK_INTEGER */ - 325, /* (313) cmd ::= DELETE FROM full_table_name where_clause_opt */ - 325, /* (314) cmd ::= query_or_subquery */ - 325, /* (315) cmd ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - 325, /* (316) cmd ::= INSERT INTO full_table_name query_or_subquery */ - 328, /* (317) literal ::= NK_INTEGER */ - 328, /* (318) literal ::= NK_FLOAT */ - 328, /* (319) literal ::= NK_STRING */ - 328, /* (320) literal ::= NK_BOOL */ - 328, /* (321) literal ::= TIMESTAMP NK_STRING */ - 328, /* (322) literal ::= duration_literal */ - 328, /* (323) literal ::= NULL */ - 328, /* (324) literal ::= NK_QUESTION */ - 372, /* (325) duration_literal ::= NK_VARIABLE */ - 400, /* (326) signed ::= NK_INTEGER */ - 400, /* (327) signed ::= NK_PLUS NK_INTEGER */ - 400, /* (328) signed ::= NK_MINUS NK_INTEGER */ - 400, /* (329) signed ::= NK_FLOAT */ - 400, /* (330) signed ::= NK_PLUS NK_FLOAT */ - 400, /* (331) signed ::= NK_MINUS NK_FLOAT */ - 361, /* (332) signed_literal ::= signed */ - 361, /* (333) signed_literal ::= NK_STRING */ - 361, /* (334) signed_literal ::= NK_BOOL */ - 361, /* (335) signed_literal ::= TIMESTAMP NK_STRING */ - 361, /* (336) signed_literal ::= duration_literal */ - 361, /* (337) signed_literal ::= NULL */ - 361, /* (338) signed_literal ::= literal_func */ - 361, /* (339) signed_literal ::= NK_QUESTION */ - 402, /* (340) literal_list ::= signed_literal */ - 402, /* (341) literal_list ::= literal_list NK_COMMA signed_literal */ - 336, /* (342) db_name ::= NK_ID */ - 367, /* (343) table_name ::= NK_ID */ - 359, /* (344) column_name ::= NK_ID */ - 374, /* (345) function_name ::= NK_ID */ - 403, /* (346) table_alias ::= NK_ID */ - 382, /* (347) column_alias ::= NK_ID */ - 330, /* (348) user_name ::= NK_ID */ - 337, /* (349) topic_name ::= NK_ID */ - 394, /* (350) stream_name ::= NK_ID */ - 389, /* (351) cgroup_name ::= NK_ID */ - 404, /* (352) expr_or_subquery ::= expression */ - 397, /* (353) expression ::= literal */ - 397, /* (354) expression ::= pseudo_column */ - 397, /* (355) expression ::= column_reference */ - 397, /* (356) expression ::= function_expression */ - 397, /* (357) expression ::= case_when_expression */ - 397, /* (358) expression ::= NK_LP expression NK_RP */ - 397, /* (359) expression ::= NK_PLUS expr_or_subquery */ - 397, /* (360) expression ::= NK_MINUS expr_or_subquery */ - 397, /* (361) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - 397, /* (362) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - 397, /* (363) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - 397, /* (364) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - 397, /* (365) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - 397, /* (366) expression ::= column_reference NK_ARROW NK_STRING */ - 397, /* (367) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - 397, /* (368) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - 364, /* (369) expression_list ::= expr_or_subquery */ - 364, /* (370) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - 406, /* (371) column_reference ::= column_name */ - 406, /* (372) column_reference ::= table_name NK_DOT column_name */ - 405, /* (373) pseudo_column ::= ROWTS */ - 405, /* (374) pseudo_column ::= TBNAME */ - 405, /* (375) pseudo_column ::= table_name NK_DOT TBNAME */ - 405, /* (376) pseudo_column ::= QSTART */ - 405, /* (377) pseudo_column ::= QEND */ - 405, /* (378) pseudo_column ::= QDURATION */ - 405, /* (379) pseudo_column ::= WSTART */ - 405, /* (380) pseudo_column ::= WEND */ - 405, /* (381) pseudo_column ::= WDURATION */ - 405, /* (382) pseudo_column ::= IROWTS */ - 405, /* (383) pseudo_column ::= ISFILLED */ - 405, /* (384) pseudo_column ::= QTAGS */ - 407, /* (385) function_expression ::= function_name NK_LP expression_list NK_RP */ - 407, /* (386) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - 407, /* (387) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - 407, /* (388) function_expression ::= literal_func */ - 401, /* (389) literal_func ::= noarg_func NK_LP NK_RP */ - 401, /* (390) literal_func ::= NOW */ - 411, /* (391) noarg_func ::= NOW */ - 411, /* (392) noarg_func ::= TODAY */ - 411, /* (393) noarg_func ::= TIMEZONE */ - 411, /* (394) noarg_func ::= DATABASE */ - 411, /* (395) noarg_func ::= CLIENT_VERSION */ - 411, /* (396) noarg_func ::= SERVER_VERSION */ - 411, /* (397) noarg_func ::= SERVER_STATUS */ - 411, /* (398) noarg_func ::= CURRENT_USER */ - 411, /* (399) noarg_func ::= USER */ - 409, /* (400) star_func ::= COUNT */ - 409, /* (401) star_func ::= FIRST */ - 409, /* (402) star_func ::= LAST */ - 409, /* (403) star_func ::= LAST_ROW */ - 410, /* (404) star_func_para_list ::= NK_STAR */ - 410, /* (405) star_func_para_list ::= other_para_list */ - 412, /* (406) other_para_list ::= star_func_para */ - 412, /* (407) other_para_list ::= other_para_list NK_COMMA star_func_para */ - 413, /* (408) star_func_para ::= expr_or_subquery */ - 413, /* (409) star_func_para ::= table_name NK_DOT NK_STAR */ - 408, /* (410) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - 408, /* (411) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - 414, /* (412) when_then_list ::= when_then_expr */ - 414, /* (413) when_then_list ::= when_then_list when_then_expr */ - 417, /* (414) when_then_expr ::= WHEN common_expression THEN common_expression */ - 415, /* (415) case_when_else_opt ::= */ - 415, /* (416) case_when_else_opt ::= ELSE common_expression */ - 418, /* (417) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - 418, /* (418) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - 418, /* (419) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - 418, /* (420) predicate ::= expr_or_subquery IS NULL */ - 418, /* (421) predicate ::= expr_or_subquery IS NOT NULL */ - 418, /* (422) predicate ::= expr_or_subquery in_op in_predicate_value */ - 419, /* (423) compare_op ::= NK_LT */ - 419, /* (424) compare_op ::= NK_GT */ - 419, /* (425) compare_op ::= NK_LE */ - 419, /* (426) compare_op ::= NK_GE */ - 419, /* (427) compare_op ::= NK_NE */ - 419, /* (428) compare_op ::= NK_EQ */ - 419, /* (429) compare_op ::= LIKE */ - 419, /* (430) compare_op ::= NOT LIKE */ - 419, /* (431) compare_op ::= MATCH */ - 419, /* (432) compare_op ::= NMATCH */ - 419, /* (433) compare_op ::= CONTAINS */ - 420, /* (434) in_op ::= IN */ - 420, /* (435) in_op ::= NOT IN */ - 421, /* (436) in_predicate_value ::= NK_LP literal_list NK_RP */ - 422, /* (437) boolean_value_expression ::= boolean_primary */ - 422, /* (438) boolean_value_expression ::= NOT boolean_primary */ - 422, /* (439) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - 422, /* (440) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - 423, /* (441) boolean_primary ::= predicate */ - 423, /* (442) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - 416, /* (443) common_expression ::= expr_or_subquery */ - 416, /* (444) common_expression ::= boolean_value_expression */ - 424, /* (445) from_clause_opt ::= */ - 424, /* (446) from_clause_opt ::= FROM table_reference_list */ - 425, /* (447) table_reference_list ::= table_reference */ - 425, /* (448) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - 426, /* (449) table_reference ::= table_primary */ - 426, /* (450) table_reference ::= joined_table */ - 427, /* (451) table_primary ::= table_name alias_opt */ - 427, /* (452) table_primary ::= db_name NK_DOT table_name alias_opt */ - 427, /* (453) table_primary ::= subquery alias_opt */ - 427, /* (454) table_primary ::= parenthesized_joined_table */ - 429, /* (455) alias_opt ::= */ - 429, /* (456) alias_opt ::= table_alias */ - 429, /* (457) alias_opt ::= AS table_alias */ - 431, /* (458) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - 431, /* (459) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - 428, /* (460) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 432, /* (461) join_type ::= */ - 432, /* (462) join_type ::= INNER */ - 434, /* (463) query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ - 435, /* (464) set_quantifier_opt ::= */ - 435, /* (465) set_quantifier_opt ::= DISTINCT */ - 435, /* (466) set_quantifier_opt ::= ALL */ - 436, /* (467) select_list ::= select_item */ - 436, /* (468) select_list ::= select_list NK_COMMA select_item */ - 444, /* (469) select_item ::= NK_STAR */ - 444, /* (470) select_item ::= common_expression */ - 444, /* (471) select_item ::= common_expression column_alias */ - 444, /* (472) select_item ::= common_expression AS column_alias */ - 444, /* (473) select_item ::= table_name NK_DOT NK_STAR */ - 399, /* (474) where_clause_opt ::= */ - 399, /* (475) where_clause_opt ::= WHERE search_condition */ - 437, /* (476) partition_by_clause_opt ::= */ - 437, /* (477) partition_by_clause_opt ::= PARTITION BY partition_list */ - 445, /* (478) partition_list ::= partition_item */ - 445, /* (479) partition_list ::= partition_list NK_COMMA partition_item */ - 446, /* (480) partition_item ::= expr_or_subquery */ - 446, /* (481) partition_item ::= expr_or_subquery column_alias */ - 446, /* (482) partition_item ::= expr_or_subquery AS column_alias */ - 441, /* (483) twindow_clause_opt ::= */ - 441, /* (484) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ - 441, /* (485) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - 441, /* (486) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */ - 441, /* (487) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */ - 441, /* (488) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - 385, /* (489) sliding_opt ::= */ - 385, /* (490) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ - 440, /* (491) fill_opt ::= */ - 440, /* (492) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - 440, /* (493) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */ - 447, /* (494) fill_mode ::= NONE */ - 447, /* (495) fill_mode ::= PREV */ - 447, /* (496) fill_mode ::= NULL */ - 447, /* (497) fill_mode ::= LINEAR */ - 447, /* (498) fill_mode ::= NEXT */ - 442, /* (499) group_by_clause_opt ::= */ - 442, /* (500) group_by_clause_opt ::= GROUP BY group_by_list */ - 448, /* (501) group_by_list ::= expr_or_subquery */ - 448, /* (502) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 443, /* (503) having_clause_opt ::= */ - 443, /* (504) having_clause_opt ::= HAVING search_condition */ - 438, /* (505) range_opt ::= */ - 438, /* (506) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 439, /* (507) every_opt ::= */ - 439, /* (508) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - 449, /* (509) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - 450, /* (510) query_simple ::= query_specification */ - 450, /* (511) query_simple ::= union_query_expression */ - 454, /* (512) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - 454, /* (513) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - 455, /* (514) query_simple_or_subquery ::= query_simple */ - 455, /* (515) query_simple_or_subquery ::= subquery */ - 388, /* (516) query_or_subquery ::= query_expression */ - 388, /* (517) query_or_subquery ::= subquery */ - 451, /* (518) order_by_clause_opt ::= */ - 451, /* (519) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 452, /* (520) slimit_clause_opt ::= */ - 452, /* (521) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - 452, /* (522) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - 452, /* (523) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 453, /* (524) limit_clause_opt ::= */ - 453, /* (525) limit_clause_opt ::= LIMIT NK_INTEGER */ - 453, /* (526) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - 453, /* (527) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 430, /* (528) subquery ::= NK_LP query_expression NK_RP */ - 430, /* (529) subquery ::= NK_LP subquery NK_RP */ - 433, /* (530) search_condition ::= common_expression */ - 456, /* (531) sort_specification_list ::= sort_specification */ - 456, /* (532) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - 457, /* (533) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 458, /* (534) ordering_specification_opt ::= */ - 458, /* (535) ordering_specification_opt ::= ASC */ - 458, /* (536) ordering_specification_opt ::= DESC */ - 459, /* (537) null_ordering_opt ::= */ - 459, /* (538) null_ordering_opt ::= NULLS FIRST */ - 459, /* (539) null_ordering_opt ::= NULLS LAST */ + 387, /* (266) func ::= sma_func_name NK_LP expression_list NK_RP */ + 388, /* (267) sma_func_name ::= function_name */ + 388, /* (268) sma_func_name ::= COUNT */ + 388, /* (269) sma_func_name ::= FIRST */ + 388, /* (270) sma_func_name ::= LAST */ + 388, /* (271) sma_func_name ::= LAST_ROW */ + 386, /* (272) sma_stream_opt ::= */ + 386, /* (273) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + 386, /* (274) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + 386, /* (275) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + 325, /* (276) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + 325, /* (277) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */ + 325, /* (278) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */ + 325, /* (279) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */ + 325, /* (280) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */ + 325, /* (281) cmd ::= DROP TOPIC exists_opt topic_name */ + 325, /* (282) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + 325, /* (283) cmd ::= DESC full_table_name */ + 325, /* (284) cmd ::= DESCRIBE full_table_name */ + 325, /* (285) cmd ::= RESET QUERY CACHE */ + 325, /* (286) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + 391, /* (287) analyze_opt ::= */ + 391, /* (288) analyze_opt ::= ANALYZE */ + 392, /* (289) explain_options ::= */ + 392, /* (290) explain_options ::= explain_options VERBOSE NK_BOOL */ + 392, /* (291) explain_options ::= explain_options RATIO NK_FLOAT */ + 325, /* (292) cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */ + 325, /* (293) cmd ::= DROP FUNCTION exists_opt function_name */ + 393, /* (294) agg_func_opt ::= */ + 393, /* (295) agg_func_opt ::= AGGREGATE */ + 394, /* (296) bufsize_opt ::= */ + 394, /* (297) bufsize_opt ::= BUFSIZE NK_INTEGER */ + 325, /* (298) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name tags_def_opt subtable_opt AS query_or_subquery */ + 325, /* (299) cmd ::= DROP STREAM exists_opt stream_name */ + 396, /* (300) stream_options ::= */ + 396, /* (301) stream_options ::= stream_options TRIGGER AT_ONCE */ + 396, /* (302) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + 396, /* (303) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + 396, /* (304) stream_options ::= stream_options WATERMARK duration_literal */ + 396, /* (305) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + 396, /* (306) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + 397, /* (307) subtable_opt ::= */ + 397, /* (308) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + 325, /* (309) cmd ::= KILL CONNECTION NK_INTEGER */ + 325, /* (310) cmd ::= KILL QUERY NK_STRING */ + 325, /* (311) cmd ::= KILL TRANSACTION NK_INTEGER */ + 325, /* (312) cmd ::= BALANCE VGROUP */ + 325, /* (313) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + 325, /* (314) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + 325, /* (315) cmd ::= SPLIT VGROUP NK_INTEGER */ + 399, /* (316) dnode_list ::= DNODE NK_INTEGER */ + 399, /* (317) dnode_list ::= dnode_list DNODE NK_INTEGER */ + 325, /* (318) cmd ::= DELETE FROM full_table_name where_clause_opt */ + 325, /* (319) cmd ::= query_or_subquery */ + 325, /* (320) cmd ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + 325, /* (321) cmd ::= INSERT INTO full_table_name query_or_subquery */ + 328, /* (322) literal ::= NK_INTEGER */ + 328, /* (323) literal ::= NK_FLOAT */ + 328, /* (324) literal ::= NK_STRING */ + 328, /* (325) literal ::= NK_BOOL */ + 328, /* (326) literal ::= TIMESTAMP NK_STRING */ + 328, /* (327) literal ::= duration_literal */ + 328, /* (328) literal ::= NULL */ + 328, /* (329) literal ::= NK_QUESTION */ + 372, /* (330) duration_literal ::= NK_VARIABLE */ + 401, /* (331) signed ::= NK_INTEGER */ + 401, /* (332) signed ::= NK_PLUS NK_INTEGER */ + 401, /* (333) signed ::= NK_MINUS NK_INTEGER */ + 401, /* (334) signed ::= NK_FLOAT */ + 401, /* (335) signed ::= NK_PLUS NK_FLOAT */ + 401, /* (336) signed ::= NK_MINUS NK_FLOAT */ + 361, /* (337) signed_literal ::= signed */ + 361, /* (338) signed_literal ::= NK_STRING */ + 361, /* (339) signed_literal ::= NK_BOOL */ + 361, /* (340) signed_literal ::= TIMESTAMP NK_STRING */ + 361, /* (341) signed_literal ::= duration_literal */ + 361, /* (342) signed_literal ::= NULL */ + 361, /* (343) signed_literal ::= literal_func */ + 361, /* (344) signed_literal ::= NK_QUESTION */ + 403, /* (345) literal_list ::= signed_literal */ + 403, /* (346) literal_list ::= literal_list NK_COMMA signed_literal */ + 336, /* (347) db_name ::= NK_ID */ + 367, /* (348) table_name ::= NK_ID */ + 359, /* (349) column_name ::= NK_ID */ + 374, /* (350) function_name ::= NK_ID */ + 404, /* (351) table_alias ::= NK_ID */ + 382, /* (352) column_alias ::= NK_ID */ + 330, /* (353) user_name ::= NK_ID */ + 337, /* (354) topic_name ::= NK_ID */ + 395, /* (355) stream_name ::= NK_ID */ + 390, /* (356) cgroup_name ::= NK_ID */ + 405, /* (357) expr_or_subquery ::= expression */ + 398, /* (358) expression ::= literal */ + 398, /* (359) expression ::= pseudo_column */ + 398, /* (360) expression ::= column_reference */ + 398, /* (361) expression ::= function_expression */ + 398, /* (362) expression ::= case_when_expression */ + 398, /* (363) expression ::= NK_LP expression NK_RP */ + 398, /* (364) expression ::= NK_PLUS expr_or_subquery */ + 398, /* (365) expression ::= NK_MINUS expr_or_subquery */ + 398, /* (366) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + 398, /* (367) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + 398, /* (368) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + 398, /* (369) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + 398, /* (370) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + 398, /* (371) expression ::= column_reference NK_ARROW NK_STRING */ + 398, /* (372) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + 398, /* (373) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + 364, /* (374) expression_list ::= expr_or_subquery */ + 364, /* (375) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + 407, /* (376) column_reference ::= column_name */ + 407, /* (377) column_reference ::= table_name NK_DOT column_name */ + 406, /* (378) pseudo_column ::= ROWTS */ + 406, /* (379) pseudo_column ::= TBNAME */ + 406, /* (380) pseudo_column ::= table_name NK_DOT TBNAME */ + 406, /* (381) pseudo_column ::= QSTART */ + 406, /* (382) pseudo_column ::= QEND */ + 406, /* (383) pseudo_column ::= QDURATION */ + 406, /* (384) pseudo_column ::= WSTART */ + 406, /* (385) pseudo_column ::= WEND */ + 406, /* (386) pseudo_column ::= WDURATION */ + 406, /* (387) pseudo_column ::= IROWTS */ + 406, /* (388) pseudo_column ::= ISFILLED */ + 406, /* (389) pseudo_column ::= QTAGS */ + 408, /* (390) function_expression ::= function_name NK_LP expression_list NK_RP */ + 408, /* (391) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + 408, /* (392) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + 408, /* (393) function_expression ::= literal_func */ + 402, /* (394) literal_func ::= noarg_func NK_LP NK_RP */ + 402, /* (395) literal_func ::= NOW */ + 412, /* (396) noarg_func ::= NOW */ + 412, /* (397) noarg_func ::= TODAY */ + 412, /* (398) noarg_func ::= TIMEZONE */ + 412, /* (399) noarg_func ::= DATABASE */ + 412, /* (400) noarg_func ::= CLIENT_VERSION */ + 412, /* (401) noarg_func ::= SERVER_VERSION */ + 412, /* (402) noarg_func ::= SERVER_STATUS */ + 412, /* (403) noarg_func ::= CURRENT_USER */ + 412, /* (404) noarg_func ::= USER */ + 410, /* (405) star_func ::= COUNT */ + 410, /* (406) star_func ::= FIRST */ + 410, /* (407) star_func ::= LAST */ + 410, /* (408) star_func ::= LAST_ROW */ + 411, /* (409) star_func_para_list ::= NK_STAR */ + 411, /* (410) star_func_para_list ::= other_para_list */ + 413, /* (411) other_para_list ::= star_func_para */ + 413, /* (412) other_para_list ::= other_para_list NK_COMMA star_func_para */ + 414, /* (413) star_func_para ::= expr_or_subquery */ + 414, /* (414) star_func_para ::= table_name NK_DOT NK_STAR */ + 409, /* (415) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + 409, /* (416) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + 415, /* (417) when_then_list ::= when_then_expr */ + 415, /* (418) when_then_list ::= when_then_list when_then_expr */ + 418, /* (419) when_then_expr ::= WHEN common_expression THEN common_expression */ + 416, /* (420) case_when_else_opt ::= */ + 416, /* (421) case_when_else_opt ::= ELSE common_expression */ + 419, /* (422) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + 419, /* (423) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + 419, /* (424) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + 419, /* (425) predicate ::= expr_or_subquery IS NULL */ + 419, /* (426) predicate ::= expr_or_subquery IS NOT NULL */ + 419, /* (427) predicate ::= expr_or_subquery in_op in_predicate_value */ + 420, /* (428) compare_op ::= NK_LT */ + 420, /* (429) compare_op ::= NK_GT */ + 420, /* (430) compare_op ::= NK_LE */ + 420, /* (431) compare_op ::= NK_GE */ + 420, /* (432) compare_op ::= NK_NE */ + 420, /* (433) compare_op ::= NK_EQ */ + 420, /* (434) compare_op ::= LIKE */ + 420, /* (435) compare_op ::= NOT LIKE */ + 420, /* (436) compare_op ::= MATCH */ + 420, /* (437) compare_op ::= NMATCH */ + 420, /* (438) compare_op ::= CONTAINS */ + 421, /* (439) in_op ::= IN */ + 421, /* (440) in_op ::= NOT IN */ + 422, /* (441) in_predicate_value ::= NK_LP literal_list NK_RP */ + 423, /* (442) boolean_value_expression ::= boolean_primary */ + 423, /* (443) boolean_value_expression ::= NOT boolean_primary */ + 423, /* (444) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + 423, /* (445) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + 424, /* (446) boolean_primary ::= predicate */ + 424, /* (447) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + 417, /* (448) common_expression ::= expr_or_subquery */ + 417, /* (449) common_expression ::= boolean_value_expression */ + 425, /* (450) from_clause_opt ::= */ + 425, /* (451) from_clause_opt ::= FROM table_reference_list */ + 426, /* (452) table_reference_list ::= table_reference */ + 426, /* (453) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + 427, /* (454) table_reference ::= table_primary */ + 427, /* (455) table_reference ::= joined_table */ + 428, /* (456) table_primary ::= table_name alias_opt */ + 428, /* (457) table_primary ::= db_name NK_DOT table_name alias_opt */ + 428, /* (458) table_primary ::= subquery alias_opt */ + 428, /* (459) table_primary ::= parenthesized_joined_table */ + 430, /* (460) alias_opt ::= */ + 430, /* (461) alias_opt ::= table_alias */ + 430, /* (462) alias_opt ::= AS table_alias */ + 432, /* (463) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + 432, /* (464) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + 429, /* (465) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 433, /* (466) join_type ::= */ + 433, /* (467) join_type ::= INNER */ + 435, /* (468) query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ + 436, /* (469) set_quantifier_opt ::= */ + 436, /* (470) set_quantifier_opt ::= DISTINCT */ + 436, /* (471) set_quantifier_opt ::= ALL */ + 437, /* (472) select_list ::= select_item */ + 437, /* (473) select_list ::= select_list NK_COMMA select_item */ + 445, /* (474) select_item ::= NK_STAR */ + 445, /* (475) select_item ::= common_expression */ + 445, /* (476) select_item ::= common_expression column_alias */ + 445, /* (477) select_item ::= common_expression AS column_alias */ + 445, /* (478) select_item ::= table_name NK_DOT NK_STAR */ + 400, /* (479) where_clause_opt ::= */ + 400, /* (480) where_clause_opt ::= WHERE search_condition */ + 438, /* (481) partition_by_clause_opt ::= */ + 438, /* (482) partition_by_clause_opt ::= PARTITION BY partition_list */ + 446, /* (483) partition_list ::= partition_item */ + 446, /* (484) partition_list ::= partition_list NK_COMMA partition_item */ + 447, /* (485) partition_item ::= expr_or_subquery */ + 447, /* (486) partition_item ::= expr_or_subquery column_alias */ + 447, /* (487) partition_item ::= expr_or_subquery AS column_alias */ + 442, /* (488) twindow_clause_opt ::= */ + 442, /* (489) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ + 442, /* (490) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + 442, /* (491) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */ + 442, /* (492) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */ + 442, /* (493) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + 385, /* (494) sliding_opt ::= */ + 385, /* (495) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ + 441, /* (496) fill_opt ::= */ + 441, /* (497) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + 441, /* (498) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */ + 448, /* (499) fill_mode ::= NONE */ + 448, /* (500) fill_mode ::= PREV */ + 448, /* (501) fill_mode ::= NULL */ + 448, /* (502) fill_mode ::= LINEAR */ + 448, /* (503) fill_mode ::= NEXT */ + 443, /* (504) group_by_clause_opt ::= */ + 443, /* (505) group_by_clause_opt ::= GROUP BY group_by_list */ + 449, /* (506) group_by_list ::= expr_or_subquery */ + 449, /* (507) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 444, /* (508) having_clause_opt ::= */ + 444, /* (509) having_clause_opt ::= HAVING search_condition */ + 439, /* (510) range_opt ::= */ + 439, /* (511) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + 440, /* (512) every_opt ::= */ + 440, /* (513) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + 450, /* (514) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + 451, /* (515) query_simple ::= query_specification */ + 451, /* (516) query_simple ::= union_query_expression */ + 455, /* (517) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + 455, /* (518) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + 456, /* (519) query_simple_or_subquery ::= query_simple */ + 456, /* (520) query_simple_or_subquery ::= subquery */ + 389, /* (521) query_or_subquery ::= query_expression */ + 389, /* (522) query_or_subquery ::= subquery */ + 452, /* (523) order_by_clause_opt ::= */ + 452, /* (524) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 453, /* (525) slimit_clause_opt ::= */ + 453, /* (526) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + 453, /* (527) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + 453, /* (528) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 454, /* (529) limit_clause_opt ::= */ + 454, /* (530) limit_clause_opt ::= LIMIT NK_INTEGER */ + 454, /* (531) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + 454, /* (532) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 431, /* (533) subquery ::= NK_LP query_expression NK_RP */ + 431, /* (534) subquery ::= NK_LP subquery NK_RP */ + 434, /* (535) search_condition ::= common_expression */ + 457, /* (536) sort_specification_list ::= sort_specification */ + 457, /* (537) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + 458, /* (538) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 459, /* (539) ordering_specification_opt ::= */ + 459, /* (540) ordering_specification_opt ::= ASC */ + 459, /* (541) ordering_specification_opt ::= DESC */ + 460, /* (542) null_ordering_opt ::= */ + 460, /* (543) null_ordering_opt ::= NULLS FIRST */ + 460, /* (544) null_ordering_opt ::= NULLS LAST */ }; /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number @@ -3845,280 +3918,285 @@ static const signed char yyRuleInfoNRhs[] = { -12, /* (263) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ -1, /* (264) func_list ::= func */ -3, /* (265) func_list ::= func_list NK_COMMA func */ - -4, /* (266) func ::= function_name NK_LP expression_list NK_RP */ - 0, /* (267) sma_stream_opt ::= */ - -3, /* (268) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - -3, /* (269) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - -3, /* (270) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - -6, /* (271) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - -7, /* (272) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */ - -9, /* (273) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */ - -7, /* (274) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */ - -9, /* (275) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */ - -4, /* (276) cmd ::= DROP TOPIC exists_opt topic_name */ - -7, /* (277) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - -2, /* (278) cmd ::= DESC full_table_name */ - -2, /* (279) cmd ::= DESCRIBE full_table_name */ - -3, /* (280) cmd ::= RESET QUERY CACHE */ - -4, /* (281) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - 0, /* (282) analyze_opt ::= */ - -1, /* (283) analyze_opt ::= ANALYZE */ - 0, /* (284) explain_options ::= */ - -3, /* (285) explain_options ::= explain_options VERBOSE NK_BOOL */ - -3, /* (286) explain_options ::= explain_options RATIO NK_FLOAT */ - -10, /* (287) cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */ - -4, /* (288) cmd ::= DROP FUNCTION exists_opt function_name */ - 0, /* (289) agg_func_opt ::= */ - -1, /* (290) agg_func_opt ::= AGGREGATE */ - 0, /* (291) bufsize_opt ::= */ - -2, /* (292) bufsize_opt ::= BUFSIZE NK_INTEGER */ - -11, /* (293) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name tags_def_opt subtable_opt AS query_or_subquery */ - -4, /* (294) cmd ::= DROP STREAM exists_opt stream_name */ - 0, /* (295) stream_options ::= */ - -3, /* (296) stream_options ::= stream_options TRIGGER AT_ONCE */ - -3, /* (297) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - -4, /* (298) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - -3, /* (299) stream_options ::= stream_options WATERMARK duration_literal */ - -4, /* (300) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - -3, /* (301) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - 0, /* (302) subtable_opt ::= */ - -4, /* (303) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - -3, /* (304) cmd ::= KILL CONNECTION NK_INTEGER */ - -3, /* (305) cmd ::= KILL QUERY NK_STRING */ - -3, /* (306) cmd ::= KILL TRANSACTION NK_INTEGER */ - -2, /* (307) cmd ::= BALANCE VGROUP */ - -4, /* (308) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - -4, /* (309) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - -3, /* (310) cmd ::= SPLIT VGROUP NK_INTEGER */ - -2, /* (311) dnode_list ::= DNODE NK_INTEGER */ - -3, /* (312) dnode_list ::= dnode_list DNODE NK_INTEGER */ - -4, /* (313) cmd ::= DELETE FROM full_table_name where_clause_opt */ - -1, /* (314) cmd ::= query_or_subquery */ - -7, /* (315) cmd ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - -4, /* (316) cmd ::= INSERT INTO full_table_name query_or_subquery */ - -1, /* (317) literal ::= NK_INTEGER */ - -1, /* (318) literal ::= NK_FLOAT */ - -1, /* (319) literal ::= NK_STRING */ - -1, /* (320) literal ::= NK_BOOL */ - -2, /* (321) literal ::= TIMESTAMP NK_STRING */ - -1, /* (322) literal ::= duration_literal */ - -1, /* (323) literal ::= NULL */ - -1, /* (324) literal ::= NK_QUESTION */ - -1, /* (325) duration_literal ::= NK_VARIABLE */ - -1, /* (326) signed ::= NK_INTEGER */ - -2, /* (327) signed ::= NK_PLUS NK_INTEGER */ - -2, /* (328) signed ::= NK_MINUS NK_INTEGER */ - -1, /* (329) signed ::= NK_FLOAT */ - -2, /* (330) signed ::= NK_PLUS NK_FLOAT */ - -2, /* (331) signed ::= NK_MINUS NK_FLOAT */ - -1, /* (332) signed_literal ::= signed */ - -1, /* (333) signed_literal ::= NK_STRING */ - -1, /* (334) signed_literal ::= NK_BOOL */ - -2, /* (335) signed_literal ::= TIMESTAMP NK_STRING */ - -1, /* (336) signed_literal ::= duration_literal */ - -1, /* (337) signed_literal ::= NULL */ - -1, /* (338) signed_literal ::= literal_func */ - -1, /* (339) signed_literal ::= NK_QUESTION */ - -1, /* (340) literal_list ::= signed_literal */ - -3, /* (341) literal_list ::= literal_list NK_COMMA signed_literal */ - -1, /* (342) db_name ::= NK_ID */ - -1, /* (343) table_name ::= NK_ID */ - -1, /* (344) column_name ::= NK_ID */ - -1, /* (345) function_name ::= NK_ID */ - -1, /* (346) table_alias ::= NK_ID */ - -1, /* (347) column_alias ::= NK_ID */ - -1, /* (348) user_name ::= NK_ID */ - -1, /* (349) topic_name ::= NK_ID */ - -1, /* (350) stream_name ::= NK_ID */ - -1, /* (351) cgroup_name ::= NK_ID */ - -1, /* (352) expr_or_subquery ::= expression */ - -1, /* (353) expression ::= literal */ - -1, /* (354) expression ::= pseudo_column */ - -1, /* (355) expression ::= column_reference */ - -1, /* (356) expression ::= function_expression */ - -1, /* (357) expression ::= case_when_expression */ - -3, /* (358) expression ::= NK_LP expression NK_RP */ - -2, /* (359) expression ::= NK_PLUS expr_or_subquery */ - -2, /* (360) expression ::= NK_MINUS expr_or_subquery */ - -3, /* (361) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - -3, /* (362) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - -3, /* (363) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - -3, /* (364) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - -3, /* (365) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - -3, /* (366) expression ::= column_reference NK_ARROW NK_STRING */ - -3, /* (367) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - -3, /* (368) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - -1, /* (369) expression_list ::= expr_or_subquery */ - -3, /* (370) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - -1, /* (371) column_reference ::= column_name */ - -3, /* (372) column_reference ::= table_name NK_DOT column_name */ - -1, /* (373) pseudo_column ::= ROWTS */ - -1, /* (374) pseudo_column ::= TBNAME */ - -3, /* (375) pseudo_column ::= table_name NK_DOT TBNAME */ - -1, /* (376) pseudo_column ::= QSTART */ - -1, /* (377) pseudo_column ::= QEND */ - -1, /* (378) pseudo_column ::= QDURATION */ - -1, /* (379) pseudo_column ::= WSTART */ - -1, /* (380) pseudo_column ::= WEND */ - -1, /* (381) pseudo_column ::= WDURATION */ - -1, /* (382) pseudo_column ::= IROWTS */ - -1, /* (383) pseudo_column ::= ISFILLED */ - -1, /* (384) pseudo_column ::= QTAGS */ - -4, /* (385) function_expression ::= function_name NK_LP expression_list NK_RP */ - -4, /* (386) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - -6, /* (387) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - -1, /* (388) function_expression ::= literal_func */ - -3, /* (389) literal_func ::= noarg_func NK_LP NK_RP */ - -1, /* (390) literal_func ::= NOW */ - -1, /* (391) noarg_func ::= NOW */ - -1, /* (392) noarg_func ::= TODAY */ - -1, /* (393) noarg_func ::= TIMEZONE */ - -1, /* (394) noarg_func ::= DATABASE */ - -1, /* (395) noarg_func ::= CLIENT_VERSION */ - -1, /* (396) noarg_func ::= SERVER_VERSION */ - -1, /* (397) noarg_func ::= SERVER_STATUS */ - -1, /* (398) noarg_func ::= CURRENT_USER */ - -1, /* (399) noarg_func ::= USER */ - -1, /* (400) star_func ::= COUNT */ - -1, /* (401) star_func ::= FIRST */ - -1, /* (402) star_func ::= LAST */ - -1, /* (403) star_func ::= LAST_ROW */ - -1, /* (404) star_func_para_list ::= NK_STAR */ - -1, /* (405) star_func_para_list ::= other_para_list */ - -1, /* (406) other_para_list ::= star_func_para */ - -3, /* (407) other_para_list ::= other_para_list NK_COMMA star_func_para */ - -1, /* (408) star_func_para ::= expr_or_subquery */ - -3, /* (409) star_func_para ::= table_name NK_DOT NK_STAR */ - -4, /* (410) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - -5, /* (411) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - -1, /* (412) when_then_list ::= when_then_expr */ - -2, /* (413) when_then_list ::= when_then_list when_then_expr */ - -4, /* (414) when_then_expr ::= WHEN common_expression THEN common_expression */ - 0, /* (415) case_when_else_opt ::= */ - -2, /* (416) case_when_else_opt ::= ELSE common_expression */ - -3, /* (417) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - -5, /* (418) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - -6, /* (419) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - -3, /* (420) predicate ::= expr_or_subquery IS NULL */ - -4, /* (421) predicate ::= expr_or_subquery IS NOT NULL */ - -3, /* (422) predicate ::= expr_or_subquery in_op in_predicate_value */ - -1, /* (423) compare_op ::= NK_LT */ - -1, /* (424) compare_op ::= NK_GT */ - -1, /* (425) compare_op ::= NK_LE */ - -1, /* (426) compare_op ::= NK_GE */ - -1, /* (427) compare_op ::= NK_NE */ - -1, /* (428) compare_op ::= NK_EQ */ - -1, /* (429) compare_op ::= LIKE */ - -2, /* (430) compare_op ::= NOT LIKE */ - -1, /* (431) compare_op ::= MATCH */ - -1, /* (432) compare_op ::= NMATCH */ - -1, /* (433) compare_op ::= CONTAINS */ - -1, /* (434) in_op ::= IN */ - -2, /* (435) in_op ::= NOT IN */ - -3, /* (436) in_predicate_value ::= NK_LP literal_list NK_RP */ - -1, /* (437) boolean_value_expression ::= boolean_primary */ - -2, /* (438) boolean_value_expression ::= NOT boolean_primary */ - -3, /* (439) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - -3, /* (440) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - -1, /* (441) boolean_primary ::= predicate */ - -3, /* (442) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - -1, /* (443) common_expression ::= expr_or_subquery */ - -1, /* (444) common_expression ::= boolean_value_expression */ - 0, /* (445) from_clause_opt ::= */ - -2, /* (446) from_clause_opt ::= FROM table_reference_list */ - -1, /* (447) table_reference_list ::= table_reference */ - -3, /* (448) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - -1, /* (449) table_reference ::= table_primary */ - -1, /* (450) table_reference ::= joined_table */ - -2, /* (451) table_primary ::= table_name alias_opt */ - -4, /* (452) table_primary ::= db_name NK_DOT table_name alias_opt */ - -2, /* (453) table_primary ::= subquery alias_opt */ - -1, /* (454) table_primary ::= parenthesized_joined_table */ - 0, /* (455) alias_opt ::= */ - -1, /* (456) alias_opt ::= table_alias */ - -2, /* (457) alias_opt ::= AS table_alias */ - -3, /* (458) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - -3, /* (459) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - -6, /* (460) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 0, /* (461) join_type ::= */ - -1, /* (462) join_type ::= INNER */ - -12, /* (463) query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ - 0, /* (464) set_quantifier_opt ::= */ - -1, /* (465) set_quantifier_opt ::= DISTINCT */ - -1, /* (466) set_quantifier_opt ::= ALL */ - -1, /* (467) select_list ::= select_item */ - -3, /* (468) select_list ::= select_list NK_COMMA select_item */ - -1, /* (469) select_item ::= NK_STAR */ - -1, /* (470) select_item ::= common_expression */ - -2, /* (471) select_item ::= common_expression column_alias */ - -3, /* (472) select_item ::= common_expression AS column_alias */ - -3, /* (473) select_item ::= table_name NK_DOT NK_STAR */ - 0, /* (474) where_clause_opt ::= */ - -2, /* (475) where_clause_opt ::= WHERE search_condition */ - 0, /* (476) partition_by_clause_opt ::= */ - -3, /* (477) partition_by_clause_opt ::= PARTITION BY partition_list */ - -1, /* (478) partition_list ::= partition_item */ - -3, /* (479) partition_list ::= partition_list NK_COMMA partition_item */ - -1, /* (480) partition_item ::= expr_or_subquery */ - -2, /* (481) partition_item ::= expr_or_subquery column_alias */ - -3, /* (482) partition_item ::= expr_or_subquery AS column_alias */ - 0, /* (483) twindow_clause_opt ::= */ - -6, /* (484) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ - -4, /* (485) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - -6, /* (486) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */ - -8, /* (487) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */ - -7, /* (488) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - 0, /* (489) sliding_opt ::= */ - -4, /* (490) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ - 0, /* (491) fill_opt ::= */ - -4, /* (492) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - -6, /* (493) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */ - -1, /* (494) fill_mode ::= NONE */ - -1, /* (495) fill_mode ::= PREV */ - -1, /* (496) fill_mode ::= NULL */ - -1, /* (497) fill_mode ::= LINEAR */ - -1, /* (498) fill_mode ::= NEXT */ - 0, /* (499) group_by_clause_opt ::= */ - -3, /* (500) group_by_clause_opt ::= GROUP BY group_by_list */ - -1, /* (501) group_by_list ::= expr_or_subquery */ - -3, /* (502) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 0, /* (503) having_clause_opt ::= */ - -2, /* (504) having_clause_opt ::= HAVING search_condition */ - 0, /* (505) range_opt ::= */ - -6, /* (506) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 0, /* (507) every_opt ::= */ - -4, /* (508) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - -4, /* (509) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - -1, /* (510) query_simple ::= query_specification */ - -1, /* (511) query_simple ::= union_query_expression */ - -4, /* (512) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - -3, /* (513) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - -1, /* (514) query_simple_or_subquery ::= query_simple */ - -1, /* (515) query_simple_or_subquery ::= subquery */ - -1, /* (516) query_or_subquery ::= query_expression */ - -1, /* (517) query_or_subquery ::= subquery */ - 0, /* (518) order_by_clause_opt ::= */ - -3, /* (519) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 0, /* (520) slimit_clause_opt ::= */ - -2, /* (521) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - -4, /* (522) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - -4, /* (523) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 0, /* (524) limit_clause_opt ::= */ - -2, /* (525) limit_clause_opt ::= LIMIT NK_INTEGER */ - -4, /* (526) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - -4, /* (527) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - -3, /* (528) subquery ::= NK_LP query_expression NK_RP */ - -3, /* (529) subquery ::= NK_LP subquery NK_RP */ - -1, /* (530) search_condition ::= common_expression */ - -1, /* (531) sort_specification_list ::= sort_specification */ - -3, /* (532) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - -3, /* (533) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 0, /* (534) ordering_specification_opt ::= */ - -1, /* (535) ordering_specification_opt ::= ASC */ - -1, /* (536) ordering_specification_opt ::= DESC */ - 0, /* (537) null_ordering_opt ::= */ - -2, /* (538) null_ordering_opt ::= NULLS FIRST */ - -2, /* (539) null_ordering_opt ::= NULLS LAST */ + -4, /* (266) func ::= sma_func_name NK_LP expression_list NK_RP */ + -1, /* (267) sma_func_name ::= function_name */ + -1, /* (268) sma_func_name ::= COUNT */ + -1, /* (269) sma_func_name ::= FIRST */ + -1, /* (270) sma_func_name ::= LAST */ + -1, /* (271) sma_func_name ::= LAST_ROW */ + 0, /* (272) sma_stream_opt ::= */ + -3, /* (273) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + -3, /* (274) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + -3, /* (275) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + -6, /* (276) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + -7, /* (277) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */ + -9, /* (278) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */ + -7, /* (279) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */ + -9, /* (280) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */ + -4, /* (281) cmd ::= DROP TOPIC exists_opt topic_name */ + -7, /* (282) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + -2, /* (283) cmd ::= DESC full_table_name */ + -2, /* (284) cmd ::= DESCRIBE full_table_name */ + -3, /* (285) cmd ::= RESET QUERY CACHE */ + -4, /* (286) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + 0, /* (287) analyze_opt ::= */ + -1, /* (288) analyze_opt ::= ANALYZE */ + 0, /* (289) explain_options ::= */ + -3, /* (290) explain_options ::= explain_options VERBOSE NK_BOOL */ + -3, /* (291) explain_options ::= explain_options RATIO NK_FLOAT */ + -10, /* (292) cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */ + -4, /* (293) cmd ::= DROP FUNCTION exists_opt function_name */ + 0, /* (294) agg_func_opt ::= */ + -1, /* (295) agg_func_opt ::= AGGREGATE */ + 0, /* (296) bufsize_opt ::= */ + -2, /* (297) bufsize_opt ::= BUFSIZE NK_INTEGER */ + -11, /* (298) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name tags_def_opt subtable_opt AS query_or_subquery */ + -4, /* (299) cmd ::= DROP STREAM exists_opt stream_name */ + 0, /* (300) stream_options ::= */ + -3, /* (301) stream_options ::= stream_options TRIGGER AT_ONCE */ + -3, /* (302) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + -4, /* (303) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + -3, /* (304) stream_options ::= stream_options WATERMARK duration_literal */ + -4, /* (305) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + -3, /* (306) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + 0, /* (307) subtable_opt ::= */ + -4, /* (308) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + -3, /* (309) cmd ::= KILL CONNECTION NK_INTEGER */ + -3, /* (310) cmd ::= KILL QUERY NK_STRING */ + -3, /* (311) cmd ::= KILL TRANSACTION NK_INTEGER */ + -2, /* (312) cmd ::= BALANCE VGROUP */ + -4, /* (313) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + -4, /* (314) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + -3, /* (315) cmd ::= SPLIT VGROUP NK_INTEGER */ + -2, /* (316) dnode_list ::= DNODE NK_INTEGER */ + -3, /* (317) dnode_list ::= dnode_list DNODE NK_INTEGER */ + -4, /* (318) cmd ::= DELETE FROM full_table_name where_clause_opt */ + -1, /* (319) cmd ::= query_or_subquery */ + -7, /* (320) cmd ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + -4, /* (321) cmd ::= INSERT INTO full_table_name query_or_subquery */ + -1, /* (322) literal ::= NK_INTEGER */ + -1, /* (323) literal ::= NK_FLOAT */ + -1, /* (324) literal ::= NK_STRING */ + -1, /* (325) literal ::= NK_BOOL */ + -2, /* (326) literal ::= TIMESTAMP NK_STRING */ + -1, /* (327) literal ::= duration_literal */ + -1, /* (328) literal ::= NULL */ + -1, /* (329) literal ::= NK_QUESTION */ + -1, /* (330) duration_literal ::= NK_VARIABLE */ + -1, /* (331) signed ::= NK_INTEGER */ + -2, /* (332) signed ::= NK_PLUS NK_INTEGER */ + -2, /* (333) signed ::= NK_MINUS NK_INTEGER */ + -1, /* (334) signed ::= NK_FLOAT */ + -2, /* (335) signed ::= NK_PLUS NK_FLOAT */ + -2, /* (336) signed ::= NK_MINUS NK_FLOAT */ + -1, /* (337) signed_literal ::= signed */ + -1, /* (338) signed_literal ::= NK_STRING */ + -1, /* (339) signed_literal ::= NK_BOOL */ + -2, /* (340) signed_literal ::= TIMESTAMP NK_STRING */ + -1, /* (341) signed_literal ::= duration_literal */ + -1, /* (342) signed_literal ::= NULL */ + -1, /* (343) signed_literal ::= literal_func */ + -1, /* (344) signed_literal ::= NK_QUESTION */ + -1, /* (345) literal_list ::= signed_literal */ + -3, /* (346) literal_list ::= literal_list NK_COMMA signed_literal */ + -1, /* (347) db_name ::= NK_ID */ + -1, /* (348) table_name ::= NK_ID */ + -1, /* (349) column_name ::= NK_ID */ + -1, /* (350) function_name ::= NK_ID */ + -1, /* (351) table_alias ::= NK_ID */ + -1, /* (352) column_alias ::= NK_ID */ + -1, /* (353) user_name ::= NK_ID */ + -1, /* (354) topic_name ::= NK_ID */ + -1, /* (355) stream_name ::= NK_ID */ + -1, /* (356) cgroup_name ::= NK_ID */ + -1, /* (357) expr_or_subquery ::= expression */ + -1, /* (358) expression ::= literal */ + -1, /* (359) expression ::= pseudo_column */ + -1, /* (360) expression ::= column_reference */ + -1, /* (361) expression ::= function_expression */ + -1, /* (362) expression ::= case_when_expression */ + -3, /* (363) expression ::= NK_LP expression NK_RP */ + -2, /* (364) expression ::= NK_PLUS expr_or_subquery */ + -2, /* (365) expression ::= NK_MINUS expr_or_subquery */ + -3, /* (366) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + -3, /* (367) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + -3, /* (368) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + -3, /* (369) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + -3, /* (370) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + -3, /* (371) expression ::= column_reference NK_ARROW NK_STRING */ + -3, /* (372) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + -3, /* (373) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + -1, /* (374) expression_list ::= expr_or_subquery */ + -3, /* (375) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + -1, /* (376) column_reference ::= column_name */ + -3, /* (377) column_reference ::= table_name NK_DOT column_name */ + -1, /* (378) pseudo_column ::= ROWTS */ + -1, /* (379) pseudo_column ::= TBNAME */ + -3, /* (380) pseudo_column ::= table_name NK_DOT TBNAME */ + -1, /* (381) pseudo_column ::= QSTART */ + -1, /* (382) pseudo_column ::= QEND */ + -1, /* (383) pseudo_column ::= QDURATION */ + -1, /* (384) pseudo_column ::= WSTART */ + -1, /* (385) pseudo_column ::= WEND */ + -1, /* (386) pseudo_column ::= WDURATION */ + -1, /* (387) pseudo_column ::= IROWTS */ + -1, /* (388) pseudo_column ::= ISFILLED */ + -1, /* (389) pseudo_column ::= QTAGS */ + -4, /* (390) function_expression ::= function_name NK_LP expression_list NK_RP */ + -4, /* (391) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + -6, /* (392) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + -1, /* (393) function_expression ::= literal_func */ + -3, /* (394) literal_func ::= noarg_func NK_LP NK_RP */ + -1, /* (395) literal_func ::= NOW */ + -1, /* (396) noarg_func ::= NOW */ + -1, /* (397) noarg_func ::= TODAY */ + -1, /* (398) noarg_func ::= TIMEZONE */ + -1, /* (399) noarg_func ::= DATABASE */ + -1, /* (400) noarg_func ::= CLIENT_VERSION */ + -1, /* (401) noarg_func ::= SERVER_VERSION */ + -1, /* (402) noarg_func ::= SERVER_STATUS */ + -1, /* (403) noarg_func ::= CURRENT_USER */ + -1, /* (404) noarg_func ::= USER */ + -1, /* (405) star_func ::= COUNT */ + -1, /* (406) star_func ::= FIRST */ + -1, /* (407) star_func ::= LAST */ + -1, /* (408) star_func ::= LAST_ROW */ + -1, /* (409) star_func_para_list ::= NK_STAR */ + -1, /* (410) star_func_para_list ::= other_para_list */ + -1, /* (411) other_para_list ::= star_func_para */ + -3, /* (412) other_para_list ::= other_para_list NK_COMMA star_func_para */ + -1, /* (413) star_func_para ::= expr_or_subquery */ + -3, /* (414) star_func_para ::= table_name NK_DOT NK_STAR */ + -4, /* (415) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + -5, /* (416) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + -1, /* (417) when_then_list ::= when_then_expr */ + -2, /* (418) when_then_list ::= when_then_list when_then_expr */ + -4, /* (419) when_then_expr ::= WHEN common_expression THEN common_expression */ + 0, /* (420) case_when_else_opt ::= */ + -2, /* (421) case_when_else_opt ::= ELSE common_expression */ + -3, /* (422) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + -5, /* (423) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + -6, /* (424) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + -3, /* (425) predicate ::= expr_or_subquery IS NULL */ + -4, /* (426) predicate ::= expr_or_subquery IS NOT NULL */ + -3, /* (427) predicate ::= expr_or_subquery in_op in_predicate_value */ + -1, /* (428) compare_op ::= NK_LT */ + -1, /* (429) compare_op ::= NK_GT */ + -1, /* (430) compare_op ::= NK_LE */ + -1, /* (431) compare_op ::= NK_GE */ + -1, /* (432) compare_op ::= NK_NE */ + -1, /* (433) compare_op ::= NK_EQ */ + -1, /* (434) compare_op ::= LIKE */ + -2, /* (435) compare_op ::= NOT LIKE */ + -1, /* (436) compare_op ::= MATCH */ + -1, /* (437) compare_op ::= NMATCH */ + -1, /* (438) compare_op ::= CONTAINS */ + -1, /* (439) in_op ::= IN */ + -2, /* (440) in_op ::= NOT IN */ + -3, /* (441) in_predicate_value ::= NK_LP literal_list NK_RP */ + -1, /* (442) boolean_value_expression ::= boolean_primary */ + -2, /* (443) boolean_value_expression ::= NOT boolean_primary */ + -3, /* (444) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + -3, /* (445) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + -1, /* (446) boolean_primary ::= predicate */ + -3, /* (447) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + -1, /* (448) common_expression ::= expr_or_subquery */ + -1, /* (449) common_expression ::= boolean_value_expression */ + 0, /* (450) from_clause_opt ::= */ + -2, /* (451) from_clause_opt ::= FROM table_reference_list */ + -1, /* (452) table_reference_list ::= table_reference */ + -3, /* (453) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + -1, /* (454) table_reference ::= table_primary */ + -1, /* (455) table_reference ::= joined_table */ + -2, /* (456) table_primary ::= table_name alias_opt */ + -4, /* (457) table_primary ::= db_name NK_DOT table_name alias_opt */ + -2, /* (458) table_primary ::= subquery alias_opt */ + -1, /* (459) table_primary ::= parenthesized_joined_table */ + 0, /* (460) alias_opt ::= */ + -1, /* (461) alias_opt ::= table_alias */ + -2, /* (462) alias_opt ::= AS table_alias */ + -3, /* (463) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + -3, /* (464) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + -6, /* (465) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 0, /* (466) join_type ::= */ + -1, /* (467) join_type ::= INNER */ + -12, /* (468) query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ + 0, /* (469) set_quantifier_opt ::= */ + -1, /* (470) set_quantifier_opt ::= DISTINCT */ + -1, /* (471) set_quantifier_opt ::= ALL */ + -1, /* (472) select_list ::= select_item */ + -3, /* (473) select_list ::= select_list NK_COMMA select_item */ + -1, /* (474) select_item ::= NK_STAR */ + -1, /* (475) select_item ::= common_expression */ + -2, /* (476) select_item ::= common_expression column_alias */ + -3, /* (477) select_item ::= common_expression AS column_alias */ + -3, /* (478) select_item ::= table_name NK_DOT NK_STAR */ + 0, /* (479) where_clause_opt ::= */ + -2, /* (480) where_clause_opt ::= WHERE search_condition */ + 0, /* (481) partition_by_clause_opt ::= */ + -3, /* (482) partition_by_clause_opt ::= PARTITION BY partition_list */ + -1, /* (483) partition_list ::= partition_item */ + -3, /* (484) partition_list ::= partition_list NK_COMMA partition_item */ + -1, /* (485) partition_item ::= expr_or_subquery */ + -2, /* (486) partition_item ::= expr_or_subquery column_alias */ + -3, /* (487) partition_item ::= expr_or_subquery AS column_alias */ + 0, /* (488) twindow_clause_opt ::= */ + -6, /* (489) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ + -4, /* (490) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + -6, /* (491) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */ + -8, /* (492) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */ + -7, /* (493) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + 0, /* (494) sliding_opt ::= */ + -4, /* (495) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ + 0, /* (496) fill_opt ::= */ + -4, /* (497) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + -6, /* (498) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */ + -1, /* (499) fill_mode ::= NONE */ + -1, /* (500) fill_mode ::= PREV */ + -1, /* (501) fill_mode ::= NULL */ + -1, /* (502) fill_mode ::= LINEAR */ + -1, /* (503) fill_mode ::= NEXT */ + 0, /* (504) group_by_clause_opt ::= */ + -3, /* (505) group_by_clause_opt ::= GROUP BY group_by_list */ + -1, /* (506) group_by_list ::= expr_or_subquery */ + -3, /* (507) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 0, /* (508) having_clause_opt ::= */ + -2, /* (509) having_clause_opt ::= HAVING search_condition */ + 0, /* (510) range_opt ::= */ + -6, /* (511) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + 0, /* (512) every_opt ::= */ + -4, /* (513) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + -4, /* (514) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + -1, /* (515) query_simple ::= query_specification */ + -1, /* (516) query_simple ::= union_query_expression */ + -4, /* (517) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + -3, /* (518) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + -1, /* (519) query_simple_or_subquery ::= query_simple */ + -1, /* (520) query_simple_or_subquery ::= subquery */ + -1, /* (521) query_or_subquery ::= query_expression */ + -1, /* (522) query_or_subquery ::= subquery */ + 0, /* (523) order_by_clause_opt ::= */ + -3, /* (524) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 0, /* (525) slimit_clause_opt ::= */ + -2, /* (526) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + -4, /* (527) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + -4, /* (528) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 0, /* (529) limit_clause_opt ::= */ + -2, /* (530) limit_clause_opt ::= LIMIT NK_INTEGER */ + -4, /* (531) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + -4, /* (532) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + -3, /* (533) subquery ::= NK_LP query_expression NK_RP */ + -3, /* (534) subquery ::= NK_LP subquery NK_RP */ + -1, /* (535) search_condition ::= common_expression */ + -1, /* (536) sort_specification_list ::= sort_specification */ + -3, /* (537) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + -3, /* (538) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 0, /* (539) ordering_specification_opt ::= */ + -1, /* (540) ordering_specification_opt ::= ASC */ + -1, /* (541) ordering_specification_opt ::= DESC */ + 0, /* (542) null_ordering_opt ::= */ + -2, /* (543) null_ordering_opt ::= NULLS FIRST */ + -2, /* (544) null_ordering_opt ::= NULLS LAST */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -4258,77 +4336,78 @@ static YYACTIONTYPE yy_reduce( yy_destructor(yypParser,328,&yymsp[0].minor); break; case 24: /* cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt */ -{ pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-3].minor.yy849, &yymsp[-1].minor.yy0, yymsp[0].minor.yy383); } +{ pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-3].minor.yy77, &yymsp[-1].minor.yy0, yymsp[0].minor.yy287); } break; case 25: /* cmd ::= ALTER USER user_name PASS NK_STRING */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy849, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy77, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } break; case 26: /* cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy849, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy77, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } break; case 27: /* cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy849, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy77, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } break; case 28: /* cmd ::= DROP USER user_name */ -{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy849); } +{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy77); } break; case 29: /* sysinfo_opt ::= */ -{ yymsp[1].minor.yy383 = 1; } +{ yymsp[1].minor.yy287 = 1; } break; case 30: /* sysinfo_opt ::= SYSINFO NK_INTEGER */ -{ yymsp[-1].minor.yy383 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } +{ yymsp[-1].minor.yy287 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } break; case 31: /* cmd ::= GRANT privileges ON priv_level TO user_name */ -{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-4].minor.yy869, &yymsp[-2].minor.yy849, &yymsp[0].minor.yy849); } +{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-4].minor.yy717, &yymsp[-2].minor.yy77, &yymsp[0].minor.yy77); } break; case 32: /* cmd ::= REVOKE privileges ON priv_level FROM user_name */ -{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-4].minor.yy869, &yymsp[-2].minor.yy849, &yymsp[0].minor.yy849); } +{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-4].minor.yy717, &yymsp[-2].minor.yy77, &yymsp[0].minor.yy77); } break; case 33: /* privileges ::= ALL */ -{ yymsp[0].minor.yy869 = PRIVILEGE_TYPE_ALL; } +{ yymsp[0].minor.yy717 = PRIVILEGE_TYPE_ALL; } break; case 34: /* privileges ::= priv_type_list */ case 36: /* priv_type_list ::= priv_type */ yytestcase(yyruleno==36); -{ yylhsminor.yy869 = yymsp[0].minor.yy869; } - yymsp[0].minor.yy869 = yylhsminor.yy869; +{ yylhsminor.yy717 = yymsp[0].minor.yy717; } + yymsp[0].minor.yy717 = yylhsminor.yy717; break; case 35: /* privileges ::= SUBSCRIBE */ -{ yymsp[0].minor.yy869 = PRIVILEGE_TYPE_SUBSCRIBE; } +{ yymsp[0].minor.yy717 = PRIVILEGE_TYPE_SUBSCRIBE; } break; case 37: /* priv_type_list ::= priv_type_list NK_COMMA priv_type */ -{ yylhsminor.yy869 = yymsp[-2].minor.yy869 | yymsp[0].minor.yy869; } - yymsp[-2].minor.yy869 = yylhsminor.yy869; +{ yylhsminor.yy717 = yymsp[-2].minor.yy717 | yymsp[0].minor.yy717; } + yymsp[-2].minor.yy717 = yylhsminor.yy717; break; case 38: /* priv_type ::= READ */ -{ yymsp[0].minor.yy869 = PRIVILEGE_TYPE_READ; } +{ yymsp[0].minor.yy717 = PRIVILEGE_TYPE_READ; } break; case 39: /* priv_type ::= WRITE */ -{ yymsp[0].minor.yy869 = PRIVILEGE_TYPE_WRITE; } +{ yymsp[0].minor.yy717 = PRIVILEGE_TYPE_WRITE; } break; case 40: /* priv_level ::= NK_STAR NK_DOT NK_STAR */ -{ yylhsminor.yy849 = yymsp[-2].minor.yy0; } - yymsp[-2].minor.yy849 = yylhsminor.yy849; +{ yylhsminor.yy77 = yymsp[-2].minor.yy0; } + yymsp[-2].minor.yy77 = yylhsminor.yy77; break; case 41: /* priv_level ::= db_name NK_DOT NK_STAR */ -{ yylhsminor.yy849 = yymsp[-2].minor.yy849; } - yymsp[-2].minor.yy849 = yylhsminor.yy849; +{ yylhsminor.yy77 = yymsp[-2].minor.yy77; } + yymsp[-2].minor.yy77 = yylhsminor.yy77; break; case 42: /* priv_level ::= topic_name */ - case 456: /* alias_opt ::= table_alias */ yytestcase(yyruleno==456); -{ yylhsminor.yy849 = yymsp[0].minor.yy849; } - yymsp[0].minor.yy849 = yylhsminor.yy849; + case 267: /* sma_func_name ::= function_name */ yytestcase(yyruleno==267); + case 461: /* alias_opt ::= table_alias */ yytestcase(yyruleno==461); +{ yylhsminor.yy77 = yymsp[0].minor.yy77; } + yymsp[0].minor.yy77 = yylhsminor.yy77; break; case 43: /* cmd ::= CREATE DNODE dnode_endpoint */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy849, NULL); } +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy77, NULL); } break; case 44: /* cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy849, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy77, &yymsp[0].minor.yy0); } break; case 45: /* cmd ::= DROP DNODE NK_INTEGER force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy57); } +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy841); } break; case 46: /* cmd ::= DROP DNODE dnode_endpoint force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy849, yymsp[0].minor.yy57); } +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy77, yymsp[0].minor.yy841); } break; case 47: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ { pCxt->pRootNode = createAlterDnodeStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, NULL); } @@ -4345,45 +4424,49 @@ static YYACTIONTYPE yy_reduce( case 51: /* dnode_endpoint ::= NK_STRING */ case 52: /* dnode_endpoint ::= NK_ID */ yytestcase(yyruleno==52); case 53: /* dnode_endpoint ::= NK_IPTOKEN */ yytestcase(yyruleno==53); - case 342: /* db_name ::= NK_ID */ yytestcase(yyruleno==342); - case 343: /* table_name ::= NK_ID */ yytestcase(yyruleno==343); - case 344: /* column_name ::= NK_ID */ yytestcase(yyruleno==344); - case 345: /* function_name ::= NK_ID */ yytestcase(yyruleno==345); - case 346: /* table_alias ::= NK_ID */ yytestcase(yyruleno==346); - case 347: /* column_alias ::= NK_ID */ yytestcase(yyruleno==347); - case 348: /* user_name ::= NK_ID */ yytestcase(yyruleno==348); - case 349: /* topic_name ::= NK_ID */ yytestcase(yyruleno==349); - case 350: /* stream_name ::= NK_ID */ yytestcase(yyruleno==350); - case 351: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==351); - case 391: /* noarg_func ::= NOW */ yytestcase(yyruleno==391); - case 392: /* noarg_func ::= TODAY */ yytestcase(yyruleno==392); - case 393: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==393); - case 394: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==394); - case 395: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==395); - case 396: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==396); - case 397: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==397); - case 398: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==398); - case 399: /* noarg_func ::= USER */ yytestcase(yyruleno==399); - case 400: /* star_func ::= COUNT */ yytestcase(yyruleno==400); - case 401: /* star_func ::= FIRST */ yytestcase(yyruleno==401); - case 402: /* star_func ::= LAST */ yytestcase(yyruleno==402); - case 403: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==403); -{ yylhsminor.yy849 = yymsp[0].minor.yy0; } - yymsp[0].minor.yy849 = yylhsminor.yy849; + case 268: /* sma_func_name ::= COUNT */ yytestcase(yyruleno==268); + case 269: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==269); + case 270: /* sma_func_name ::= LAST */ yytestcase(yyruleno==270); + case 271: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==271); + case 347: /* db_name ::= NK_ID */ yytestcase(yyruleno==347); + case 348: /* table_name ::= NK_ID */ yytestcase(yyruleno==348); + case 349: /* column_name ::= NK_ID */ yytestcase(yyruleno==349); + case 350: /* function_name ::= NK_ID */ yytestcase(yyruleno==350); + case 351: /* table_alias ::= NK_ID */ yytestcase(yyruleno==351); + case 352: /* column_alias ::= NK_ID */ yytestcase(yyruleno==352); + case 353: /* user_name ::= NK_ID */ yytestcase(yyruleno==353); + case 354: /* topic_name ::= NK_ID */ yytestcase(yyruleno==354); + case 355: /* stream_name ::= NK_ID */ yytestcase(yyruleno==355); + case 356: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==356); + case 396: /* noarg_func ::= NOW */ yytestcase(yyruleno==396); + case 397: /* noarg_func ::= TODAY */ yytestcase(yyruleno==397); + case 398: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==398); + case 399: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==399); + case 400: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==400); + case 401: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==401); + case 402: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==402); + case 403: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==403); + case 404: /* noarg_func ::= USER */ yytestcase(yyruleno==404); + case 405: /* star_func ::= COUNT */ yytestcase(yyruleno==405); + case 406: /* star_func ::= FIRST */ yytestcase(yyruleno==406); + case 407: /* star_func ::= LAST */ yytestcase(yyruleno==407); + case 408: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==408); +{ yylhsminor.yy77 = yymsp[0].minor.yy0; } + yymsp[0].minor.yy77 = yylhsminor.yy77; break; case 54: /* force_opt ::= */ case 73: /* not_exists_opt ::= */ yytestcase(yyruleno==73); case 75: /* exists_opt ::= */ yytestcase(yyruleno==75); - case 282: /* analyze_opt ::= */ yytestcase(yyruleno==282); - case 289: /* agg_func_opt ::= */ yytestcase(yyruleno==289); - case 464: /* set_quantifier_opt ::= */ yytestcase(yyruleno==464); -{ yymsp[1].minor.yy57 = false; } + case 287: /* analyze_opt ::= */ yytestcase(yyruleno==287); + case 294: /* agg_func_opt ::= */ yytestcase(yyruleno==294); + case 469: /* set_quantifier_opt ::= */ yytestcase(yyruleno==469); +{ yymsp[1].minor.yy841 = false; } break; case 55: /* force_opt ::= FORCE */ - case 283: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==283); - case 290: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==290); - case 465: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==465); -{ yymsp[0].minor.yy57 = true; } + case 288: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==288); + case 295: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==295); + case 470: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==470); +{ yymsp[0].minor.yy841 = true; } break; case 56: /* cmd ::= ALTER LOCAL NK_STRING */ { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[0].minor.yy0, NULL); } @@ -4416,206 +4499,206 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_MNODE_STMT, &yymsp[0].minor.yy0); } break; case 66: /* cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ -{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy57, &yymsp[-1].minor.yy849, yymsp[0].minor.yy752); } +{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy841, &yymsp[-1].minor.yy77, yymsp[0].minor.yy600); } break; case 67: /* cmd ::= DROP DATABASE exists_opt db_name */ -{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy57, &yymsp[0].minor.yy849); } +{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy841, &yymsp[0].minor.yy77); } break; case 68: /* cmd ::= USE db_name */ -{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy849); } +{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy77); } break; case 69: /* cmd ::= ALTER DATABASE db_name alter_db_options */ -{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy849, yymsp[0].minor.yy752); } +{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy77, yymsp[0].minor.yy600); } break; case 70: /* cmd ::= FLUSH DATABASE db_name */ -{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy849); } +{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy77); } break; case 71: /* cmd ::= TRIM DATABASE db_name speed_opt */ -{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy849, yymsp[0].minor.yy340); } +{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy77, yymsp[0].minor.yy248); } break; case 72: /* not_exists_opt ::= IF NOT EXISTS */ -{ yymsp[-2].minor.yy57 = true; } +{ yymsp[-2].minor.yy841 = true; } break; case 74: /* exists_opt ::= IF EXISTS */ -{ yymsp[-1].minor.yy57 = true; } +{ yymsp[-1].minor.yy841 = true; } break; case 76: /* db_options ::= */ -{ yymsp[1].minor.yy752 = createDefaultDatabaseOptions(pCxt); } +{ yymsp[1].minor.yy600 = createDefaultDatabaseOptions(pCxt); } break; case 77: /* db_options ::= db_options BUFFER NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 78: /* db_options ::= db_options CACHEMODEL NK_STRING */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 79: /* db_options ::= db_options CACHESIZE NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 80: /* db_options ::= db_options COMP NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_COMP, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_COMP, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 81: /* db_options ::= db_options DURATION NK_INTEGER */ case 82: /* db_options ::= db_options DURATION NK_VARIABLE */ yytestcase(yyruleno==82); -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 83: /* db_options ::= db_options MAXROWS NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 84: /* db_options ::= db_options MINROWS NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 85: /* db_options ::= db_options KEEP integer_list */ case 86: /* db_options ::= db_options KEEP variable_list */ yytestcase(yyruleno==86); -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_KEEP, yymsp[0].minor.yy424); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_KEEP, yymsp[0].minor.yy601); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 87: /* db_options ::= db_options PAGES NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 88: /* db_options ::= db_options PAGESIZE NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 89: /* db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 90: /* db_options ::= db_options PRECISION NK_STRING */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 91: /* db_options ::= db_options REPLICA NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 92: /* db_options ::= db_options VGROUPS NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 93: /* db_options ::= db_options SINGLE_STABLE NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 94: /* db_options ::= db_options RETENTIONS retention_list */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_RETENTIONS, yymsp[0].minor.yy424); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_RETENTIONS, yymsp[0].minor.yy601); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 95: /* db_options ::= db_options SCHEMALESS NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 96: /* db_options ::= db_options WAL_LEVEL NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_WAL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_WAL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 97: /* db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 98: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 99: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-3].minor.yy752, DB_OPTION_WAL_RETENTION_PERIOD, &t); + yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-3].minor.yy600, DB_OPTION_WAL_RETENTION_PERIOD, &t); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; case 100: /* db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 101: /* db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-3].minor.yy752, DB_OPTION_WAL_RETENTION_SIZE, &t); + yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-3].minor.yy600, DB_OPTION_WAL_RETENTION_SIZE, &t); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; case 102: /* db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 103: /* db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 104: /* db_options ::= db_options STT_TRIGGER NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 105: /* db_options ::= db_options TABLE_PREFIX NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_TABLE_PREFIX, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_TABLE_PREFIX, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 106: /* db_options ::= db_options TABLE_SUFFIX NK_INTEGER */ -{ yylhsminor.yy752 = setDatabaseOption(pCxt, yymsp[-2].minor.yy752, DB_OPTION_TABLE_SUFFIX, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_TABLE_SUFFIX, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 107: /* alter_db_options ::= alter_db_option */ -{ yylhsminor.yy752 = createAlterDatabaseOptions(pCxt); yylhsminor.yy752 = setAlterDatabaseOption(pCxt, yylhsminor.yy752, &yymsp[0].minor.yy5); } - yymsp[0].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterDatabaseOptions(pCxt); yylhsminor.yy600 = setAlterDatabaseOption(pCxt, yylhsminor.yy600, &yymsp[0].minor.yy661); } + yymsp[0].minor.yy600 = yylhsminor.yy600; break; case 108: /* alter_db_options ::= alter_db_options alter_db_option */ -{ yylhsminor.yy752 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy752, &yymsp[0].minor.yy5); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy600, &yymsp[0].minor.yy661); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; case 109: /* alter_db_option ::= BUFFER NK_INTEGER */ -{ yymsp[-1].minor.yy5.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy5.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy661.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy661.val = yymsp[0].minor.yy0; } break; case 110: /* alter_db_option ::= CACHEMODEL NK_STRING */ -{ yymsp[-1].minor.yy5.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy5.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy661.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy661.val = yymsp[0].minor.yy0; } break; case 111: /* alter_db_option ::= CACHESIZE NK_INTEGER */ -{ yymsp[-1].minor.yy5.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy5.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy661.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy661.val = yymsp[0].minor.yy0; } break; case 112: /* alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ -{ yymsp[-1].minor.yy5.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy5.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy661.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy661.val = yymsp[0].minor.yy0; } break; case 113: /* alter_db_option ::= KEEP integer_list */ case 114: /* alter_db_option ::= KEEP variable_list */ yytestcase(yyruleno==114); -{ yymsp[-1].minor.yy5.type = DB_OPTION_KEEP; yymsp[-1].minor.yy5.pList = yymsp[0].minor.yy424; } +{ yymsp[-1].minor.yy661.type = DB_OPTION_KEEP; yymsp[-1].minor.yy661.pList = yymsp[0].minor.yy601; } break; case 115: /* alter_db_option ::= PAGES NK_INTEGER */ -{ yymsp[-1].minor.yy5.type = DB_OPTION_PAGES; yymsp[-1].minor.yy5.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy661.type = DB_OPTION_PAGES; yymsp[-1].minor.yy661.val = yymsp[0].minor.yy0; } break; case 116: /* alter_db_option ::= REPLICA NK_INTEGER */ -{ yymsp[-1].minor.yy5.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy5.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy661.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy661.val = yymsp[0].minor.yy0; } break; case 117: /* alter_db_option ::= WAL_LEVEL NK_INTEGER */ -{ yymsp[-1].minor.yy5.type = DB_OPTION_WAL; yymsp[-1].minor.yy5.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy661.type = DB_OPTION_WAL; yymsp[-1].minor.yy661.val = yymsp[0].minor.yy0; } break; case 118: /* alter_db_option ::= STT_TRIGGER NK_INTEGER */ -{ yymsp[-1].minor.yy5.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy5.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy661.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy661.val = yymsp[0].minor.yy0; } break; case 119: /* integer_list ::= NK_INTEGER */ -{ yylhsminor.yy424 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy424 = yylhsminor.yy424; +{ yylhsminor.yy601 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy601 = yylhsminor.yy601; break; case 120: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ - case 312: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==312); -{ yylhsminor.yy424 = addNodeToList(pCxt, yymsp[-2].minor.yy424, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy424 = yylhsminor.yy424; + case 317: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==317); +{ yylhsminor.yy601 = addNodeToList(pCxt, yymsp[-2].minor.yy601, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy601 = yylhsminor.yy601; break; case 121: /* variable_list ::= NK_VARIABLE */ -{ yylhsminor.yy424 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy424 = yylhsminor.yy424; +{ yylhsminor.yy601 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy601 = yylhsminor.yy601; break; case 122: /* variable_list ::= variable_list NK_COMMA NK_VARIABLE */ -{ yylhsminor.yy424 = addNodeToList(pCxt, yymsp[-2].minor.yy424, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy424 = yylhsminor.yy424; +{ yylhsminor.yy601 = addNodeToList(pCxt, yymsp[-2].minor.yy601, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy601 = yylhsminor.yy601; break; case 123: /* retention_list ::= retention */ case 145: /* multi_create_clause ::= create_subtable_clause */ yytestcase(yyruleno==145); @@ -4625,14 +4708,14 @@ static YYACTIONTYPE yy_reduce( case 204: /* col_name_list ::= col_name */ yytestcase(yyruleno==204); case 253: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==253); case 264: /* func_list ::= func */ yytestcase(yyruleno==264); - case 340: /* literal_list ::= signed_literal */ yytestcase(yyruleno==340); - case 406: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==406); - case 412: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==412); - case 467: /* select_list ::= select_item */ yytestcase(yyruleno==467); - case 478: /* partition_list ::= partition_item */ yytestcase(yyruleno==478); - case 531: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==531); -{ yylhsminor.yy424 = createNodeList(pCxt, yymsp[0].minor.yy752); } - yymsp[0].minor.yy424 = yylhsminor.yy424; + case 345: /* literal_list ::= signed_literal */ yytestcase(yyruleno==345); + case 411: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==411); + case 417: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==417); + case 472: /* select_list ::= select_item */ yytestcase(yyruleno==472); + case 483: /* partition_list ::= partition_item */ yytestcase(yyruleno==483); + case 536: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==536); +{ yylhsminor.yy601 = createNodeList(pCxt, yymsp[0].minor.yy600); } + yymsp[0].minor.yy601 = yylhsminor.yy601; break; case 124: /* retention_list ::= retention_list NK_COMMA retention */ case 156: /* column_def_list ::= column_def_list NK_COMMA column_def */ yytestcase(yyruleno==156); @@ -4640,271 +4723,271 @@ static YYACTIONTYPE yy_reduce( case 205: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==205); case 254: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==254); case 265: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==265); - case 341: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==341); - case 407: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==407); - case 468: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==468); - case 479: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==479); - case 532: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==532); -{ yylhsminor.yy424 = addNodeToList(pCxt, yymsp[-2].minor.yy424, yymsp[0].minor.yy752); } - yymsp[-2].minor.yy424 = yylhsminor.yy424; + case 346: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==346); + case 412: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==412); + case 473: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==473); + case 484: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==484); + case 537: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==537); +{ yylhsminor.yy601 = addNodeToList(pCxt, yymsp[-2].minor.yy601, yymsp[0].minor.yy600); } + yymsp[-2].minor.yy601 = yylhsminor.yy601; break; case 125: /* retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ -{ yylhsminor.yy752 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 126: /* speed_opt ::= */ - case 291: /* bufsize_opt ::= */ yytestcase(yyruleno==291); -{ yymsp[1].minor.yy340 = 0; } + case 296: /* bufsize_opt ::= */ yytestcase(yyruleno==296); +{ yymsp[1].minor.yy248 = 0; } break; case 127: /* speed_opt ::= MAX_SPEED NK_INTEGER */ - case 292: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==292); -{ yymsp[-1].minor.yy340 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } + case 297: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==297); +{ yymsp[-1].minor.yy248 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } break; case 128: /* cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ case 130: /* cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ yytestcase(yyruleno==130); -{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy57, yymsp[-5].minor.yy752, yymsp[-3].minor.yy424, yymsp[-1].minor.yy424, yymsp[0].minor.yy752); } +{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy841, yymsp[-5].minor.yy600, yymsp[-3].minor.yy601, yymsp[-1].minor.yy601, yymsp[0].minor.yy600); } break; case 129: /* cmd ::= CREATE TABLE multi_create_clause */ -{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy424); } +{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy601); } break; case 131: /* cmd ::= DROP TABLE multi_drop_clause */ -{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy424); } +{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy601); } break; case 132: /* cmd ::= DROP STABLE exists_opt full_table_name */ -{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy57, yymsp[0].minor.yy752); } +{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy841, yymsp[0].minor.yy600); } break; case 133: /* cmd ::= ALTER TABLE alter_table_clause */ - case 314: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==314); -{ pCxt->pRootNode = yymsp[0].minor.yy752; } + case 319: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==319); +{ pCxt->pRootNode = yymsp[0].minor.yy600; } break; case 134: /* cmd ::= ALTER STABLE alter_table_clause */ -{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy752); } +{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy600); } break; case 135: /* alter_table_clause ::= full_table_name alter_table_options */ -{ yylhsminor.yy752 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy752, yymsp[0].minor.yy752); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; case 136: /* alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ -{ yylhsminor.yy752 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy752, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy849, yymsp[0].minor.yy384); } - yymsp[-4].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy77, yymsp[0].minor.yy888); } + yymsp[-4].minor.yy600 = yylhsminor.yy600; break; case 137: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ -{ yylhsminor.yy752 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy752, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy849); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy600, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy77); } + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; case 138: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ -{ yylhsminor.yy752 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy752, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy849, yymsp[0].minor.yy384); } - yymsp[-4].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy77, yymsp[0].minor.yy888); } + yymsp[-4].minor.yy600 = yylhsminor.yy600; break; case 139: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ -{ yylhsminor.yy752 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy752, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy849, &yymsp[0].minor.yy849); } - yymsp[-4].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy77, &yymsp[0].minor.yy77); } + yymsp[-4].minor.yy600 = yylhsminor.yy600; break; case 140: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ -{ yylhsminor.yy752 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy752, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy849, yymsp[0].minor.yy384); } - yymsp[-4].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy77, yymsp[0].minor.yy888); } + yymsp[-4].minor.yy600 = yylhsminor.yy600; break; case 141: /* alter_table_clause ::= full_table_name DROP TAG column_name */ -{ yylhsminor.yy752 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy752, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy849); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy600, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy77); } + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; case 142: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ -{ yylhsminor.yy752 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy752, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy849, yymsp[0].minor.yy384); } - yymsp[-4].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy77, yymsp[0].minor.yy888); } + yymsp[-4].minor.yy600 = yylhsminor.yy600; break; case 143: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ -{ yylhsminor.yy752 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy752, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy849, &yymsp[0].minor.yy849); } - yymsp[-4].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy77, &yymsp[0].minor.yy77); } + yymsp[-4].minor.yy600 = yylhsminor.yy600; break; case 144: /* alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ -{ yylhsminor.yy752 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy752, &yymsp[-2].minor.yy849, yymsp[0].minor.yy752); } - yymsp[-5].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy600, &yymsp[-2].minor.yy77, yymsp[0].minor.yy600); } + yymsp[-5].minor.yy600 = yylhsminor.yy600; break; case 146: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ case 149: /* multi_drop_clause ::= multi_drop_clause drop_table_clause */ yytestcase(yyruleno==149); - case 413: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==413); -{ yylhsminor.yy424 = addNodeToList(pCxt, yymsp[-1].minor.yy424, yymsp[0].minor.yy752); } - yymsp[-1].minor.yy424 = yylhsminor.yy424; + case 418: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==418); +{ yylhsminor.yy601 = addNodeToList(pCxt, yymsp[-1].minor.yy601, yymsp[0].minor.yy600); } + yymsp[-1].minor.yy601 = yylhsminor.yy601; break; case 147: /* create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ -{ yylhsminor.yy752 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy57, yymsp[-8].minor.yy752, yymsp[-6].minor.yy752, yymsp[-5].minor.yy424, yymsp[-2].minor.yy424, yymsp[0].minor.yy752); } - yymsp[-9].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy841, yymsp[-8].minor.yy600, yymsp[-6].minor.yy600, yymsp[-5].minor.yy601, yymsp[-2].minor.yy601, yymsp[0].minor.yy600); } + yymsp[-9].minor.yy600 = yylhsminor.yy600; break; case 150: /* drop_table_clause ::= exists_opt full_table_name */ -{ yylhsminor.yy752 = createDropTableClause(pCxt, yymsp[-1].minor.yy57, yymsp[0].minor.yy752); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createDropTableClause(pCxt, yymsp[-1].minor.yy841, yymsp[0].minor.yy600); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; case 151: /* specific_cols_opt ::= */ case 182: /* tags_def_opt ::= */ yytestcase(yyruleno==182); case 252: /* tag_list_opt ::= */ yytestcase(yyruleno==252); - case 476: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==476); - case 499: /* group_by_clause_opt ::= */ yytestcase(yyruleno==499); - case 518: /* order_by_clause_opt ::= */ yytestcase(yyruleno==518); -{ yymsp[1].minor.yy424 = NULL; } + case 481: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==481); + case 504: /* group_by_clause_opt ::= */ yytestcase(yyruleno==504); + case 523: /* order_by_clause_opt ::= */ yytestcase(yyruleno==523); +{ yymsp[1].minor.yy601 = NULL; } break; case 152: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ -{ yymsp[-2].minor.yy424 = yymsp[-1].minor.yy424; } +{ yymsp[-2].minor.yy601 = yymsp[-1].minor.yy601; } break; case 153: /* full_table_name ::= table_name */ -{ yylhsminor.yy752 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy849, NULL); } - yymsp[0].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy77, NULL); } + yymsp[0].minor.yy600 = yylhsminor.yy600; break; case 154: /* full_table_name ::= db_name NK_DOT table_name */ -{ yylhsminor.yy752 = createRealTableNode(pCxt, &yymsp[-2].minor.yy849, &yymsp[0].minor.yy849, NULL); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createRealTableNode(pCxt, &yymsp[-2].minor.yy77, &yymsp[0].minor.yy77, NULL); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 157: /* column_def ::= column_name type_name */ -{ yylhsminor.yy752 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy849, yymsp[0].minor.yy384, NULL); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy77, yymsp[0].minor.yy888, NULL); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; case 158: /* column_def ::= column_name type_name COMMENT NK_STRING */ -{ yylhsminor.yy752 = createColumnDefNode(pCxt, &yymsp[-3].minor.yy849, yymsp[-2].minor.yy384, &yymsp[0].minor.yy0); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createColumnDefNode(pCxt, &yymsp[-3].minor.yy77, yymsp[-2].minor.yy888, &yymsp[0].minor.yy0); } + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; case 159: /* type_name ::= BOOL */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_BOOL); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_BOOL); } break; case 160: /* type_name ::= TINYINT */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_TINYINT); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_TINYINT); } break; case 161: /* type_name ::= SMALLINT */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_SMALLINT); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_SMALLINT); } break; case 162: /* type_name ::= INT */ case 163: /* type_name ::= INTEGER */ yytestcase(yyruleno==163); -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_INT); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_INT); } break; case 164: /* type_name ::= BIGINT */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_BIGINT); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_BIGINT); } break; case 165: /* type_name ::= FLOAT */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_FLOAT); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_FLOAT); } break; case 166: /* type_name ::= DOUBLE */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_DOUBLE); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_DOUBLE); } break; case 167: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy384 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy888 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } break; case 168: /* type_name ::= TIMESTAMP */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } break; case 169: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy384 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy888 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } break; case 170: /* type_name ::= TINYINT UNSIGNED */ -{ yymsp[-1].minor.yy384 = createDataType(TSDB_DATA_TYPE_UTINYINT); } +{ yymsp[-1].minor.yy888 = createDataType(TSDB_DATA_TYPE_UTINYINT); } break; case 171: /* type_name ::= SMALLINT UNSIGNED */ -{ yymsp[-1].minor.yy384 = createDataType(TSDB_DATA_TYPE_USMALLINT); } +{ yymsp[-1].minor.yy888 = createDataType(TSDB_DATA_TYPE_USMALLINT); } break; case 172: /* type_name ::= INT UNSIGNED */ -{ yymsp[-1].minor.yy384 = createDataType(TSDB_DATA_TYPE_UINT); } +{ yymsp[-1].minor.yy888 = createDataType(TSDB_DATA_TYPE_UINT); } break; case 173: /* type_name ::= BIGINT UNSIGNED */ -{ yymsp[-1].minor.yy384 = createDataType(TSDB_DATA_TYPE_UBIGINT); } +{ yymsp[-1].minor.yy888 = createDataType(TSDB_DATA_TYPE_UBIGINT); } break; case 174: /* type_name ::= JSON */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_JSON); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_JSON); } break; case 175: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy384 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy888 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } break; case 176: /* type_name ::= MEDIUMBLOB */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } break; case 177: /* type_name ::= BLOB */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_BLOB); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_BLOB); } break; case 178: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy384 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy888 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } break; case 179: /* type_name ::= DECIMAL */ -{ yymsp[0].minor.yy384 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +{ yymsp[0].minor.yy888 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 180: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy384 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +{ yymsp[-3].minor.yy888 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 181: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ -{ yymsp[-5].minor.yy384 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +{ yymsp[-5].minor.yy888 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 183: /* tags_def_opt ::= tags_def */ - case 405: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==405); -{ yylhsminor.yy424 = yymsp[0].minor.yy424; } - yymsp[0].minor.yy424 = yylhsminor.yy424; + case 410: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==410); +{ yylhsminor.yy601 = yymsp[0].minor.yy601; } + yymsp[0].minor.yy601 = yylhsminor.yy601; break; case 184: /* tags_def ::= TAGS NK_LP column_def_list NK_RP */ -{ yymsp[-3].minor.yy424 = yymsp[-1].minor.yy424; } +{ yymsp[-3].minor.yy601 = yymsp[-1].minor.yy601; } break; case 185: /* table_options ::= */ -{ yymsp[1].minor.yy752 = createDefaultTableOptions(pCxt); } +{ yymsp[1].minor.yy600 = createDefaultTableOptions(pCxt); } break; case 186: /* table_options ::= table_options COMMENT NK_STRING */ -{ yylhsminor.yy752 = setTableOption(pCxt, yymsp[-2].minor.yy752, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-2].minor.yy600, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 187: /* table_options ::= table_options MAX_DELAY duration_list */ -{ yylhsminor.yy752 = setTableOption(pCxt, yymsp[-2].minor.yy752, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy424); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-2].minor.yy600, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy601); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 188: /* table_options ::= table_options WATERMARK duration_list */ -{ yylhsminor.yy752 = setTableOption(pCxt, yymsp[-2].minor.yy752, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy424); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-2].minor.yy600, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy601); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 189: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ -{ yylhsminor.yy752 = setTableOption(pCxt, yymsp[-4].minor.yy752, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy424); } - yymsp[-4].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-4].minor.yy600, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy601); } + yymsp[-4].minor.yy600 = yylhsminor.yy600; break; case 190: /* table_options ::= table_options TTL NK_INTEGER */ -{ yylhsminor.yy752 = setTableOption(pCxt, yymsp[-2].minor.yy752, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-2].minor.yy600, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 191: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ -{ yylhsminor.yy752 = setTableOption(pCxt, yymsp[-4].minor.yy752, TABLE_OPTION_SMA, yymsp[-1].minor.yy424); } - yymsp[-4].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-4].minor.yy600, TABLE_OPTION_SMA, yymsp[-1].minor.yy601); } + yymsp[-4].minor.yy600 = yylhsminor.yy600; break; case 192: /* table_options ::= table_options DELETE_MARK duration_list */ -{ yylhsminor.yy752 = setTableOption(pCxt, yymsp[-2].minor.yy752, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy424); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-2].minor.yy600, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy601); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 193: /* alter_table_options ::= alter_table_option */ -{ yylhsminor.yy752 = createAlterTableOptions(pCxt); yylhsminor.yy752 = setTableOption(pCxt, yylhsminor.yy752, yymsp[0].minor.yy5.type, &yymsp[0].minor.yy5.val); } - yymsp[0].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createAlterTableOptions(pCxt); yylhsminor.yy600 = setTableOption(pCxt, yylhsminor.yy600, yymsp[0].minor.yy661.type, &yymsp[0].minor.yy661.val); } + yymsp[0].minor.yy600 = yylhsminor.yy600; break; case 194: /* alter_table_options ::= alter_table_options alter_table_option */ -{ yylhsminor.yy752 = setTableOption(pCxt, yymsp[-1].minor.yy752, yymsp[0].minor.yy5.type, &yymsp[0].minor.yy5.val); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-1].minor.yy600, yymsp[0].minor.yy661.type, &yymsp[0].minor.yy661.val); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; case 195: /* alter_table_option ::= COMMENT NK_STRING */ -{ yymsp[-1].minor.yy5.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy5.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy661.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy661.val = yymsp[0].minor.yy0; } break; case 196: /* alter_table_option ::= TTL NK_INTEGER */ -{ yymsp[-1].minor.yy5.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy5.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy661.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy661.val = yymsp[0].minor.yy0; } break; case 197: /* duration_list ::= duration_literal */ - case 369: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==369); -{ yylhsminor.yy424 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy752)); } - yymsp[0].minor.yy424 = yylhsminor.yy424; + case 374: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==374); +{ yylhsminor.yy601 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } + yymsp[0].minor.yy601 = yylhsminor.yy601; break; case 198: /* duration_list ::= duration_list NK_COMMA duration_literal */ - case 370: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==370); -{ yylhsminor.yy424 = addNodeToList(pCxt, yymsp[-2].minor.yy424, releaseRawExprNode(pCxt, yymsp[0].minor.yy752)); } - yymsp[-2].minor.yy424 = yylhsminor.yy424; + case 375: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==375); +{ yylhsminor.yy601 = addNodeToList(pCxt, yymsp[-2].minor.yy601, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } + yymsp[-2].minor.yy601 = yylhsminor.yy601; break; case 201: /* rollup_func_name ::= function_name */ -{ yylhsminor.yy752 = createFunctionNode(pCxt, &yymsp[0].minor.yy849, NULL); } - yymsp[0].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createFunctionNode(pCxt, &yymsp[0].minor.yy77, NULL); } + yymsp[0].minor.yy600 = yylhsminor.yy600; break; case 202: /* rollup_func_name ::= FIRST */ case 203: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==203); case 256: /* tag_item ::= QTAGS */ yytestcase(yyruleno==256); -{ yylhsminor.yy752 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy600 = yylhsminor.yy600; break; case 206: /* col_name ::= column_name */ case 257: /* tag_item ::= column_name */ yytestcase(yyruleno==257); -{ yylhsminor.yy752 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy849); } - yymsp[0].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy77); } + yymsp[0].minor.yy600 = yylhsminor.yy600; break; case 207: /* cmd ::= SHOW DNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } @@ -4919,13 +5002,13 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DATABASES_STMT); } break; case 211: /* cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TABLES_STMT, yymsp[-2].minor.yy752, yymsp[0].minor.yy752, OP_TYPE_LIKE); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TABLES_STMT, yymsp[-2].minor.yy600, yymsp[0].minor.yy600, OP_TYPE_LIKE); } break; case 212: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy752, yymsp[0].minor.yy752, OP_TYPE_LIKE); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy600, yymsp[0].minor.yy600, OP_TYPE_LIKE); } break; case 213: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy752, NULL, OP_TYPE_LIKE); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy600, NULL, OP_TYPE_LIKE); } break; case 214: /* cmd ::= SHOW MNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } @@ -4937,7 +5020,7 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } break; case 217: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy752, yymsp[-1].minor.yy752, OP_TYPE_EQUAL); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy600, yymsp[-1].minor.yy600, OP_TYPE_EQUAL); } break; case 218: /* cmd ::= SHOW STREAMS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } @@ -4956,13 +5039,13 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LICENCES_STMT); } break; case 224: /* cmd ::= SHOW CREATE DATABASE db_name */ -{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy849); } +{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy77); } break; case 225: /* cmd ::= SHOW CREATE TABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy752); } +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy600); } break; case 226: /* cmd ::= SHOW CREATE STABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy752); } +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy600); } break; case 227: /* cmd ::= SHOW QUERIES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QUERIES_STMT); } @@ -4981,7 +5064,7 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } break; case 233: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy752); } +{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy600); } break; case 234: /* cmd ::= SHOW BNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } @@ -4996,7 +5079,7 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } break; case 238: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ -{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy752); } +{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy600); } break; case 239: /* cmd ::= SHOW CONSUMERS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } @@ -5005,10 +5088,10 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } break; case 241: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy752, yymsp[-1].minor.yy752, OP_TYPE_EQUAL); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy600, yymsp[-1].minor.yy600, OP_TYPE_EQUAL); } break; case 242: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy752, yymsp[0].minor.yy752, yymsp[-3].minor.yy424); } +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy600, yymsp[0].minor.yy600, yymsp[-3].minor.yy601); } break; case 243: /* cmd ::= SHOW VNODES NK_INTEGER */ { pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } @@ -5018,737 +5101,737 @@ static YYACTIONTYPE yy_reduce( break; case 245: /* db_name_cond_opt ::= */ case 250: /* from_db_opt ::= */ yytestcase(yyruleno==250); -{ yymsp[1].minor.yy752 = createDefaultDatabaseCondValue(pCxt); } +{ yymsp[1].minor.yy600 = createDefaultDatabaseCondValue(pCxt); } break; case 246: /* db_name_cond_opt ::= db_name NK_DOT */ -{ yylhsminor.yy752 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy849); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy77); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; case 247: /* like_pattern_opt ::= */ - case 302: /* subtable_opt ::= */ yytestcase(yyruleno==302); - case 415: /* case_when_else_opt ::= */ yytestcase(yyruleno==415); - case 445: /* from_clause_opt ::= */ yytestcase(yyruleno==445); - case 474: /* where_clause_opt ::= */ yytestcase(yyruleno==474); - case 483: /* twindow_clause_opt ::= */ yytestcase(yyruleno==483); - case 489: /* sliding_opt ::= */ yytestcase(yyruleno==489); - case 491: /* fill_opt ::= */ yytestcase(yyruleno==491); - case 503: /* having_clause_opt ::= */ yytestcase(yyruleno==503); - case 505: /* range_opt ::= */ yytestcase(yyruleno==505); - case 507: /* every_opt ::= */ yytestcase(yyruleno==507); - case 520: /* slimit_clause_opt ::= */ yytestcase(yyruleno==520); - case 524: /* limit_clause_opt ::= */ yytestcase(yyruleno==524); -{ yymsp[1].minor.yy752 = NULL; } + case 307: /* subtable_opt ::= */ yytestcase(yyruleno==307); + case 420: /* case_when_else_opt ::= */ yytestcase(yyruleno==420); + case 450: /* from_clause_opt ::= */ yytestcase(yyruleno==450); + case 479: /* where_clause_opt ::= */ yytestcase(yyruleno==479); + case 488: /* twindow_clause_opt ::= */ yytestcase(yyruleno==488); + case 494: /* sliding_opt ::= */ yytestcase(yyruleno==494); + case 496: /* fill_opt ::= */ yytestcase(yyruleno==496); + case 508: /* having_clause_opt ::= */ yytestcase(yyruleno==508); + case 510: /* range_opt ::= */ yytestcase(yyruleno==510); + case 512: /* every_opt ::= */ yytestcase(yyruleno==512); + case 525: /* slimit_clause_opt ::= */ yytestcase(yyruleno==525); + case 529: /* limit_clause_opt ::= */ yytestcase(yyruleno==529); +{ yymsp[1].minor.yy600 = NULL; } break; case 248: /* like_pattern_opt ::= LIKE NK_STRING */ -{ yymsp[-1].minor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +{ yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } break; case 249: /* table_name_cond ::= table_name */ -{ yylhsminor.yy752 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy849); } - yymsp[0].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy77); } + yymsp[0].minor.yy600 = yylhsminor.yy600; break; case 251: /* from_db_opt ::= FROM db_name */ -{ yymsp[-1].minor.yy752 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy849); } +{ yymsp[-1].minor.yy600 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy77); } break; case 255: /* tag_item ::= TBNAME */ -{ yylhsminor.yy752 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } - yymsp[0].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } + yymsp[0].minor.yy600 = yylhsminor.yy600; break; case 258: /* tag_item ::= column_name column_alias */ -{ yylhsminor.yy752 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy849), &yymsp[0].minor.yy849); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy77), &yymsp[0].minor.yy77); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; case 259: /* tag_item ::= column_name AS column_alias */ -{ yylhsminor.yy752 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy849), &yymsp[0].minor.yy849); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; +{ yylhsminor.yy600 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy77), &yymsp[0].minor.yy77); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; case 260: /* cmd ::= CREATE SMA INDEX not_exists_opt full_table_name ON full_table_name index_options */ -{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy57, yymsp[-3].minor.yy752, yymsp[-1].minor.yy752, NULL, yymsp[0].minor.yy752); } +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy841, yymsp[-3].minor.yy600, yymsp[-1].minor.yy600, NULL, yymsp[0].minor.yy600); } break; case 261: /* cmd ::= DROP INDEX exists_opt full_table_name */ -{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy57, yymsp[0].minor.yy752); } +{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy841, yymsp[0].minor.yy600); } break; case 262: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ -{ yymsp[-9].minor.yy752 = createIndexOption(pCxt, yymsp[-7].minor.yy424, releaseRawExprNode(pCxt, yymsp[-3].minor.yy752), NULL, yymsp[-1].minor.yy752, yymsp[0].minor.yy752); } +{ yymsp[-9].minor.yy600 = createIndexOption(pCxt, yymsp[-7].minor.yy601, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), NULL, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } break; case 263: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ -{ yymsp[-11].minor.yy752 = createIndexOption(pCxt, yymsp[-9].minor.yy424, releaseRawExprNode(pCxt, yymsp[-5].minor.yy752), releaseRawExprNode(pCxt, yymsp[-3].minor.yy752), yymsp[-1].minor.yy752, yymsp[0].minor.yy752); } +{ yymsp[-11].minor.yy600 = createIndexOption(pCxt, yymsp[-9].minor.yy601, releaseRawExprNode(pCxt, yymsp[-5].minor.yy600), releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } break; - case 266: /* func ::= function_name NK_LP expression_list NK_RP */ -{ yylhsminor.yy752 = createFunctionNode(pCxt, &yymsp[-3].minor.yy849, yymsp[-1].minor.yy424); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; + case 266: /* func ::= sma_func_name NK_LP expression_list NK_RP */ +{ yylhsminor.yy600 = createFunctionNode(pCxt, &yymsp[-3].minor.yy77, yymsp[-1].minor.yy601); } + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 267: /* sma_stream_opt ::= */ - case 295: /* stream_options ::= */ yytestcase(yyruleno==295); -{ yymsp[1].minor.yy752 = createStreamOptions(pCxt); } + case 272: /* sma_stream_opt ::= */ + case 300: /* stream_options ::= */ yytestcase(yyruleno==300); +{ yymsp[1].minor.yy600 = createStreamOptions(pCxt); } break; - case 268: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - case 299: /* stream_options ::= stream_options WATERMARK duration_literal */ yytestcase(yyruleno==299); -{ ((SStreamOptions*)yymsp[-2].minor.yy752)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy752); yylhsminor.yy752 = yymsp[-2].minor.yy752; } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 273: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + case 304: /* stream_options ::= stream_options WATERMARK duration_literal */ yytestcase(yyruleno==304); +{ ((SStreamOptions*)yymsp[-2].minor.yy600)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); yylhsminor.yy600 = yymsp[-2].minor.yy600; } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 269: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy752)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy752); yylhsminor.yy752 = yymsp[-2].minor.yy752; } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 274: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ +{ ((SStreamOptions*)yymsp[-2].minor.yy600)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); yylhsminor.yy600 = yymsp[-2].minor.yy600; } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 270: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy752)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy752); yylhsminor.yy752 = yymsp[-2].minor.yy752; } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 275: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ +{ ((SStreamOptions*)yymsp[-2].minor.yy600)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); yylhsminor.yy600 = yymsp[-2].minor.yy600; } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 271: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ -{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy57, &yymsp[-2].minor.yy849, yymsp[0].minor.yy752); } + case 276: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ +{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy841, &yymsp[-2].minor.yy77, yymsp[0].minor.yy600); } break; - case 272: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy57, &yymsp[-3].minor.yy849, &yymsp[0].minor.yy849, false); } + case 277: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */ +{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy841, &yymsp[-3].minor.yy77, &yymsp[0].minor.yy77, false); } break; - case 273: /* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-6].minor.yy57, &yymsp[-5].minor.yy849, &yymsp[0].minor.yy849, true); } + case 278: /* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */ +{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-6].minor.yy841, &yymsp[-5].minor.yy77, &yymsp[0].minor.yy77, true); } break; - case 274: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-4].minor.yy57, &yymsp[-3].minor.yy849, yymsp[0].minor.yy752, false); } + case 279: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */ +{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-4].minor.yy841, &yymsp[-3].minor.yy77, yymsp[0].minor.yy600, false); } break; - case 275: /* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-6].minor.yy57, &yymsp[-5].minor.yy849, yymsp[0].minor.yy752, true); } + case 280: /* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */ +{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-6].minor.yy841, &yymsp[-5].minor.yy77, yymsp[0].minor.yy600, true); } break; - case 276: /* cmd ::= DROP TOPIC exists_opt topic_name */ -{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy57, &yymsp[0].minor.yy849); } + case 281: /* cmd ::= DROP TOPIC exists_opt topic_name */ +{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy841, &yymsp[0].minor.yy77); } break; - case 277: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ -{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy57, &yymsp[-2].minor.yy849, &yymsp[0].minor.yy849); } + case 282: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ +{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy841, &yymsp[-2].minor.yy77, &yymsp[0].minor.yy77); } break; - case 278: /* cmd ::= DESC full_table_name */ - case 279: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==279); -{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy752); } + case 283: /* cmd ::= DESC full_table_name */ + case 284: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==284); +{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy600); } break; - case 280: /* cmd ::= RESET QUERY CACHE */ + case 285: /* cmd ::= RESET QUERY CACHE */ { pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } break; - case 281: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ -{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy57, yymsp[-1].minor.yy752, yymsp[0].minor.yy752); } + case 286: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ +{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy841, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } break; - case 284: /* explain_options ::= */ -{ yymsp[1].minor.yy752 = createDefaultExplainOptions(pCxt); } + case 289: /* explain_options ::= */ +{ yymsp[1].minor.yy600 = createDefaultExplainOptions(pCxt); } break; - case 285: /* explain_options ::= explain_options VERBOSE NK_BOOL */ -{ yylhsminor.yy752 = setExplainVerbose(pCxt, yymsp[-2].minor.yy752, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 290: /* explain_options ::= explain_options VERBOSE NK_BOOL */ +{ yylhsminor.yy600 = setExplainVerbose(pCxt, yymsp[-2].minor.yy600, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 286: /* explain_options ::= explain_options RATIO NK_FLOAT */ -{ yylhsminor.yy752 = setExplainRatio(pCxt, yymsp[-2].minor.yy752, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 291: /* explain_options ::= explain_options RATIO NK_FLOAT */ +{ yylhsminor.yy600 = setExplainRatio(pCxt, yymsp[-2].minor.yy600, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 287: /* cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */ -{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-6].minor.yy57, yymsp[-8].minor.yy57, &yymsp[-5].minor.yy849, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy384, yymsp[0].minor.yy340); } + case 292: /* cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */ +{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-6].minor.yy841, yymsp[-8].minor.yy841, &yymsp[-5].minor.yy77, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy888, yymsp[0].minor.yy248); } break; - case 288: /* cmd ::= DROP FUNCTION exists_opt function_name */ -{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy57, &yymsp[0].minor.yy849); } + case 293: /* cmd ::= DROP FUNCTION exists_opt function_name */ +{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy841, &yymsp[0].minor.yy77); } break; - case 293: /* cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name tags_def_opt subtable_opt AS query_or_subquery */ -{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-8].minor.yy57, &yymsp[-7].minor.yy849, yymsp[-4].minor.yy752, yymsp[-6].minor.yy752, yymsp[-3].minor.yy424, yymsp[-2].minor.yy752, yymsp[0].minor.yy752); } + case 298: /* cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name tags_def_opt subtable_opt AS query_or_subquery */ +{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-8].minor.yy841, &yymsp[-7].minor.yy77, yymsp[-4].minor.yy600, yymsp[-6].minor.yy600, yymsp[-3].minor.yy601, yymsp[-2].minor.yy600, yymsp[0].minor.yy600); } break; - case 294: /* cmd ::= DROP STREAM exists_opt stream_name */ -{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy57, &yymsp[0].minor.yy849); } + case 299: /* cmd ::= DROP STREAM exists_opt stream_name */ +{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy841, &yymsp[0].minor.yy77); } break; - case 296: /* stream_options ::= stream_options TRIGGER AT_ONCE */ -{ ((SStreamOptions*)yymsp[-2].minor.yy752)->triggerType = STREAM_TRIGGER_AT_ONCE; yylhsminor.yy752 = yymsp[-2].minor.yy752; } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 301: /* stream_options ::= stream_options TRIGGER AT_ONCE */ +{ ((SStreamOptions*)yymsp[-2].minor.yy600)->triggerType = STREAM_TRIGGER_AT_ONCE; yylhsminor.yy600 = yymsp[-2].minor.yy600; } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 297: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ -{ ((SStreamOptions*)yymsp[-2].minor.yy752)->triggerType = STREAM_TRIGGER_WINDOW_CLOSE; yylhsminor.yy752 = yymsp[-2].minor.yy752; } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 302: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ +{ ((SStreamOptions*)yymsp[-2].minor.yy600)->triggerType = STREAM_TRIGGER_WINDOW_CLOSE; yylhsminor.yy600 = yymsp[-2].minor.yy600; } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 298: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ -{ ((SStreamOptions*)yymsp[-3].minor.yy752)->triggerType = STREAM_TRIGGER_MAX_DELAY; ((SStreamOptions*)yymsp[-3].minor.yy752)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy752); yylhsminor.yy752 = yymsp[-3].minor.yy752; } - yymsp[-3].minor.yy752 = yylhsminor.yy752; + case 303: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ +{ ((SStreamOptions*)yymsp[-3].minor.yy600)->triggerType = STREAM_TRIGGER_MAX_DELAY; ((SStreamOptions*)yymsp[-3].minor.yy600)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); yylhsminor.yy600 = yymsp[-3].minor.yy600; } + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 300: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ -{ ((SStreamOptions*)yymsp[-3].minor.yy752)->ignoreExpired = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); yylhsminor.yy752 = yymsp[-3].minor.yy752; } - yymsp[-3].minor.yy752 = yylhsminor.yy752; + case 305: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ +{ ((SStreamOptions*)yymsp[-3].minor.yy600)->ignoreExpired = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); yylhsminor.yy600 = yymsp[-3].minor.yy600; } + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 301: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ -{ ((SStreamOptions*)yymsp[-2].minor.yy752)->fillHistory = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); yylhsminor.yy752 = yymsp[-2].minor.yy752; } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 306: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ +{ ((SStreamOptions*)yymsp[-2].minor.yy600)->fillHistory = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); yylhsminor.yy600 = yymsp[-2].minor.yy600; } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 303: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - case 490: /* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ yytestcase(yyruleno==490); - case 508: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==508); -{ yymsp[-3].minor.yy752 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy752); } + case 308: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + case 495: /* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ yytestcase(yyruleno==495); + case 513: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==513); +{ yymsp[-3].minor.yy600 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy600); } break; - case 304: /* cmd ::= KILL CONNECTION NK_INTEGER */ + case 309: /* cmd ::= KILL CONNECTION NK_INTEGER */ { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } break; - case 305: /* cmd ::= KILL QUERY NK_STRING */ + case 310: /* cmd ::= KILL QUERY NK_STRING */ { pCxt->pRootNode = createKillQueryStmt(pCxt, &yymsp[0].minor.yy0); } break; - case 306: /* cmd ::= KILL TRANSACTION NK_INTEGER */ + case 311: /* cmd ::= KILL TRANSACTION NK_INTEGER */ { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_TRANSACTION_STMT, &yymsp[0].minor.yy0); } break; - case 307: /* cmd ::= BALANCE VGROUP */ + case 312: /* cmd ::= BALANCE VGROUP */ { pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } break; - case 308: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + case 313: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } break; - case 309: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ -{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy424); } + case 314: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ +{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy601); } break; - case 310: /* cmd ::= SPLIT VGROUP NK_INTEGER */ + case 315: /* cmd ::= SPLIT VGROUP NK_INTEGER */ { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } break; - case 311: /* dnode_list ::= DNODE NK_INTEGER */ -{ yymsp[-1].minor.yy424 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - break; - case 313: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ -{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy752, yymsp[0].minor.yy752); } - break; - case 315: /* cmd ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ -{ pCxt->pRootNode = createInsertStmt(pCxt, yymsp[-4].minor.yy752, yymsp[-2].minor.yy424, yymsp[0].minor.yy752); } - break; - case 316: /* cmd ::= INSERT INTO full_table_name query_or_subquery */ -{ pCxt->pRootNode = createInsertStmt(pCxt, yymsp[-1].minor.yy752, NULL, yymsp[0].minor.yy752); } - break; - case 317: /* literal ::= NK_INTEGER */ -{ yylhsminor.yy752 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 318: /* literal ::= NK_FLOAT */ -{ yylhsminor.yy752 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 319: /* literal ::= NK_STRING */ -{ yylhsminor.yy752 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 320: /* literal ::= NK_BOOL */ -{ yylhsminor.yy752 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 321: /* literal ::= TIMESTAMP NK_STRING */ -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; - break; - case 322: /* literal ::= duration_literal */ - case 332: /* signed_literal ::= signed */ yytestcase(yyruleno==332); - case 352: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==352); - case 353: /* expression ::= literal */ yytestcase(yyruleno==353); - case 354: /* expression ::= pseudo_column */ yytestcase(yyruleno==354); - case 355: /* expression ::= column_reference */ yytestcase(yyruleno==355); - case 356: /* expression ::= function_expression */ yytestcase(yyruleno==356); - case 357: /* expression ::= case_when_expression */ yytestcase(yyruleno==357); - case 388: /* function_expression ::= literal_func */ yytestcase(yyruleno==388); - case 437: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==437); - case 441: /* boolean_primary ::= predicate */ yytestcase(yyruleno==441); - case 443: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==443); - case 444: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==444); - case 447: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==447); - case 449: /* table_reference ::= table_primary */ yytestcase(yyruleno==449); - case 450: /* table_reference ::= joined_table */ yytestcase(yyruleno==450); - case 454: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==454); - case 510: /* query_simple ::= query_specification */ yytestcase(yyruleno==510); - case 511: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==511); - case 514: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==514); - case 516: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==516); -{ yylhsminor.yy752 = yymsp[0].minor.yy752; } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 323: /* literal ::= NULL */ -{ yylhsminor.yy752 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 324: /* literal ::= NK_QUESTION */ -{ yylhsminor.yy752 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 325: /* duration_literal ::= NK_VARIABLE */ -{ yylhsminor.yy752 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 326: /* signed ::= NK_INTEGER */ -{ yylhsminor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 327: /* signed ::= NK_PLUS NK_INTEGER */ -{ yymsp[-1].minor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } - break; - case 328: /* signed ::= NK_MINUS NK_INTEGER */ + case 316: /* dnode_list ::= DNODE NK_INTEGER */ +{ yymsp[-1].minor.yy601 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + break; + case 318: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ +{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } + break; + case 320: /* cmd ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ +{ pCxt->pRootNode = createInsertStmt(pCxt, yymsp[-4].minor.yy600, yymsp[-2].minor.yy601, yymsp[0].minor.yy600); } + break; + case 321: /* cmd ::= INSERT INTO full_table_name query_or_subquery */ +{ pCxt->pRootNode = createInsertStmt(pCxt, yymsp[-1].minor.yy600, NULL, yymsp[0].minor.yy600); } + break; + case 322: /* literal ::= NK_INTEGER */ +{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 323: /* literal ::= NK_FLOAT */ +{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 324: /* literal ::= NK_STRING */ +{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 325: /* literal ::= NK_BOOL */ +{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 326: /* literal ::= TIMESTAMP NK_STRING */ +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; + break; + case 327: /* literal ::= duration_literal */ + case 337: /* signed_literal ::= signed */ yytestcase(yyruleno==337); + case 357: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==357); + case 358: /* expression ::= literal */ yytestcase(yyruleno==358); + case 359: /* expression ::= pseudo_column */ yytestcase(yyruleno==359); + case 360: /* expression ::= column_reference */ yytestcase(yyruleno==360); + case 361: /* expression ::= function_expression */ yytestcase(yyruleno==361); + case 362: /* expression ::= case_when_expression */ yytestcase(yyruleno==362); + case 393: /* function_expression ::= literal_func */ yytestcase(yyruleno==393); + case 442: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==442); + case 446: /* boolean_primary ::= predicate */ yytestcase(yyruleno==446); + case 448: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==448); + case 449: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==449); + case 452: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==452); + case 454: /* table_reference ::= table_primary */ yytestcase(yyruleno==454); + case 455: /* table_reference ::= joined_table */ yytestcase(yyruleno==455); + case 459: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==459); + case 515: /* query_simple ::= query_specification */ yytestcase(yyruleno==515); + case 516: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==516); + case 519: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==519); + case 521: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==521); +{ yylhsminor.yy600 = yymsp[0].minor.yy600; } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 328: /* literal ::= NULL */ +{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 329: /* literal ::= NK_QUESTION */ +{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 330: /* duration_literal ::= NK_VARIABLE */ +{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 331: /* signed ::= NK_INTEGER */ +{ yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 332: /* signed ::= NK_PLUS NK_INTEGER */ +{ yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + break; + case 333: /* signed ::= NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); + yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 329: /* signed ::= NK_FLOAT */ -{ yylhsminor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy752 = yylhsminor.yy752; + case 334: /* signed ::= NK_FLOAT */ +{ yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 330: /* signed ::= NK_PLUS NK_FLOAT */ -{ yymsp[-1].minor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + case 335: /* signed ::= NK_PLUS NK_FLOAT */ +{ yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } break; - case 331: /* signed ::= NK_MINUS NK_FLOAT */ + case 336: /* signed ::= NK_MINUS NK_FLOAT */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); + yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; - break; - case 333: /* signed_literal ::= NK_STRING */ -{ yylhsminor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 334: /* signed_literal ::= NK_BOOL */ -{ yylhsminor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 335: /* signed_literal ::= TIMESTAMP NK_STRING */ -{ yymsp[-1].minor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } - break; - case 336: /* signed_literal ::= duration_literal */ - case 338: /* signed_literal ::= literal_func */ yytestcase(yyruleno==338); - case 408: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==408); - case 470: /* select_item ::= common_expression */ yytestcase(yyruleno==470); - case 480: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==480); - case 515: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==515); - case 517: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==517); - case 530: /* search_condition ::= common_expression */ yytestcase(yyruleno==530); -{ yylhsminor.yy752 = releaseRawExprNode(pCxt, yymsp[0].minor.yy752); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 337: /* signed_literal ::= NULL */ -{ yylhsminor.yy752 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 339: /* signed_literal ::= NK_QUESTION */ -{ yylhsminor.yy752 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 358: /* expression ::= NK_LP expression NK_RP */ - case 442: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==442); - case 529: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==529); -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy752)); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; - break; - case 359: /* expression ::= NK_PLUS expr_or_subquery */ + yymsp[-1].minor.yy600 = yylhsminor.yy600; + break; + case 338: /* signed_literal ::= NK_STRING */ +{ yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 339: /* signed_literal ::= NK_BOOL */ +{ yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 340: /* signed_literal ::= TIMESTAMP NK_STRING */ +{ yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + break; + case 341: /* signed_literal ::= duration_literal */ + case 343: /* signed_literal ::= literal_func */ yytestcase(yyruleno==343); + case 413: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==413); + case 475: /* select_item ::= common_expression */ yytestcase(yyruleno==475); + case 485: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==485); + case 520: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==520); + case 522: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==522); + case 535: /* search_condition ::= common_expression */ yytestcase(yyruleno==535); +{ yylhsminor.yy600 = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 342: /* signed_literal ::= NULL */ +{ yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 344: /* signed_literal ::= NK_QUESTION */ +{ yylhsminor.yy600 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 363: /* expression ::= NK_LP expression NK_RP */ + case 447: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==447); + case 534: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==534); +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; + break; + case 364: /* expression ::= NK_PLUS expr_or_subquery */ { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy752)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 360: /* expression ::= NK_MINUS expr_or_subquery */ + case 365: /* expression ::= NK_MINUS expr_or_subquery */ { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy752), NULL)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy600), NULL)); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 361: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + case 366: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 362: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + case 367: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 363: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + case 368: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 364: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + case 369: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 365: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ + case 370: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 366: /* expression ::= column_reference NK_ARROW NK_STRING */ + case 371: /* expression ::= column_reference NK_ARROW NK_STRING */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 367: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + case 372: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 368: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + case 373: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; - break; - case 371: /* column_reference ::= column_name */ -{ yylhsminor.yy752 = createRawExprNode(pCxt, &yymsp[0].minor.yy849, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy849)); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 372: /* column_reference ::= table_name NK_DOT column_name */ -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy849, &yymsp[0].minor.yy849, createColumnNode(pCxt, &yymsp[-2].minor.yy849, &yymsp[0].minor.yy849)); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; - break; - case 373: /* pseudo_column ::= ROWTS */ - case 374: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==374); - case 376: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==376); - case 377: /* pseudo_column ::= QEND */ yytestcase(yyruleno==377); - case 378: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==378); - case 379: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==379); - case 380: /* pseudo_column ::= WEND */ yytestcase(yyruleno==380); - case 381: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==381); - case 382: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==382); - case 383: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==383); - case 384: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==384); - case 390: /* literal_func ::= NOW */ yytestcase(yyruleno==390); -{ yylhsminor.yy752 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } - yymsp[0].minor.yy752 = yylhsminor.yy752; - break; - case 375: /* pseudo_column ::= table_name NK_DOT TBNAME */ -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy849, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy849)))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; - break; - case 385: /* function_expression ::= function_name NK_LP expression_list NK_RP */ - case 386: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==386); -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy849, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy849, yymsp[-1].minor.yy424)); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; - break; - case 387: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy752), yymsp[-1].minor.yy384)); } - yymsp[-5].minor.yy752 = yylhsminor.yy752; - break; - case 389: /* literal_func ::= noarg_func NK_LP NK_RP */ -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy849, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy849, NULL)); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; - break; - case 404: /* star_func_para_list ::= NK_STAR */ -{ yylhsminor.yy424 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy424 = yylhsminor.yy424; - break; - case 409: /* star_func_para ::= table_name NK_DOT NK_STAR */ - case 473: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==473); -{ yylhsminor.yy752 = createColumnNode(pCxt, &yymsp[-2].minor.yy849, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; - break; - case 410: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy424, yymsp[-1].minor.yy752)); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; - break; - case 411: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy752), yymsp[-2].minor.yy424, yymsp[-1].minor.yy752)); } - yymsp[-4].minor.yy752 = yylhsminor.yy752; - break; - case 414: /* when_then_expr ::= WHEN common_expression THEN common_expression */ -{ yymsp[-3].minor.yy752 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752)); } - break; - case 416: /* case_when_else_opt ::= ELSE common_expression */ -{ yymsp[-1].minor.yy752 = releaseRawExprNode(pCxt, yymsp[0].minor.yy752); } - break; - case 417: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ - case 422: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==422); + yymsp[-2].minor.yy600 = yylhsminor.yy600; + break; + case 376: /* column_reference ::= column_name */ +{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy77, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy77)); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 377: /* column_reference ::= table_name NK_DOT column_name */ +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy77, &yymsp[0].minor.yy77, createColumnNode(pCxt, &yymsp[-2].minor.yy77, &yymsp[0].minor.yy77)); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; + break; + case 378: /* pseudo_column ::= ROWTS */ + case 379: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==379); + case 381: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==381); + case 382: /* pseudo_column ::= QEND */ yytestcase(yyruleno==382); + case 383: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==383); + case 384: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==384); + case 385: /* pseudo_column ::= WEND */ yytestcase(yyruleno==385); + case 386: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==386); + case 387: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==387); + case 388: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==388); + case 389: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==389); + case 395: /* literal_func ::= NOW */ yytestcase(yyruleno==395); +{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } + yymsp[0].minor.yy600 = yylhsminor.yy600; + break; + case 380: /* pseudo_column ::= table_name NK_DOT TBNAME */ +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy77, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy77)))); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; + break; + case 390: /* function_expression ::= function_name NK_LP expression_list NK_RP */ + case 391: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==391); +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy77, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy77, yymsp[-1].minor.yy601)); } + yymsp[-3].minor.yy600 = yylhsminor.yy600; + break; + case 392: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-1].minor.yy888)); } + yymsp[-5].minor.yy600 = yylhsminor.yy600; + break; + case 394: /* literal_func ::= noarg_func NK_LP NK_RP */ +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy77, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy77, NULL)); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; + break; + case 409: /* star_func_para_list ::= NK_STAR */ +{ yylhsminor.yy601 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy601 = yylhsminor.yy601; + break; + case 414: /* star_func_para ::= table_name NK_DOT NK_STAR */ + case 478: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==478); +{ yylhsminor.yy600 = createColumnNode(pCxt, &yymsp[-2].minor.yy77, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; + break; + case 415: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy601, yymsp[-1].minor.yy600)); } + yymsp[-3].minor.yy600 = yylhsminor.yy600; + break; + case 416: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-2].minor.yy601, yymsp[-1].minor.yy600)); } + yymsp[-4].minor.yy600 = yylhsminor.yy600; + break; + case 419: /* when_then_expr ::= WHEN common_expression THEN common_expression */ +{ yymsp[-3].minor.yy600 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } + break; + case 421: /* case_when_else_opt ::= ELSE common_expression */ +{ yymsp[-1].minor.yy600 = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); } + break; + case 422: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ + case 427: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==427); { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy620, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy666, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 418: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + case 423: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy752), releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy600), releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-4].minor.yy752 = yylhsminor.yy752; + yymsp[-4].minor.yy600 = yylhsminor.yy600; break; - case 419: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + case 424: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy752), releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy600), releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-5].minor.yy752 = yylhsminor.yy752; + yymsp[-5].minor.yy600 = yylhsminor.yy600; break; - case 420: /* predicate ::= expr_or_subquery IS NULL */ + case 425: /* predicate ::= expr_or_subquery IS NULL */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), NULL)); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 421: /* predicate ::= expr_or_subquery IS NOT NULL */ + case 426: /* predicate ::= expr_or_subquery IS NOT NULL */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy752), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), NULL)); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 423: /* compare_op ::= NK_LT */ -{ yymsp[0].minor.yy620 = OP_TYPE_LOWER_THAN; } + case 428: /* compare_op ::= NK_LT */ +{ yymsp[0].minor.yy666 = OP_TYPE_LOWER_THAN; } break; - case 424: /* compare_op ::= NK_GT */ -{ yymsp[0].minor.yy620 = OP_TYPE_GREATER_THAN; } + case 429: /* compare_op ::= NK_GT */ +{ yymsp[0].minor.yy666 = OP_TYPE_GREATER_THAN; } break; - case 425: /* compare_op ::= NK_LE */ -{ yymsp[0].minor.yy620 = OP_TYPE_LOWER_EQUAL; } + case 430: /* compare_op ::= NK_LE */ +{ yymsp[0].minor.yy666 = OP_TYPE_LOWER_EQUAL; } break; - case 426: /* compare_op ::= NK_GE */ -{ yymsp[0].minor.yy620 = OP_TYPE_GREATER_EQUAL; } + case 431: /* compare_op ::= NK_GE */ +{ yymsp[0].minor.yy666 = OP_TYPE_GREATER_EQUAL; } break; - case 427: /* compare_op ::= NK_NE */ -{ yymsp[0].minor.yy620 = OP_TYPE_NOT_EQUAL; } + case 432: /* compare_op ::= NK_NE */ +{ yymsp[0].minor.yy666 = OP_TYPE_NOT_EQUAL; } break; - case 428: /* compare_op ::= NK_EQ */ -{ yymsp[0].minor.yy620 = OP_TYPE_EQUAL; } + case 433: /* compare_op ::= NK_EQ */ +{ yymsp[0].minor.yy666 = OP_TYPE_EQUAL; } break; - case 429: /* compare_op ::= LIKE */ -{ yymsp[0].minor.yy620 = OP_TYPE_LIKE; } + case 434: /* compare_op ::= LIKE */ +{ yymsp[0].minor.yy666 = OP_TYPE_LIKE; } break; - case 430: /* compare_op ::= NOT LIKE */ -{ yymsp[-1].minor.yy620 = OP_TYPE_NOT_LIKE; } + case 435: /* compare_op ::= NOT LIKE */ +{ yymsp[-1].minor.yy666 = OP_TYPE_NOT_LIKE; } break; - case 431: /* compare_op ::= MATCH */ -{ yymsp[0].minor.yy620 = OP_TYPE_MATCH; } + case 436: /* compare_op ::= MATCH */ +{ yymsp[0].minor.yy666 = OP_TYPE_MATCH; } break; - case 432: /* compare_op ::= NMATCH */ -{ yymsp[0].minor.yy620 = OP_TYPE_NMATCH; } + case 437: /* compare_op ::= NMATCH */ +{ yymsp[0].minor.yy666 = OP_TYPE_NMATCH; } break; - case 433: /* compare_op ::= CONTAINS */ -{ yymsp[0].minor.yy620 = OP_TYPE_JSON_CONTAINS; } + case 438: /* compare_op ::= CONTAINS */ +{ yymsp[0].minor.yy666 = OP_TYPE_JSON_CONTAINS; } break; - case 434: /* in_op ::= IN */ -{ yymsp[0].minor.yy620 = OP_TYPE_IN; } + case 439: /* in_op ::= IN */ +{ yymsp[0].minor.yy666 = OP_TYPE_IN; } break; - case 435: /* in_op ::= NOT IN */ -{ yymsp[-1].minor.yy620 = OP_TYPE_NOT_IN; } + case 440: /* in_op ::= NOT IN */ +{ yymsp[-1].minor.yy666 = OP_TYPE_NOT_IN; } break; - case 436: /* in_predicate_value ::= NK_LP literal_list NK_RP */ -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy424)); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 441: /* in_predicate_value ::= NK_LP literal_list NK_RP */ +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy601)); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 438: /* boolean_value_expression ::= NOT boolean_primary */ + case 443: /* boolean_value_expression ::= NOT boolean_primary */ { - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy752), NULL)); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy600), NULL)); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 439: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + case 444: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 440: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + case 445: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy752); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy752); - yylhsminor.yy752 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 446: /* from_clause_opt ::= FROM table_reference_list */ - case 475: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==475); - case 504: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==504); -{ yymsp[-1].minor.yy752 = yymsp[0].minor.yy752; } + case 451: /* from_clause_opt ::= FROM table_reference_list */ + case 480: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==480); + case 509: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==509); +{ yymsp[-1].minor.yy600 = yymsp[0].minor.yy600; } break; - case 448: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ -{ yylhsminor.yy752 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy752, yymsp[0].minor.yy752, NULL); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 453: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ +{ yylhsminor.yy600 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy600, yymsp[0].minor.yy600, NULL); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 451: /* table_primary ::= table_name alias_opt */ -{ yylhsminor.yy752 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy849, &yymsp[0].minor.yy849); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; + case 456: /* table_primary ::= table_name alias_opt */ +{ yylhsminor.yy600 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy77, &yymsp[0].minor.yy77); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 452: /* table_primary ::= db_name NK_DOT table_name alias_opt */ -{ yylhsminor.yy752 = createRealTableNode(pCxt, &yymsp[-3].minor.yy849, &yymsp[-1].minor.yy849, &yymsp[0].minor.yy849); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; + case 457: /* table_primary ::= db_name NK_DOT table_name alias_opt */ +{ yylhsminor.yy600 = createRealTableNode(pCxt, &yymsp[-3].minor.yy77, &yymsp[-1].minor.yy77, &yymsp[0].minor.yy77); } + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 453: /* table_primary ::= subquery alias_opt */ -{ yylhsminor.yy752 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy752), &yymsp[0].minor.yy849); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; + case 458: /* table_primary ::= subquery alias_opt */ +{ yylhsminor.yy600 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600), &yymsp[0].minor.yy77); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 455: /* alias_opt ::= */ -{ yymsp[1].minor.yy849 = nil_token; } + case 460: /* alias_opt ::= */ +{ yymsp[1].minor.yy77 = nil_token; } break; - case 457: /* alias_opt ::= AS table_alias */ -{ yymsp[-1].minor.yy849 = yymsp[0].minor.yy849; } + case 462: /* alias_opt ::= AS table_alias */ +{ yymsp[-1].minor.yy77 = yymsp[0].minor.yy77; } break; - case 458: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - case 459: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==459); -{ yymsp[-2].minor.yy752 = yymsp[-1].minor.yy752; } + case 463: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + case 464: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==464); +{ yymsp[-2].minor.yy600 = yymsp[-1].minor.yy600; } break; - case 460: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ -{ yylhsminor.yy752 = createJoinTableNode(pCxt, yymsp[-4].minor.yy332, yymsp[-5].minor.yy752, yymsp[-2].minor.yy752, yymsp[0].minor.yy752); } - yymsp[-5].minor.yy752 = yylhsminor.yy752; + case 465: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ +{ yylhsminor.yy600 = createJoinTableNode(pCxt, yymsp[-4].minor.yy560, yymsp[-5].minor.yy600, yymsp[-2].minor.yy600, yymsp[0].minor.yy600); } + yymsp[-5].minor.yy600 = yylhsminor.yy600; break; - case 461: /* join_type ::= */ -{ yymsp[1].minor.yy332 = JOIN_TYPE_INNER; } + case 466: /* join_type ::= */ +{ yymsp[1].minor.yy560 = JOIN_TYPE_INNER; } break; - case 462: /* join_type ::= INNER */ -{ yymsp[0].minor.yy332 = JOIN_TYPE_INNER; } + case 467: /* join_type ::= INNER */ +{ yymsp[0].minor.yy560 = JOIN_TYPE_INNER; } break; - case 463: /* query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ + case 468: /* query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ { - yymsp[-11].minor.yy752 = createSelectStmt(pCxt, yymsp[-10].minor.yy57, yymsp[-9].minor.yy424, yymsp[-8].minor.yy752); - yymsp[-11].minor.yy752 = addWhereClause(pCxt, yymsp[-11].minor.yy752, yymsp[-7].minor.yy752); - yymsp[-11].minor.yy752 = addPartitionByClause(pCxt, yymsp[-11].minor.yy752, yymsp[-6].minor.yy424); - yymsp[-11].minor.yy752 = addWindowClauseClause(pCxt, yymsp[-11].minor.yy752, yymsp[-2].minor.yy752); - yymsp[-11].minor.yy752 = addGroupByClause(pCxt, yymsp[-11].minor.yy752, yymsp[-1].minor.yy424); - yymsp[-11].minor.yy752 = addHavingClause(pCxt, yymsp[-11].minor.yy752, yymsp[0].minor.yy752); - yymsp[-11].minor.yy752 = addRangeClause(pCxt, yymsp[-11].minor.yy752, yymsp[-5].minor.yy752); - yymsp[-11].minor.yy752 = addEveryClause(pCxt, yymsp[-11].minor.yy752, yymsp[-4].minor.yy752); - yymsp[-11].minor.yy752 = addFillClause(pCxt, yymsp[-11].minor.yy752, yymsp[-3].minor.yy752); + yymsp[-11].minor.yy600 = createSelectStmt(pCxt, yymsp[-10].minor.yy841, yymsp[-9].minor.yy601, yymsp[-8].minor.yy600); + yymsp[-11].minor.yy600 = addWhereClause(pCxt, yymsp[-11].minor.yy600, yymsp[-7].minor.yy600); + yymsp[-11].minor.yy600 = addPartitionByClause(pCxt, yymsp[-11].minor.yy600, yymsp[-6].minor.yy601); + yymsp[-11].minor.yy600 = addWindowClauseClause(pCxt, yymsp[-11].minor.yy600, yymsp[-2].minor.yy600); + yymsp[-11].minor.yy600 = addGroupByClause(pCxt, yymsp[-11].minor.yy600, yymsp[-1].minor.yy601); + yymsp[-11].minor.yy600 = addHavingClause(pCxt, yymsp[-11].minor.yy600, yymsp[0].minor.yy600); + yymsp[-11].minor.yy600 = addRangeClause(pCxt, yymsp[-11].minor.yy600, yymsp[-5].minor.yy600); + yymsp[-11].minor.yy600 = addEveryClause(pCxt, yymsp[-11].minor.yy600, yymsp[-4].minor.yy600); + yymsp[-11].minor.yy600 = addFillClause(pCxt, yymsp[-11].minor.yy600, yymsp[-3].minor.yy600); } break; - case 466: /* set_quantifier_opt ::= ALL */ -{ yymsp[0].minor.yy57 = false; } + case 471: /* set_quantifier_opt ::= ALL */ +{ yymsp[0].minor.yy841 = false; } break; - case 469: /* select_item ::= NK_STAR */ -{ yylhsminor.yy752 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy752 = yylhsminor.yy752; + case 474: /* select_item ::= NK_STAR */ +{ yylhsminor.yy600 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 471: /* select_item ::= common_expression column_alias */ - case 481: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==481); -{ yylhsminor.yy752 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy752), &yymsp[0].minor.yy849); } - yymsp[-1].minor.yy752 = yylhsminor.yy752; + case 476: /* select_item ::= common_expression column_alias */ + case 486: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==486); +{ yylhsminor.yy600 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600), &yymsp[0].minor.yy77); } + yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 472: /* select_item ::= common_expression AS column_alias */ - case 482: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==482); -{ yylhsminor.yy752 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), &yymsp[0].minor.yy849); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 477: /* select_item ::= common_expression AS column_alias */ + case 487: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==487); +{ yylhsminor.yy600 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), &yymsp[0].minor.yy77); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 477: /* partition_by_clause_opt ::= PARTITION BY partition_list */ - case 500: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==500); - case 519: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==519); -{ yymsp[-2].minor.yy424 = yymsp[0].minor.yy424; } + case 482: /* partition_by_clause_opt ::= PARTITION BY partition_list */ + case 505: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==505); + case 524: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==524); +{ yymsp[-2].minor.yy601 = yymsp[0].minor.yy601; } break; - case 484: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ -{ yymsp[-5].minor.yy752 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy752), releaseRawExprNode(pCxt, yymsp[-1].minor.yy752)); } + case 489: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ +{ yymsp[-5].minor.yy600 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } break; - case 485: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ -{ yymsp[-3].minor.yy752 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy752)); } + case 490: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ +{ yymsp[-3].minor.yy600 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } break; - case 486: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */ -{ yymsp[-5].minor.yy752 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy752), NULL, yymsp[-1].minor.yy752, yymsp[0].minor.yy752); } + case 491: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */ +{ yymsp[-5].minor.yy600 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), NULL, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } break; - case 487: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */ -{ yymsp[-7].minor.yy752 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy752), releaseRawExprNode(pCxt, yymsp[-3].minor.yy752), yymsp[-1].minor.yy752, yymsp[0].minor.yy752); } + case 492: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */ +{ yymsp[-7].minor.yy600 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy600), releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } break; - case 488: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ -{ yymsp[-6].minor.yy752 = createEventWindowNode(pCxt, yymsp[-3].minor.yy752, yymsp[0].minor.yy752); } + case 493: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ +{ yymsp[-6].minor.yy600 = createEventWindowNode(pCxt, yymsp[-3].minor.yy600, yymsp[0].minor.yy600); } break; - case 492: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ -{ yymsp[-3].minor.yy752 = createFillNode(pCxt, yymsp[-1].minor.yy214, NULL); } + case 497: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ +{ yymsp[-3].minor.yy600 = createFillNode(pCxt, yymsp[-1].minor.yy798, NULL); } break; - case 493: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */ -{ yymsp[-5].minor.yy752 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy424)); } + case 498: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */ +{ yymsp[-5].minor.yy600 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy601)); } break; - case 494: /* fill_mode ::= NONE */ -{ yymsp[0].minor.yy214 = FILL_MODE_NONE; } + case 499: /* fill_mode ::= NONE */ +{ yymsp[0].minor.yy798 = FILL_MODE_NONE; } break; - case 495: /* fill_mode ::= PREV */ -{ yymsp[0].minor.yy214 = FILL_MODE_PREV; } + case 500: /* fill_mode ::= PREV */ +{ yymsp[0].minor.yy798 = FILL_MODE_PREV; } break; - case 496: /* fill_mode ::= NULL */ -{ yymsp[0].minor.yy214 = FILL_MODE_NULL; } + case 501: /* fill_mode ::= NULL */ +{ yymsp[0].minor.yy798 = FILL_MODE_NULL; } break; - case 497: /* fill_mode ::= LINEAR */ -{ yymsp[0].minor.yy214 = FILL_MODE_LINEAR; } + case 502: /* fill_mode ::= LINEAR */ +{ yymsp[0].minor.yy798 = FILL_MODE_LINEAR; } break; - case 498: /* fill_mode ::= NEXT */ -{ yymsp[0].minor.yy214 = FILL_MODE_NEXT; } + case 503: /* fill_mode ::= NEXT */ +{ yymsp[0].minor.yy798 = FILL_MODE_NEXT; } break; - case 501: /* group_by_list ::= expr_or_subquery */ -{ yylhsminor.yy424 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); } - yymsp[0].minor.yy424 = yylhsminor.yy424; + case 506: /* group_by_list ::= expr_or_subquery */ +{ yylhsminor.yy601 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } + yymsp[0].minor.yy601 = yylhsminor.yy601; break; - case 502: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ -{ yylhsminor.yy424 = addNodeToList(pCxt, yymsp[-2].minor.yy424, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy752))); } - yymsp[-2].minor.yy424 = yylhsminor.yy424; + case 507: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ +{ yylhsminor.yy601 = addNodeToList(pCxt, yymsp[-2].minor.yy601, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } + yymsp[-2].minor.yy601 = yylhsminor.yy601; break; - case 506: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ -{ yymsp[-5].minor.yy752 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy752), releaseRawExprNode(pCxt, yymsp[-1].minor.yy752)); } + case 511: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ +{ yymsp[-5].minor.yy600 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } break; - case 509: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + case 514: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ { - yylhsminor.yy752 = addOrderByClause(pCxt, yymsp[-3].minor.yy752, yymsp[-2].minor.yy424); - yylhsminor.yy752 = addSlimitClause(pCxt, yylhsminor.yy752, yymsp[-1].minor.yy752); - yylhsminor.yy752 = addLimitClause(pCxt, yylhsminor.yy752, yymsp[0].minor.yy752); + yylhsminor.yy600 = addOrderByClause(pCxt, yymsp[-3].minor.yy600, yymsp[-2].minor.yy601); + yylhsminor.yy600 = addSlimitClause(pCxt, yylhsminor.yy600, yymsp[-1].minor.yy600); + yylhsminor.yy600 = addLimitClause(pCxt, yylhsminor.yy600, yymsp[0].minor.yy600); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 512: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ -{ yylhsminor.yy752 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy752, yymsp[0].minor.yy752); } - yymsp[-3].minor.yy752 = yylhsminor.yy752; + case 517: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ +{ yylhsminor.yy600 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy600, yymsp[0].minor.yy600); } + yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 513: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ -{ yylhsminor.yy752 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy752, yymsp[0].minor.yy752); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 518: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ +{ yylhsminor.yy600 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy600, yymsp[0].minor.yy600); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 521: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ - case 525: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==525); -{ yymsp[-1].minor.yy752 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } + case 526: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ + case 530: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==530); +{ yymsp[-1].minor.yy600 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } break; - case 522: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - case 526: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==526); -{ yymsp[-3].minor.yy752 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } + case 527: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + case 531: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==531); +{ yymsp[-3].minor.yy600 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 523: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - case 527: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==527); -{ yymsp[-3].minor.yy752 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } + case 528: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + case 532: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==532); +{ yymsp[-3].minor.yy600 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } break; - case 528: /* subquery ::= NK_LP query_expression NK_RP */ -{ yylhsminor.yy752 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy752); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 533: /* subquery ::= NK_LP query_expression NK_RP */ +{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy600); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 533: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ -{ yylhsminor.yy752 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy752), yymsp[-1].minor.yy538, yymsp[0].minor.yy777); } - yymsp[-2].minor.yy752 = yylhsminor.yy752; + case 538: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ +{ yylhsminor.yy600 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), yymsp[-1].minor.yy32, yymsp[0].minor.yy385); } + yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 534: /* ordering_specification_opt ::= */ -{ yymsp[1].minor.yy538 = ORDER_ASC; } + case 539: /* ordering_specification_opt ::= */ +{ yymsp[1].minor.yy32 = ORDER_ASC; } break; - case 535: /* ordering_specification_opt ::= ASC */ -{ yymsp[0].minor.yy538 = ORDER_ASC; } + case 540: /* ordering_specification_opt ::= ASC */ +{ yymsp[0].minor.yy32 = ORDER_ASC; } break; - case 536: /* ordering_specification_opt ::= DESC */ -{ yymsp[0].minor.yy538 = ORDER_DESC; } + case 541: /* ordering_specification_opt ::= DESC */ +{ yymsp[0].minor.yy32 = ORDER_DESC; } break; - case 537: /* null_ordering_opt ::= */ -{ yymsp[1].minor.yy777 = NULL_ORDER_DEFAULT; } + case 542: /* null_ordering_opt ::= */ +{ yymsp[1].minor.yy385 = NULL_ORDER_DEFAULT; } break; - case 538: /* null_ordering_opt ::= NULLS FIRST */ -{ yymsp[-1].minor.yy777 = NULL_ORDER_FIRST; } + case 543: /* null_ordering_opt ::= NULLS FIRST */ +{ yymsp[-1].minor.yy385 = NULL_ORDER_FIRST; } break; - case 539: /* null_ordering_opt ::= NULLS LAST */ -{ yymsp[-1].minor.yy777 = NULL_ORDER_LAST; } + case 544: /* null_ordering_opt ::= NULLS LAST */ +{ yymsp[-1].minor.yy385 = NULL_ORDER_LAST; } break; default: break; diff --git a/source/libs/tdb/src/db/tdbPCache.c b/source/libs/tdb/src/db/tdbPCache.c index b67fe562eb4806ced4e862a0b7185566189a0432..30dcb05f80f16a63b13abe7137ab44b131e7d4bd 100644 --- a/source/libs/tdb/src/db/tdbPCache.c +++ b/source/libs/tdb/src/db/tdbPCache.c @@ -192,6 +192,28 @@ SPage *tdbPCacheFetch(SPCache *pCache, const SPgid *pPgid, TXN *pTxn) { return pPage; } +void tdbPCacheMarkFree(SPCache *pCache, SPage *pPage) { + tdbPCacheLock(pCache); + tdbPCacheRemovePageFromHash(pCache, pPage); + pPage->isFree = 1; + tdbPCacheUnlock(pCache); +} + +static void tdbPCacheFreePage(SPCache *pCache, SPage *pPage) { + if (pPage->id < pCache->nPages) { + pPage->pFreeNext = pCache->pFree; + pCache->pFree = pPage; + pPage->isFree = 0; + ++pCache->nFree; + tdbTrace("pcache/free page %p/%d/%d", pPage, TDB_PAGE_PGNO(pPage), pPage->id); + } else { + tdbTrace("pcache destroy page: %p/%d/%d", pPage, TDB_PAGE_PGNO(pPage), pPage->id); + + tdbPCacheRemovePageFromHash(pCache, pPage); + tdbPageDestroy(pPage, tdbDefaultFree, NULL); + } +} + void tdbPCacheRelease(SPCache *pCache, SPage *pPage, TXN *pTxn) { i32 nRef; @@ -209,7 +231,11 @@ void tdbPCacheRelease(SPCache *pCache, SPage *pPage, TXN *pTxn) { // nRef = tdbGetPageRef(pPage); // if (nRef == 0) { if (pPage->isLocal) { - tdbPCacheUnpinPage(pCache, pPage); + if (!pPage->isFree) { + tdbPCacheUnpinPage(pCache, pPage); + } else { + tdbPCacheFreePage(pCache, pPage); + } } else { if (TDB_TXN_IS_WRITE(pTxn)) { // remove from hash diff --git a/source/libs/tdb/src/db/tdbPager.c b/source/libs/tdb/src/db/tdbPager.c index 648e99d6a53343abc5479577e66200aa85dd2a50..23ab0004b914deac3480665270891ca97602fee3 100644 --- a/source/libs/tdb/src/db/tdbPager.c +++ b/source/libs/tdb/src/db/tdbPager.c @@ -524,6 +524,7 @@ int tdbPagerAbort(SPager *pPager, TXN *pTxn) { tRBTreeDrop(&pPager->rbt, (SRBTreeNode *)pPage); hashset_remove(pTxn->jPageSet, (void *)((long)TDB_PAGE_PGNO(pPage))); + tdbPCacheMarkFree(pPager->pCache, pPage); tdbPCacheRelease(pPager->pCache, pPage, pTxn); } diff --git a/source/libs/tdb/src/inc/tdbInt.h b/source/libs/tdb/src/inc/tdbInt.h index 055a8a1062362bec646004c0aad8fae277f67fc1..ab9c5995ec9897410930c6a7c77da40bb0c403dd 100644 --- a/source/libs/tdb/src/inc/tdbInt.h +++ b/source/libs/tdb/src/inc/tdbInt.h @@ -205,6 +205,7 @@ int tdbPagerRollback(SPager *pPager); u8 isAnchor; \ u8 isLocal; \ u8 isDirty; \ + u8 isFree; \ volatile i32 nRef; \ i32 id; \ SPage *pFreeNext; \ @@ -222,6 +223,7 @@ int tdbPCacheClose(SPCache *pCache); int tdbPCacheAlter(SPCache *pCache, int32_t nPage); SPage *tdbPCacheFetch(SPCache *pCache, const SPgid *pPgid, TXN *pTxn); void tdbPCacheRelease(SPCache *pCache, SPage *pPage, TXN *pTxn); +void tdbPCacheMarkFree(SPCache *pCache, SPage *pPage); int tdbPCacheGetPageSize(SPCache *pCache); // tdbPage.c ==================================== diff --git a/tests/system-test/2-query/leastsquares.py b/tests/system-test/2-query/leastsquares.py index 8ece4c46f0d430ec540468467e8b9e89b35e1349..1718802a82a0ffb740918e1ff0e083a11168b3f4 100644 --- a/tests/system-test/2-query/leastsquares.py +++ b/tests/system-test/2-query/leastsquares.py @@ -19,12 +19,17 @@ BINARY_COL = "c8" NCHAR_COL = "c9" TS_COL = "c10" -NUM_COL = [ INT_COL, BINT_COL, SINT_COL, TINT_COL, FLOAT_COL, DOUBLE_COL, ] +UINT_COL = "c11" +UBINT_COL = "c12" +USINT_COL = "c13" +UTINT_COL = "c14" + +NUM_COL = [ INT_COL, BINT_COL, SINT_COL, TINT_COL, FLOAT_COL, DOUBLE_COL, UINT_COL, UBINT_COL, USINT_COL, UTINT_COL] CHAR_COL = [ BINARY_COL, NCHAR_COL, ] BOOLEAN_COL = [ BOOL_COL, ] TS_TYPE_COL = [ TS_COL, ] -ALL_COL = [ INT_COL, BINT_COL, SINT_COL, TINT_COL, FLOAT_COL, DOUBLE_COL, BOOL_COL, BINARY_COL, NCHAR_COL, TS_COL ] +ALL_COL = [ INT_COL, BINT_COL, SINT_COL, TINT_COL, FLOAT_COL, DOUBLE_COL, BOOL_COL, BINARY_COL, NCHAR_COL, TS_COL, UINT_COL, UBINT_COL, USINT_COL, UTINT_COL ] DBNAME = "db" class TDTestCase: @@ -208,6 +213,13 @@ class TDTestCase: tdLog.info(f"sql: {current_sqls[i]}") tdSql.query(current_sqls[i]) + def check_result(self): + for col in NUM_COL: + tdSql.query("select leastsquares(%s, 1, 9) from %s.stb1" % (col, DBNAME)) + tdSql.checkRows(1) + res = tdSql.getData(0, 0) + if res is None: + tdLog.exit("result is not correct") def __test_current(self): # tdSql.query("explain select c1 from {dbname}.ct1") @@ -236,6 +248,7 @@ class TDTestCase: def all_test(self): self.__test_error() self.__test_current() + self.check_result() def __create_tb(self, dbname=DBNAME): @@ -243,13 +256,15 @@ class TDTestCase: create_stb_sql = f'''create table {dbname}.stb1( ts timestamp, {INT_COL} int, {BINT_COL} bigint, {SINT_COL} smallint, {TINT_COL} tinyint, {FLOAT_COL} float, {DOUBLE_COL} double, {BOOL_COL} bool, - {BINARY_COL} binary(16), {NCHAR_COL} nchar(32), {TS_COL} timestamp + {BINARY_COL} binary(16), {NCHAR_COL} nchar(32), {TS_COL} timestamp, {UINT_COL} int unsigned, + {UBINT_COL} bigint unsigned, {USINT_COL} smallint unsigned, {UTINT_COL} tinyint unsigned ) tags (t1 int) ''' create_ntb_sql = f'''create table {dbname}.nt1( ts timestamp, {INT_COL} int, {BINT_COL} bigint, {SINT_COL} smallint, {TINT_COL} tinyint, {FLOAT_COL} float, {DOUBLE_COL} double, {BOOL_COL} bool, - {BINARY_COL} binary(16), {NCHAR_COL} nchar(32), {TS_COL} timestamp + {BINARY_COL} binary(16), {NCHAR_COL} nchar(32), {TS_COL} timestamp, {UINT_COL} int unsigned, + {UBINT_COL} bigint unsigned, {USINT_COL} smallint unsigned, {UTINT_COL} tinyint unsigned ) ''' tdSql.execute(create_stb_sql) @@ -262,49 +277,49 @@ class TDTestCase: now_time = int(datetime.datetime.timestamp(datetime.datetime.now()) * 1000) for i in range(rows): tdSql.execute( - f"insert into {dbname}.ct1 values ( { now_time - i * 1000 }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127}, {1.11*i}, {1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i } )" + f"insert into {dbname}.ct1 values ( { now_time - i * 1000 }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127}, {1.11*i}, {1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127} )" ) tdSql.execute( - f"insert into {dbname}.ct4 values ( { now_time - i * 7776000000 }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127}, {1.11*i}, {1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i } )" + f"insert into {dbname}.ct4 values ( { now_time - i * 7776000000 }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127}, {1.11*i}, {1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127} )" ) tdSql.execute( - f"insert into {dbname}.ct2 values ( { now_time - i * 7776000000 }, {-i}, {-11111 * i}, {-111 * i % 32767 }, {-11 * i % 127}, {-1.11*i}, {-1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i } )" + f"insert into {dbname}.ct2 values ( { now_time - i * 7776000000 }, {-i}, {-11111 * i}, {-111 * i % 32767 }, {-11 * i % 127}, {-1.11*i}, {-1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127} )" ) tdSql.execute( f'''insert into {dbname}.ct1 values - ( { now_time - rows * 5 }, 0, 0, 0, 0, 0, 0, 0, 'binary0', 'nchar_测试_0', { now_time + 8 } ) - ( { now_time + 10000 }, { rows }, -99999, -999, -99, -9.99, -99.99, 1, 'binary9', 'nchar_测试_9', { now_time + 9 } ) + ( { now_time - rows * 5 }, 0, 0, 0, 0, 0, 0, 0, 'binary0', 'nchar_测试_0', { now_time + 8 }, 0, 0, 0, 0) + ( { now_time + 10000 }, { rows }, -99999, -999, -99, -9.99, -99.99, 1, 'binary9', 'nchar_测试_9', { now_time + 9 }, 0, 0, 0, NULL ) ''' ) tdSql.execute( f'''insert into {dbname}.ct4 values - ( { now_time - rows * 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) - ( { now_time - rows * 3888000000 + 10800000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) - ( { now_time + 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) + ( { now_time - rows * 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) + ( { now_time - rows * 3888000000 + 10800000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) + ( { now_time + 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) ( { now_time + 5184000000}, {pow(2,31)-pow(2,15)}, {pow(2,63)-pow(2,30)}, 32767, 127, - { 3.3 * pow(10,38) }, { 1.3 * pow(10,308) }, { rows % 2 }, "binary_limit-1", "nchar_测试_limit-1", { now_time - 86400000} + { 3.3 * pow(10,38) }, { 1.3 * pow(10,308) }, { rows % 2 }, "binary_limit-1", "nchar_测试_limit-1", { now_time - 86400000}, NULL, NULL, NULL, NULL ) ( { now_time + 2592000000 }, {pow(2,31)-pow(2,16)}, {pow(2,63)-pow(2,31)}, 32766, 126, - { 3.2 * pow(10,38) }, { 1.2 * pow(10,308) }, { (rows-1) % 2 }, "binary_limit-2", "nchar_测试_limit-2", { now_time - 172800000} + { 3.2 * pow(10,38) }, { 1.2 * pow(10,308) }, { (rows-1) % 2 }, "binary_limit-2", "nchar_测试_limit-2", { now_time - 172800000}, NULL, NULL, NULL, NULL ) ''' ) tdSql.execute( f'''insert into {dbname}.ct2 values - ( { now_time - rows * 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) - ( { now_time - rows * 3888000000 + 10800000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) - ( { now_time + 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) + ( { now_time - rows * 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) + ( { now_time - rows * 3888000000 + 10800000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) + ( { now_time + 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ( { now_time + 5184000000 }, { -1 * pow(2,31) + pow(2,15) }, { -1 * pow(2,63) + pow(2,30) }, -32766, -126, - { -1 * 3.2 * pow(10,38) }, { -1.2 * pow(10,308) }, { rows % 2 }, "binary_limit-1", "nchar_测试_limit-1", { now_time - 86400000 } + { -1 * 3.2 * pow(10,38) }, { -1.2 * pow(10,308) }, { rows % 2 }, "binary_limit-1", "nchar_测试_limit-1", { now_time - 86400000 }, NULL, NULL, NULL, NULL ) ( { now_time + 2592000000 }, { -1 * pow(2,31) + pow(2,16) }, { -1 * pow(2,63) + pow(2,31) }, -32767, -127, - { - 3.3 * pow(10,38) }, { -1.3 * pow(10,308) }, { (rows-1) % 2 }, "binary_limit-2", "nchar_测试_limit-2", { now_time - 172800000 } + { - 3.3 * pow(10,38) }, { -1.3 * pow(10,308) }, { (rows-1) % 2 }, "binary_limit-2", "nchar_测试_limit-2", { now_time - 172800000 }, NULL, NULL, NULL, NULL ) ''' ) @@ -312,22 +327,22 @@ class TDTestCase: for i in range(rows): insert_data = f'''insert into {dbname}.nt1 values ( { now_time - i * 3600000 }, {i}, {i * 11111}, { i % 32767 }, { i % 127}, { i * 1.11111 }, { i * 1000.1111 }, { i % 2}, - "binary_{i}", "nchar_测试_{i}", { now_time - 1000 * i } ) + "binary_{i}", "nchar_测试_{i}", { now_time - 1000 * i }, NULL, NULL, NULL, NULL ) ''' tdSql.execute(insert_data) tdSql.execute( f'''insert into {dbname}.nt1 values - ( { now_time + 10800000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) - ( { now_time - (( rows // 2 ) * 60 + 30) * 60000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) - ( { now_time - rows * 3600000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) + ( { now_time + 10800000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) + ( { now_time - (( rows // 2 ) * 60 + 30) * 60000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) + ( { now_time - rows * 3600000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ( { now_time + 7200000 }, { pow(2,31) - pow(2,15) }, { pow(2,63) - pow(2,30) }, 32767, 127, { 3.3 * pow(10,38) }, { 1.3 * pow(10,308) }, { rows % 2 }, - "binary_limit-1", "nchar_测试_limit-1", { now_time - 86400000 } + "binary_limit-1", "nchar_测试_limit-1", { now_time - 86400000 }, NULL, NULL, NULL, NULL ) ( { now_time + 3600000 } , { pow(2,31) - pow(2,16) }, { pow(2,63) - pow(2,31) }, 32766, 126, { 3.2 * pow(10,38) }, { 1.2 * pow(10,308) }, { (rows-1) % 2 }, - "binary_limit-2", "nchar_测试_limit-2", { now_time - 172800000 } + "binary_limit-2", "nchar_测试_limit-2", { now_time - 172800000 }, NULL, NULL, NULL, NULL ) ''' )