diff --git a/src/admin/admin_executor.cpp b/src/admin/admin_executor.cpp index 53b67a7d7c..7f7f922637 100644 --- a/src/admin/admin_executor.cpp +++ b/src/admin/admin_executor.cpp @@ -149,6 +149,24 @@ QueryResult AdminExecutor::Execute(QueryContext *query_context, const AdminState case AdminStmtType::kSetRole: { return SetRole(query_context, admin_statement); } + case AdminStmtType::kCreateSnapshot: { + return CreateSnapshot(query_context, admin_statement); + } + case AdminStmtType::kListSnapshots: { + return ListSnapshots(query_context, admin_statement); + } + case AdminStmtType::kShowSnapshot: { + return ShowSnapshot(query_context, admin_statement); + } + case AdminStmtType::kDeleteSnapshot: { + return DeleteSnapshot(query_context, admin_statement); + } + case AdminStmtType::kExportSnapshot: { + return ExportSnapshot(query_context, admin_statement); + } + case AdminStmtType::kRecoverFromSnapshot: { + return RecoverFromSnapshot(query_context, admin_statement); + } case AdminStmtType::kInvalid: { QueryResult query_result; query_result.result_table_ = nullptr; @@ -4126,4 +4144,46 @@ QueryResult AdminExecutor::SetRole(QueryContext *query_context, const AdminState return query_result; } +QueryResult AdminExecutor::CreateSnapshot(QueryContext* query_context, const AdminStatement* admin_statement) { + QueryResult query_result; + query_result.result_table_ = nullptr; + query_result.status_ = Status::NotSupport(fmt::format("Not support: create snapshot")); + return query_result; +} + +QueryResult AdminExecutor::ListSnapshots(QueryContext* query_context, const AdminStatement* admin_statement) { + QueryResult query_result; + query_result.result_table_ = nullptr; + query_result.status_ = Status::NotSupport(fmt::format("Not support: list snapshots")); + return query_result; +} + +QueryResult AdminExecutor::ShowSnapshot(QueryContext* query_context, const AdminStatement* admin_statement) { + QueryResult query_result; + query_result.result_table_ = nullptr; + query_result.status_ = Status::NotSupport(fmt::format("Not support: show snapshot")); + return query_result; +} + +QueryResult AdminExecutor::DeleteSnapshot(QueryContext* query_context, const AdminStatement* admin_statement) { + QueryResult query_result; + query_result.result_table_ = nullptr; + query_result.status_ = Status::NotSupport(fmt::format("Not support: delete snapshot")); + return query_result; +} + +QueryResult AdminExecutor::ExportSnapshot(QueryContext* query_context, const AdminStatement* admin_statement) { + QueryResult query_result; + query_result.result_table_ = nullptr; + query_result.status_ = Status::NotSupport(fmt::format("Not support: export snapshot")); + return query_result; +} + +QueryResult AdminExecutor::RecoverFromSnapshot(QueryContext* query_context, const AdminStatement* admin_statement) { + QueryResult query_result; + query_result.result_table_ = nullptr; + query_result.status_ = Status::NotSupport(fmt::format("Not support: recover from snapshot")); + return query_result; +} + } // namespace infinity diff --git a/src/admin/admin_executor.cppm b/src/admin/admin_executor.cppm index 407d50dd83..0f8a8c9efb 100644 --- a/src/admin/admin_executor.cppm +++ b/src/admin/admin_executor.cppm @@ -57,6 +57,12 @@ private: static QueryResult RemoveNode(QueryContext* query_context, const AdminStatement* admin_statement); static QueryResult ShowCurrentNode(QueryContext* query_context, const AdminStatement* admin_statement); static QueryResult SetRole(QueryContext* query_context, const AdminStatement* admin_statement); + static QueryResult CreateSnapshot(QueryContext* query_context, const AdminStatement* admin_statement); + static QueryResult ListSnapshots(QueryContext* query_context, const AdminStatement* admin_statement); + static QueryResult ShowSnapshot(QueryContext* query_context, const AdminStatement* admin_statement); + static QueryResult DeleteSnapshot(QueryContext* query_context, const AdminStatement* admin_statement); + static QueryResult ExportSnapshot(QueryContext* query_context, const AdminStatement* admin_statement); + static QueryResult RecoverFromSnapshot(QueryContext* query_context, const AdminStatement* admin_statement); static Vector> GetAllCheckpointEntries(QueryContext* query_context, const AdminStatement* admin_statement); static Tuple, Status> LoadCatalogFiles(QueryContext* query_context, const AdminStatement* admin_statement, Vector>& ckp_entries); diff --git a/src/parser/lexer.cpp b/src/parser/lexer.cpp index db0e5f3a21..80b3da660b 100644 --- a/src/parser/lexer.cpp +++ b/src/parser/lexer.cpp @@ -653,8 +653,8 @@ static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner ); /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ yyg->yy_c_buf_p = yy_cp; /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 206 -#define YY_END_OF_BUFFER 207 +#define YY_NUM_RULES 209 +#define YY_END_OF_BUFFER 210 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -662,90 +662,91 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[742] = +static const flex_int16_t yy_accept[755] = { 0, - 0, 0, 203, 203, 207, 205, 1, 1, 205, 205, - 195, 201, 195, 195, 198, 195, 195, 195, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 203, 204, 1, 191, 0, 198, 197, - 196, 193, 192, 190, 194, 200, 200, 200, 200, 8, - 200, 200, 200, 200, 200, 200, 21, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 82, 200, 84, 94, 200, 200, - - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 125, 200, 127, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 166, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 203, 202, 199, - 196, 0, 2, 200, 4, 200, 7, 9, 200, 200, - 200, 13, 200, 200, 16, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 44, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 57, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 90, 200, 96, 200, 200, 200, 200, - 200, 200, 104, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 120, 200, 200, 123, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 150, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 177, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 0, 196, 200, 200, 200, 200, - 200, 200, 200, 17, 200, 200, 200, 22, 23, 200, - - 200, 200, 200, 200, 200, 200, 200, 200, 36, 200, - 200, 39, 42, 45, 200, 200, 200, 200, 200, 53, - 200, 200, 54, 55, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 71, 72, 200, - 200, 200, 200, 200, 200, 79, 200, 200, 200, 200, - 200, 200, 93, 95, 200, 200, 99, 100, 200, 102, - 103, 105, 106, 200, 200, 200, 200, 200, 200, 200, - 200, 118, 117, 200, 200, 200, 200, 200, 130, 200, - 200, 200, 200, 200, 200, 200, 200, 140, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 153, 200, 200, - - 200, 200, 200, 161, 162, 163, 200, 200, 169, 200, - 200, 200, 200, 200, 200, 176, 200, 200, 200, 200, - 183, 185, 200, 187, 188, 3, 200, 6, 200, 200, - 200, 200, 18, 200, 200, 200, 26, 200, 200, 200, - 200, 200, 200, 200, 200, 38, 200, 200, 200, 200, - 200, 200, 52, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 64, 65, 66, 68, 200, 200, 200, 200, - 75, 200, 200, 200, 80, 200, 200, 85, 87, 200, - 200, 200, 200, 200, 101, 107, 200, 200, 200, 200, - 113, 200, 200, 119, 200, 200, 200, 128, 129, 200, - - 132, 200, 200, 200, 200, 200, 200, 139, 200, 200, - 143, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 157, 200, 200, 200, 200, 170, 200, 200, 200, 200, - 174, 200, 200, 200, 200, 184, 186, 189, 200, 200, - 200, 12, 14, 19, 200, 20, 200, 27, 200, 29, - 200, 200, 34, 200, 37, 200, 200, 200, 200, 50, - 200, 200, 47, 200, 58, 200, 61, 200, 63, 200, - 200, 200, 70, 73, 74, 76, 77, 200, 200, 83, - 200, 88, 200, 200, 200, 97, 200, 108, 200, 109, - 111, 114, 200, 200, 121, 124, 200, 200, 200, 200, - - 200, 200, 200, 200, 142, 141, 200, 145, 146, 200, - 148, 200, 200, 155, 200, 158, 159, 200, 200, 200, - 171, 172, 200, 175, 178, 200, 200, 182, 200, 10, - 200, 15, 24, 200, 30, 31, 32, 33, 35, 200, - 200, 48, 49, 200, 200, 200, 60, 62, 59, 67, - 200, 200, 81, 86, 89, 200, 200, 98, 200, 112, - 200, 116, 122, 200, 200, 133, 134, 135, 200, 200, - 138, 200, 147, 151, 149, 200, 200, 200, 200, 165, - 200, 200, 181, 200, 200, 11, 25, 200, 40, 43, - 200, 46, 200, 69, 200, 200, 92, 110, 200, 126, - - 200, 136, 200, 144, 152, 154, 200, 200, 200, 200, - 173, 179, 200, 200, 41, 51, 56, 78, 91, 200, - 200, 200, 200, 200, 164, 200, 180, 5, 28, 200, - 200, 137, 156, 200, 200, 115, 131, 160, 167, 168, - 0 + 0, 0, 206, 206, 210, 208, 1, 1, 208, 208, + 198, 204, 198, 198, 201, 198, 198, 198, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 206, 207, 1, 194, 0, 201, 200, + 199, 196, 195, 193, 197, 203, 203, 203, 203, 8, + 203, 203, 203, 203, 203, 203, 21, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 82, 203, 84, 94, 203, 203, + + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 125, 203, 127, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 169, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 206, 205, + 202, 199, 0, 2, 203, 4, 203, 7, 9, 203, + 203, 203, 13, 203, 203, 16, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 44, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 57, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 90, 203, 96, 203, 203, 203, + 203, 203, 203, 104, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 120, 203, 203, 123, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 151, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 180, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 0, 199, 203, + 203, 203, 203, 203, 203, 203, 17, 203, 203, 203, + + 22, 23, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 36, 203, 203, 39, 42, 45, 203, 203, 203, + 203, 203, 53, 203, 203, 54, 55, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 71, 72, 203, 203, 203, 203, 203, 203, 79, 203, + 203, 203, 203, 203, 203, 93, 95, 203, 203, 99, + 100, 203, 102, 103, 105, 106, 203, 203, 203, 203, + 203, 203, 203, 203, 118, 117, 203, 203, 203, 203, + 203, 130, 203, 203, 203, 203, 203, 203, 203, 203, + 140, 203, 203, 203, 203, 203, 203, 203, 203, 203, + + 203, 154, 203, 203, 203, 203, 203, 203, 164, 165, + 166, 203, 203, 172, 203, 203, 203, 203, 203, 203, + 179, 203, 203, 203, 203, 186, 188, 203, 190, 191, + 3, 203, 6, 203, 203, 203, 203, 18, 203, 203, + 203, 26, 203, 203, 203, 203, 203, 203, 203, 203, + 38, 203, 203, 203, 203, 203, 203, 52, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 64, 65, 66, + 68, 203, 203, 203, 203, 75, 203, 203, 203, 80, + 203, 203, 85, 87, 203, 203, 203, 203, 203, 101, + 107, 203, 203, 203, 203, 113, 203, 203, 119, 203, + + 203, 203, 128, 129, 203, 132, 203, 203, 203, 203, + 203, 203, 139, 203, 203, 203, 144, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 160, 203, 203, + 203, 203, 173, 203, 203, 203, 203, 177, 203, 203, + 203, 203, 187, 189, 192, 203, 203, 203, 12, 14, + 19, 203, 20, 203, 27, 203, 29, 203, 203, 34, + 203, 37, 203, 203, 203, 203, 50, 203, 203, 47, + 203, 58, 203, 61, 203, 63, 203, 203, 203, 70, + 73, 74, 76, 77, 203, 203, 83, 203, 88, 203, + 203, 203, 97, 203, 108, 203, 109, 111, 114, 203, + + 203, 121, 124, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 143, 142, 203, 146, 147, 203, 149, 203, + 203, 203, 158, 203, 161, 162, 203, 203, 203, 174, + 175, 203, 178, 181, 203, 203, 185, 203, 10, 203, + 15, 24, 203, 30, 31, 32, 33, 35, 203, 203, + 48, 49, 203, 203, 203, 60, 62, 59, 67, 203, + 203, 81, 86, 89, 203, 203, 98, 203, 112, 203, + 116, 122, 203, 203, 133, 134, 135, 203, 203, 138, + 141, 203, 148, 152, 150, 203, 203, 203, 203, 203, + 168, 203, 203, 184, 203, 203, 11, 25, 203, 40, + + 43, 203, 46, 203, 69, 203, 203, 92, 110, 203, + 126, 203, 136, 203, 145, 153, 155, 156, 203, 203, + 203, 203, 176, 182, 203, 203, 41, 51, 56, 78, + 91, 203, 203, 203, 157, 203, 203, 167, 203, 183, + 5, 28, 203, 203, 137, 159, 203, 203, 115, 131, + 163, 170, 171, 0 } ; static const YY_CHAR yy_ec[256] = @@ -791,179 +792,181 @@ static const YY_CHAR yy_meta[69] = 4, 4, 4, 4, 4, 4, 4, 4 } ; -static const flex_int16_t yy_base[746] = +static const flex_int16_t yy_base[759] = { 0, - 0, 0, 255, 237, 241, 1515, 67, 69, 219, 0, - 1515, 1515, 63, 66, 70, 69, 178, 149, 66, 108, + 0, 0, 258, 237, 241, 1548, 67, 69, 219, 0, + 1548, 1548, 63, 66, 70, 69, 178, 149, 66, 108, 73, 74, 112, 163, 59, 134, 173, 57, 68, 181, - 188, 173, 235, 227, 55, 229, 269, 316, 265, 129, - 86, 0, 79, 0, 153, 99, 1515, 152, 296, 172, - 300, 1515, 1515, 1515, 1515, 0, 191, 213, 123, 128, - 112, 134, 228, 156, 295, 177, 0, 220, 164, 225, - 314, 318, 295, 337, 227, 266, 287, 299, 333, 332, - 366, 326, 327, 353, 360, 349, 361, 362, 364, 359, - 383, 378, 366, 381, 0, 375, 406, 0, 381, 367, - - 417, 416, 421, 389, 411, 409, 418, 419, 422, 416, - 444, 426, 429, 434, 0, 421, 438, 423, 424, 428, - 465, 467, 473, 479, 472, 458, 520, 468, 483, 484, - 485, 485, 474, 484, 504, 0, 501, 519, 493, 521, - 524, 523, 531, 531, 532, 522, 542, 0, 1515, 1515, - 576, 581, 0, 543, 541, 570, 0, 0, 557, 567, - 575, 572, 584, 576, 0, 583, 585, 590, 578, 590, - 582, 582, 590, 572, 598, 581, 605, 582, 620, 633, - 630, 633, 618, 638, 625, 637, 638, 0, 639, 642, - 627, 636, 629, 630, 647, 652, 635, 643, 644, 645, - - 647, 651, 662, 662, 679, 685, 682, 674, 688, 679, - 690, 691, 692, 693, 685, 0, 696, 681, 697, 694, - 699, 694, 687, 700, 706, 692, 703, 692, 717, 722, - 722, 739, 0, 734, 742, 729, 740, 745, 746, 744, - 734, 740, 730, 740, 744, 752, 741, 748, 746, 761, - 755, 753, 748, 752, 759, 786, 777, 0, 774, 786, - 782, 787, 790, 784, 784, 791, 801, 782, 794, 804, - 795, 796, 804, 813, 0, 801, 812, 796, 817, 799, - 798, 831, 842, 833, 303, 499, 838, 851, 837, 851, - 856, 844, 858, 0, 849, 856, 857, 0, 0, 851, - - 853, 853, 861, 854, 863, 868, 861, 866, 0, 853, - 855, 873, 860, 0, 886, 882, 884, 892, 905, 0, - 899, 897, 0, 0, 906, 895, 891, 893, 913, 897, - 915, 912, 899, 899, 912, 906, 921, 0, 0, 908, - 923, 909, 913, 923, 917, 915, 944, 939, 934, 941, - 942, 955, 0, 0, 958, 950, 0, 0, 945, 0, - 0, 0, 0, 958, 958, 954, 951, 950, 963, 963, - 956, 956, 0, 973, 972, 965, 961, 963, 0, 973, - 963, 981, 1006, 1010, 1003, 1008, 1005, 0, 994, 1004, - 998, 1010, 1017, 1007, 1017, 1020, 1015, 0, 1013, 1007, - - 1023, 1023, 1014, 0, 0, 1012, 1023, 1014, 0, 1021, - 1015, 1034, 1035, 1041, 1058, 0, 1061, 1059, 1067, 1055, - 1052, 0, 1067, 0, 1054, 0, 1073, 0, 1070, 1056, - 1057, 1062, 1060, 1079, 1063, 1067, 0, 1078, 1081, 1071, - 1072, 1084, 1082, 1087, 1086, 0, 1095, 1106, 1118, 1108, - 1116, 1113, 0, 1110, 1120, 1122, 1107, 1108, 1110, 1121, - 1111, 1129, 0, 0, 141, 0, 1110, 1114, 1121, 1124, - 0, 1130, 1120, 1130, 0, 1126, 1136, 1138, 0, 1124, - 1140, 1154, 1132, 1164, 0, 0, 1161, 1171, 1153, 1174, - 1161, 1159, 1181, 0, 1163, 1164, 1176, 0, 0, 1167, - - 0, 1172, 1170, 1171, 1178, 1173, 1187, 0, 1188, 1189, - 0, 1182, 1189, 1194, 1185, 1184, 1208, 1218, 1223, 1228, - 1211, 1214, 1213, 1220, 1234, 0, 1231, 1226, 1224, 1234, - 0, 1221, 1240, 1240, 1225, 0, 0, 0, 1224, 1231, - 132, 0, 0, 0, 1232, 0, 1240, 0, 1228, 1230, - 1231, 1232, 1234, 1238, 0, 1258, 1268, 1270, 1263, 0, - 1264, 1283, 0, 1278, 0, 1283, 0, 1275, 0, 1270, - 99, 1286, 0, 0, 0, 0, 0, 1285, 1273, 0, - 1275, 0, 1277, 1291, 1296, 0, 1280, 0, 1294, 0, - 1281, 0, 1296, 1290, 1284, 0, 1279, 1286, 1293, 1307, - - 1306, 1330, 1316, 1318, 0, 0, 1329, 0, 1321, 1321, - 0, 1328, 1329, 0, 1332, 0, 1344, 1345, 1327, 1345, - 0, 0, 1344, 0, 0, 1332, 1339, 0, 1343, 0, - 96, 0, 1334, 1345, 0, 0, 0, 0, 0, 1350, - 1351, 0, 0, 1352, 1339, 1346, 0, 0, 0, 0, - 1343, 1358, 0, 0, 0, 1382, 1377, 0, 1366, 0, - 1388, 0, 0, 1387, 1389, 0, 0, 0, 1376, 1387, - 0, 1377, 0, 1379, 0, 1379, 1385, 1383, 1389, 0, - 1383, 1400, 0, 1400, 1391, 0, 0, 1392, 1389, 0, - 1391, 0, 1403, 0, 1391, 1393, 0, 0, 1394, 0, - - 1401, 0, 1415, 0, 0, 0, 1425, 1425, 1428, 1436, - 0, 1427, 1434, 1435, 0, 0, 0, 0, 0, 1435, - 1448, 1433, 1448, 1453, 0, 1440, 0, 0, 0, 1438, - 1452, 0, 0, 1433, 1445, 0, 0, 0, 1441, 0, - 1515, 1502, 1506, 101, 1510 + 188, 173, 235, 227, 55, 229, 279, 326, 275, 129, + 86, 0, 79, 0, 153, 99, 1548, 152, 306, 172, + 310, 1548, 1548, 1548, 1548, 0, 191, 213, 123, 128, + 112, 134, 228, 156, 239, 177, 0, 220, 164, 225, + 316, 328, 257, 333, 227, 226, 243, 267, 295, 294, + 364, 298, 326, 360, 364, 332, 366, 335, 349, 361, + 385, 380, 367, 382, 0, 376, 414, 0, 383, 368, + + 398, 384, 420, 416, 412, 416, 416, 421, 425, 418, + 438, 427, 430, 435, 0, 423, 440, 426, 427, 431, + 463, 472, 446, 479, 445, 460, 520, 469, 485, 487, + 488, 489, 489, 510, 490, 512, 0, 528, 519, 499, + 528, 526, 524, 538, 538, 539, 525, 545, 0, 1548, + 1548, 582, 501, 0, 538, 542, 570, 0, 0, 557, + 566, 573, 570, 583, 576, 0, 583, 585, 590, 578, + 590, 582, 582, 590, 572, 598, 581, 628, 582, 602, + 633, 630, 633, 617, 638, 625, 637, 638, 0, 639, + 642, 627, 636, 629, 630, 647, 652, 635, 643, 644, + + 645, 647, 656, 681, 666, 679, 685, 682, 673, 688, + 679, 690, 691, 692, 693, 685, 0, 701, 680, 696, + 693, 698, 693, 687, 700, 706, 692, 728, 691, 693, + 721, 721, 739, 0, 733, 742, 729, 740, 745, 746, + 744, 734, 740, 730, 740, 744, 757, 740, 747, 745, + 746, 761, 757, 754, 749, 776, 782, 791, 778, 0, + 775, 787, 785, 784, 789, 792, 786, 786, 793, 803, + 784, 796, 806, 797, 798, 806, 815, 0, 803, 815, + 799, 818, 825, 826, 837, 842, 834, 861, 864, 839, + 859, 845, 859, 864, 852, 866, 0, 857, 864, 865, + + 0, 0, 859, 862, 862, 870, 868, 878, 883, 876, + 881, 0, 867, 869, 897, 883, 0, 891, 884, 886, + 894, 908, 0, 907, 905, 0, 0, 914, 903, 899, + 901, 921, 905, 923, 920, 908, 908, 921, 920, 936, + 0, 0, 923, 938, 924, 927, 937, 941, 938, 949, + 941, 936, 943, 945, 963, 0, 0, 966, 958, 0, + 0, 953, 0, 0, 0, 0, 966, 966, 962, 959, + 958, 971, 973, 965, 970, 0, 988, 987, 980, 976, + 977, 0, 987, 987, 1004, 1011, 1012, 1005, 1010, 1008, + 0, 1002, 1003, 1013, 1007, 1019, 1026, 1016, 1026, 1029, + + 1026, 0, 1024, 1018, 1024, 1041, 1041, 1032, 0, 0, + 1029, 1040, 1031, 0, 1047, 1044, 1063, 1060, 1048, 1062, + 0, 1066, 1070, 1078, 1065, 1062, 0, 1077, 0, 1064, + 0, 1083, 0, 1080, 1066, 1067, 1073, 1071, 1090, 1079, + 1084, 0, 1095, 1098, 1088, 1089, 1101, 1108, 1116, 1115, + 0, 1120, 1113, 1122, 1113, 1127, 1124, 0, 1120, 1130, + 1132, 1117, 1118, 1120, 1131, 1121, 1140, 0, 0, 141, + 0, 1121, 1125, 1137, 1141, 0, 1147, 1137, 1147, 0, + 1143, 1153, 1164, 0, 1153, 1169, 1157, 1157, 1172, 0, + 0, 1173, 1183, 1163, 1184, 1171, 1169, 1191, 0, 1173, + + 1174, 1186, 0, 0, 1178, 0, 1183, 1181, 1187, 1195, + 1190, 1204, 0, 1205, 1206, 1207, 0, 1210, 1219, 1224, + 1215, 1210, 1216, 1224, 1232, 1236, 1241, 1224, 1226, 1225, + 1232, 1246, 0, 1243, 1238, 1237, 1247, 0, 1234, 1258, + 1259, 1244, 0, 0, 0, 1243, 1250, 132, 0, 0, + 0, 1251, 0, 1259, 0, 1257, 1262, 1262, 1263, 1265, + 1265, 0, 1268, 1281, 1283, 1276, 0, 1277, 1295, 0, + 1290, 0, 1295, 0, 1287, 0, 1282, 99, 1298, 0, + 0, 0, 0, 0, 1298, 1286, 0, 1288, 0, 1295, + 1310, 1315, 0, 1299, 0, 1313, 0, 1300, 0, 1315, + + 1319, 1316, 0, 1310, 1317, 1324, 1334, 1316, 1343, 1329, + 1331, 1333, 0, 0, 1343, 0, 1334, 1334, 0, 1341, + 1342, 1342, 0, 1347, 0, 1359, 1360, 1347, 1366, 0, + 0, 1365, 0, 0, 1353, 1360, 0, 1364, 0, 96, + 0, 1355, 1376, 0, 0, 0, 0, 0, 1384, 1385, + 0, 0, 1386, 1372, 1379, 0, 0, 0, 0, 1377, + 1394, 0, 0, 0, 1400, 1392, 0, 1381, 0, 1403, + 0, 0, 1402, 1403, 0, 0, 0, 1390, 1401, 0, + 0, 1391, 0, 1394, 0, 1394, 1395, 1406, 1405, 1411, + 0, 1405, 1422, 0, 1422, 1413, 0, 0, 1424, 1424, + + 0, 1426, 0, 1438, 0, 1426, 1427, 0, 0, 1429, + 0, 1442, 0, 1452, 0, 0, 0, 1439, 1445, 1442, + 1445, 1453, 0, 1444, 1450, 1451, 0, 0, 0, 0, + 0, 1452, 1465, 1450, 0, 1470, 1476, 0, 1463, 0, + 0, 0, 1461, 1475, 0, 0, 1456, 1468, 0, 0, + 0, 1474, 0, 1548, 1535, 1539, 101, 1543 } ; -static const flex_int16_t yy_def[746] = +static const flex_int16_t yy_def[759] = { 0, - 741, 1, 742, 742, 741, 741, 741, 741, 741, 743, - 741, 741, 741, 741, 741, 741, 741, 741, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 745, 741, 741, 741, 743, 741, 741, - 741, 741, 741, 741, 741, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 745, 741, 741, - 741, 741, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 741, 741, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, - 0, 741, 741, 741, 741 + 754, 1, 755, 755, 754, 754, 754, 754, 754, 756, + 754, 754, 754, 754, 754, 754, 754, 754, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 758, 754, 754, 754, 756, 754, 754, + 754, 754, 754, 754, 754, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 758, 754, + 754, 754, 754, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 754, 754, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 0, 754, 754, 754, 754 } ; -static const flex_int16_t yy_nxt[1584] = +static const flex_int16_t yy_nxt[1617] = { 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, @@ -974,174 +977,178 @@ static const flex_int16_t yy_nxt[1584] = 37, 38, 39, 40, 41, 42, 43, 42, 46, 46, 46, 46, 49, 49, 49, 50, 50, 50, 51, 49, 49, 49, 52, 53, 57, 88, 99, 100, 68, 73, - 123, 89, 58, 74, 59, 69, 70, 75, 147, 60, - - 46, 46, 71, 76, 56, 72, 77, 686, 145, 146, - 650, 57, 88, 99, 100, 68, 73, 123, 89, 58, - 74, 59, 69, 70, 75, 147, 60, 61, 62, 71, - 76, 63, 72, 77, 64, 145, 146, 65, 78, 79, - 80, 157, 631, 66, 142, 158, 159, 67, 143, 90, - 81, 571, 144, 91, 61, 62, 150, 92, 63, 149, - 160, 64, 55, 93, 65, 78, 79, 80, 157, 94, - 66, 142, 158, 159, 67, 143, 90, 81, 82, 144, - 91, 50, 50, 50, 92, 163, 83, 160, 110, 84, - 93, 54, 85, 95, 96, 86, 94, 166, 87, 169, - - 101, 97, 111, 105, 102, 82, 98, 106, 112, 153, - 103, 107, 163, 83, 104, 110, 84, 108, 154, 85, - 95, 96, 86, 109, 166, 87, 169, 101, 97, 111, - 105, 102, 47, 98, 106, 112, 153, 103, 107, 155, - 741, 104, 119, 45, 108, 154, 120, 156, 124, 161, - 109, 113, 125, 167, 168, 114, 121, 170, 126, 122, - 183, 45, 162, 115, 741, 116, 155, 117, 741, 119, - 118, 741, 741, 120, 156, 124, 161, 741, 113, 125, - 167, 168, 114, 121, 170, 126, 122, 183, 127, 162, - 115, 128, 116, 138, 117, 139, 129, 118, 140, 130, - - 141, 184, 741, 131, 51, 49, 49, 49, 741, 151, - 151, 151, 286, 286, 286, 127, 185, 741, 128, 152, - 138, 741, 139, 129, 164, 140, 130, 141, 184, 177, - 131, 132, 186, 165, 178, 133, 741, 175, 134, 135, - 171, 172, 173, 185, 174, 136, 152, 176, 137, 187, - 188, 164, 194, 195, 179, 741, 177, 180, 132, 186, - 165, 178, 133, 181, 175, 134, 135, 171, 172, 173, - 182, 174, 136, 741, 176, 137, 187, 188, 200, 194, - 195, 179, 196, 189, 180, 190, 198, 201, 197, 191, - 181, 203, 199, 204, 202, 205, 192, 182, 206, 207, - - 193, 208, 209, 210, 215, 200, 216, 741, 224, 196, - 189, 741, 190, 198, 201, 197, 191, 741, 203, 199, - 204, 202, 205, 192, 211, 206, 207, 193, 208, 209, - 210, 215, 217, 216, 212, 224, 227, 218, 222, 213, - 214, 219, 223, 220, 221, 225, 228, 229, 230, 226, - 231, 211, 234, 235, 236, 237, 238, 239, 240, 217, - 241, 212, 232, 227, 218, 222, 213, 214, 219, 223, - 220, 221, 225, 228, 229, 230, 226, 231, 233, 234, - 235, 236, 237, 238, 239, 240, 244, 241, 242, 232, - 245, 243, 247, 251, 248, 252, 246, 259, 260, 261, - - 262, 263, 264, 266, 741, 233, 249, 250, 286, 286, - 286, 274, 265, 244, 741, 242, 269, 245, 243, 247, - 251, 248, 252, 246, 259, 260, 261, 262, 263, 264, - 266, 267, 268, 249, 250, 253, 270, 254, 274, 265, - 275, 255, 271, 269, 276, 272, 256, 277, 280, 278, - 281, 282, 273, 257, 258, 279, 283, 284, 267, 268, - 741, 741, 253, 270, 254, 741, 287, 275, 255, 271, - 288, 276, 272, 256, 277, 280, 278, 281, 282, 273, - 257, 258, 279, 283, 284, 151, 151, 151, 285, 289, - 286, 286, 286, 287, 290, 152, 291, 288, 292, 293, - - 294, 295, 296, 297, 298, 300, 301, 302, 303, 305, - 307, 309, 306, 310, 311, 314, 289, 304, 308, 299, - 312, 290, 152, 291, 313, 292, 293, 294, 295, 296, - 297, 298, 300, 301, 302, 303, 305, 307, 309, 306, - 310, 311, 314, 315, 304, 308, 299, 312, 316, 317, - 320, 313, 321, 318, 322, 323, 324, 325, 326, 327, - 328, 331, 329, 332, 319, 330, 333, 334, 335, 336, - 315, 337, 338, 339, 340, 316, 317, 320, 341, 321, - 318, 322, 323, 324, 325, 326, 327, 328, 331, 329, - 332, 319, 330, 333, 334, 335, 336, 342, 337, 338, - - 339, 340, 343, 344, 345, 341, 346, 347, 348, 349, - 350, 351, 352, 354, 355, 357, 358, 359, 360, 361, - 362, 363, 353, 364, 342, 365, 366, 368, 356, 343, - 344, 345, 367, 346, 347, 348, 349, 350, 351, 352, - 354, 355, 357, 358, 359, 360, 361, 362, 363, 353, - 364, 369, 365, 366, 368, 356, 370, 371, 372, 367, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - 383, 384, 385, 387, 388, 389, 390, 391, 369, 392, - 393, 394, 386, 370, 371, 372, 395, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - - 387, 388, 389, 390, 391, 396, 392, 393, 394, 386, - 397, 398, 399, 395, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 412, 411, 413, 414, 415, - 416, 417, 396, 420, 418, 421, 741, 397, 398, 399, - 419, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 412, 411, 413, 414, 415, 416, 417, 422, - 420, 418, 421, 423, 424, 425, 426, 419, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 422, 445, 446, 447, - 423, 424, 425, 426, 448, 427, 428, 429, 430, 431, - - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 449, 445, 446, 447, 450, 451, 452, - 453, 448, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 449, 472, 473, 474, 450, 451, 452, 453, 475, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 476, 472, 473, - 474, 477, 478, 479, 480, 475, 481, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 482, 493, 494, - 495, 496, 497, 498, 476, 499, 500, 501, 477, 478, - - 479, 480, 502, 481, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 482, 493, 494, 495, 496, 497, - 498, 503, 499, 500, 501, 504, 505, 506, 507, 502, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 508, 523, 524, 525, 503, 526, - 527, 528, 504, 505, 506, 507, 529, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 508, 523, 524, 525, 530, 526, 527, 528, 531, - 532, 533, 534, 529, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - - 551, 552, 530, 553, 554, 555, 531, 532, 533, 534, - 556, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 557, - 553, 554, 555, 558, 559, 560, 561, 556, 562, 563, - 564, 565, 566, 567, 568, 569, 570, 572, 573, 574, - 575, 576, 577, 578, 579, 580, 557, 581, 582, 583, - 558, 559, 560, 561, 586, 562, 563, 564, 565, 566, - 567, 568, 569, 570, 572, 573, 574, 575, 576, 577, - 578, 579, 580, 587, 581, 582, 583, 584, 588, 589, - 585, 586, 590, 591, 592, 593, 594, 595, 596, 597, - - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 587, 608, 609, 610, 584, 588, 589, 585, 611, 590, - 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 612, 608, 609, - 610, 613, 614, 615, 616, 611, 617, 618, 619, 620, - 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, - 632, 633, 634, 635, 612, 636, 637, 638, 613, 614, - 615, 616, 639, 617, 618, 619, 620, 621, 622, 623, - 624, 625, 626, 627, 628, 629, 630, 632, 633, 634, - 635, 640, 636, 637, 638, 641, 642, 643, 644, 639, - - 645, 646, 647, 648, 649, 651, 652, 653, 654, 655, - 656, 657, 658, 659, 660, 661, 662, 663, 640, 664, - 665, 666, 641, 642, 643, 644, 667, 645, 646, 647, - 648, 649, 651, 652, 653, 654, 655, 656, 657, 658, - 659, 660, 661, 662, 663, 668, 664, 665, 666, 669, - 670, 671, 672, 667, 673, 674, 675, 676, 677, 678, - 679, 680, 681, 682, 683, 684, 685, 687, 688, 689, - 690, 691, 668, 692, 693, 694, 669, 670, 671, 672, - 695, 673, 674, 675, 676, 677, 678, 679, 680, 681, - 682, 683, 684, 685, 687, 688, 689, 690, 691, 696, - - 692, 693, 694, 697, 698, 699, 700, 695, 701, 702, - 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, - 713, 714, 715, 716, 717, 718, 696, 719, 720, 721, - 697, 698, 699, 700, 722, 701, 702, 703, 704, 705, - 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, - 716, 717, 718, 723, 719, 720, 721, 724, 725, 726, - 727, 722, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 741, 741, 741, 741, - 723, 741, 741, 741, 724, 725, 726, 727, 741, 728, - 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, - - 739, 740, 44, 44, 44, 44, 48, 741, 48, 48, - 148, 148, 741, 148, 5, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741 + 123, 89, 58, 74, 59, 69, 70, 75, 148, 60, + + 46, 46, 71, 76, 56, 72, 77, 697, 146, 147, + 659, 57, 88, 99, 100, 68, 73, 123, 89, 58, + 74, 59, 69, 70, 75, 148, 60, 61, 62, 71, + 76, 63, 72, 77, 64, 146, 147, 65, 78, 79, + 80, 158, 640, 66, 143, 159, 160, 67, 144, 90, + 81, 578, 145, 91, 61, 62, 151, 92, 63, 150, + 161, 64, 55, 93, 65, 78, 79, 80, 158, 94, + 66, 143, 159, 160, 67, 144, 90, 81, 82, 145, + 91, 50, 50, 50, 92, 164, 83, 161, 110, 84, + 93, 54, 85, 95, 96, 86, 94, 167, 87, 170, + + 101, 97, 111, 105, 102, 82, 98, 106, 112, 154, + 103, 107, 164, 83, 104, 110, 84, 108, 155, 85, + 95, 96, 86, 109, 167, 87, 170, 101, 97, 111, + 105, 102, 47, 98, 106, 112, 154, 103, 107, 156, + 754, 104, 119, 45, 108, 155, 120, 157, 124, 162, + 109, 113, 125, 168, 169, 114, 121, 171, 126, 122, + 184, 185, 163, 115, 45, 116, 156, 117, 165, 119, + 118, 754, 186, 120, 157, 124, 162, 166, 113, 125, + 168, 169, 114, 121, 171, 126, 122, 184, 185, 163, + 115, 178, 116, 754, 117, 165, 179, 118, 127, 186, + + 187, 128, 754, 139, 166, 140, 129, 130, 141, 131, + 142, 188, 189, 132, 51, 49, 49, 49, 178, 152, + 152, 152, 754, 179, 195, 127, 754, 187, 128, 153, + 139, 754, 140, 129, 130, 141, 131, 142, 188, 189, + 132, 133, 172, 173, 174, 134, 175, 176, 135, 136, + 180, 195, 196, 181, 754, 137, 153, 177, 138, 182, + 754, 201, 754, 754, 204, 754, 183, 754, 133, 172, + 173, 174, 134, 175, 176, 135, 136, 180, 205, 196, + 181, 190, 137, 191, 177, 138, 182, 192, 201, 197, + 199, 204, 202, 183, 193, 198, 200, 206, 194, 203, + + 207, 208, 209, 210, 211, 205, 216, 217, 190, 220, + 191, 221, 222, 218, 192, 754, 197, 199, 219, 202, + 754, 193, 198, 200, 206, 194, 203, 207, 208, 209, + 210, 211, 212, 216, 217, 225, 220, 223, 221, 222, + 218, 224, 213, 228, 229, 219, 226, 214, 215, 230, + 227, 231, 232, 235, 236, 237, 233, 238, 239, 212, + 240, 241, 225, 242, 223, 248, 253, 754, 224, 213, + 228, 229, 234, 226, 214, 215, 230, 227, 231, 232, + 235, 236, 237, 233, 238, 239, 243, 240, 241, 244, + 242, 245, 248, 253, 249, 246, 250, 254, 261, 234, + + 262, 247, 263, 264, 265, 266, 251, 252, 288, 269, + 289, 289, 289, 243, 754, 754, 244, 277, 245, 754, + 754, 249, 246, 250, 254, 261, 754, 262, 247, 263, + 264, 265, 266, 251, 252, 255, 269, 256, 267, 270, + 271, 257, 274, 272, 277, 275, 258, 278, 268, 280, + 281, 279, 276, 259, 260, 283, 282, 284, 285, 286, + 287, 290, 255, 273, 256, 267, 270, 271, 257, 274, + 272, 291, 275, 258, 278, 268, 280, 281, 279, 276, + 259, 260, 283, 282, 284, 285, 286, 287, 290, 292, + 273, 152, 152, 152, 293, 294, 295, 296, 291, 297, + + 298, 153, 299, 300, 301, 303, 304, 305, 306, 308, + 310, 312, 309, 313, 314, 317, 292, 307, 311, 302, + 754, 293, 294, 295, 296, 318, 297, 298, 153, 299, + 300, 301, 303, 304, 305, 306, 308, 310, 312, 309, + 313, 314, 317, 315, 307, 311, 302, 316, 319, 320, + 323, 324, 318, 321, 325, 326, 327, 328, 329, 330, + 331, 334, 332, 335, 322, 333, 336, 337, 338, 339, + 315, 340, 341, 342, 316, 319, 320, 323, 324, 343, + 321, 325, 326, 327, 328, 329, 330, 331, 334, 332, + 335, 322, 333, 336, 337, 338, 339, 344, 340, 341, + + 342, 345, 346, 347, 348, 349, 343, 350, 351, 352, + 353, 354, 355, 357, 360, 361, 362, 363, 364, 358, + 365, 366, 356, 367, 344, 368, 371, 372, 345, 346, + 347, 348, 349, 359, 350, 351, 352, 353, 354, 355, + 357, 360, 361, 362, 363, 364, 358, 365, 366, 356, + 367, 369, 368, 371, 372, 373, 374, 370, 375, 376, + 359, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 390, 391, 392, 393, 394, 388, 369, 395, + 396, 397, 373, 374, 370, 375, 376, 389, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 390, + + 391, 392, 393, 394, 388, 398, 395, 396, 397, 399, + 400, 401, 402, 403, 389, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 417, 416, 418, + 419, 420, 398, 421, 422, 423, 399, 400, 401, 402, + 403, 424, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 417, 416, 418, 419, 420, 425, + 421, 422, 423, 426, 429, 427, 430, 431, 424, 428, + 289, 289, 289, 289, 289, 289, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 425, 442, 443, 444, + 426, 429, 427, 430, 431, 445, 428, 446, 447, 448, + + 449, 450, 451, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 452, 442, 443, 444, 453, 454, 455, + 456, 457, 445, 458, 446, 447, 448, 449, 450, 451, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 452, 469, 470, 471, 453, 454, 455, 456, 457, 472, + 458, 473, 474, 475, 476, 477, 478, 459, 460, 461, + 462, 463, 464, 465, 466, 467, 468, 479, 469, 470, + 471, 480, 481, 482, 483, 484, 472, 485, 473, 474, + 475, 476, 477, 478, 486, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 479, 487, 497, 498, 480, 481, + + 482, 483, 484, 499, 485, 500, 501, 502, 503, 504, + 505, 486, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 506, 487, 497, 498, 507, 508, 509, 510, 511, + 499, 512, 500, 501, 502, 503, 504, 505, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 513, 506, 523, + 524, 525, 507, 508, 509, 510, 511, 526, 512, 527, + 528, 529, 530, 531, 532, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 513, 533, 523, 524, 525, 534, + 535, 536, 537, 538, 526, 539, 527, 528, 529, 530, + 531, 532, 540, 541, 542, 543, 544, 545, 546, 547, + + 548, 549, 533, 550, 551, 552, 534, 535, 536, 537, + 538, 553, 539, 554, 555, 556, 557, 558, 559, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 560, + 550, 551, 552, 561, 562, 563, 564, 565, 553, 566, + 554, 555, 556, 557, 558, 559, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 560, 577, 579, 580, + 561, 562, 563, 564, 565, 581, 566, 582, 583, 584, + 585, 586, 587, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 588, 577, 579, 580, 589, 590, 593, + 591, 594, 581, 592, 582, 583, 584, 585, 586, 587, + + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 588, 605, 606, 607, 589, 590, 593, 591, 594, 608, + 592, 609, 610, 611, 612, 613, 614, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 615, 605, 606, + 607, 616, 617, 618, 619, 620, 608, 621, 609, 610, + 611, 612, 613, 614, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 615, 632, 633, 634, 616, 617, + 618, 619, 620, 635, 621, 636, 637, 638, 639, 641, + 642, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 643, 632, 633, 634, 644, 645, 646, 647, 648, + + 635, 649, 636, 637, 638, 639, 641, 642, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 660, 643, 661, + 662, 663, 644, 645, 646, 647, 648, 664, 649, 665, + 666, 667, 668, 669, 670, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 660, 671, 661, 662, 663, 672, + 673, 674, 675, 676, 664, 677, 665, 666, 667, 668, + 669, 670, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 671, 688, 689, 690, 672, 673, 674, 675, + 676, 691, 677, 692, 693, 694, 695, 696, 698, 678, + 679, 680, 681, 682, 683, 684, 685, 686, 687, 699, + + 688, 689, 690, 700, 701, 702, 703, 704, 691, 705, + 692, 693, 694, 695, 696, 698, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 699, 716, 717, 718, + 700, 701, 702, 703, 704, 719, 705, 720, 721, 722, + 723, 724, 725, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 726, 716, 717, 718, 727, 728, 729, + 730, 731, 719, 732, 720, 721, 722, 723, 724, 725, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 726, 743, 744, 745, 727, 728, 729, 730, 731, 746, + 732, 747, 748, 749, 750, 751, 752, 733, 734, 735, + + 736, 737, 738, 739, 740, 741, 742, 753, 743, 744, + 745, 754, 754, 754, 754, 754, 746, 754, 747, 748, + 749, 750, 751, 752, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 753, 44, 44, 44, 44, 48, + 754, 48, 48, 149, 149, 754, 149, 5, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754 } ; -static const flex_int16_t yy_chk[1584] = +static const flex_int16_t yy_chk[1617] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1154,12 +1161,12 @@ static const flex_int16_t yy_chk[1584] = 15, 15, 16, 16, 19, 25, 28, 29, 21, 22, 35, 25, 19, 22, 19, 21, 21, 22, 43, 19, - 46, 46, 21, 22, 744, 21, 22, 631, 41, 41, - 571, 19, 25, 28, 29, 21, 22, 35, 25, 19, + 46, 46, 21, 22, 757, 21, 22, 640, 41, 41, + 578, 19, 25, 28, 29, 21, 22, 35, 25, 19, 22, 19, 21, 21, 22, 43, 19, 20, 20, 21, 22, 20, 21, 22, 20, 41, 41, 20, 23, 23, - 23, 59, 541, 20, 40, 60, 61, 20, 40, 26, - 23, 465, 40, 26, 20, 20, 48, 26, 20, 45, + 23, 59, 548, 20, 40, 60, 61, 20, 40, 26, + 23, 470, 40, 26, 20, 20, 48, 26, 20, 45, 62, 20, 18, 26, 20, 23, 23, 23, 59, 26, 20, 40, 60, 61, 20, 40, 26, 23, 24, 40, 26, 50, 50, 50, 26, 64, 24, 62, 32, 24, @@ -1171,155 +1178,159 @@ static const flex_int16_t yy_chk[1584] = 31, 30, 9, 27, 31, 32, 57, 30, 31, 58, 5, 30, 34, 4, 31, 57, 34, 58, 36, 63, 31, 33, 36, 68, 68, 33, 34, 70, 36, 34, - 75, 3, 63, 33, 0, 33, 58, 33, 0, 34, - 33, 0, 0, 34, 58, 36, 63, 0, 33, 36, - 68, 68, 33, 34, 70, 36, 34, 75, 37, 63, - 33, 37, 33, 39, 33, 39, 37, 33, 39, 37, - - 39, 76, 0, 37, 49, 49, 49, 49, 0, 51, - 51, 51, 285, 285, 285, 37, 77, 0, 37, 51, - 39, 0, 39, 37, 65, 39, 37, 39, 76, 73, - 37, 38, 78, 65, 73, 38, 0, 72, 38, 38, - 71, 71, 71, 77, 71, 38, 51, 72, 38, 79, - 80, 65, 82, 83, 74, 0, 73, 74, 38, 78, - 65, 73, 38, 74, 72, 38, 38, 71, 71, 71, - 74, 71, 38, 0, 72, 38, 79, 80, 86, 82, - 83, 74, 84, 81, 74, 81, 85, 87, 84, 81, - 74, 88, 85, 89, 87, 90, 81, 74, 91, 92, - - 81, 93, 94, 96, 99, 86, 100, 0, 104, 84, - 81, 0, 81, 85, 87, 84, 81, 0, 88, 85, - 89, 87, 90, 81, 97, 91, 92, 81, 93, 94, - 96, 99, 101, 100, 97, 104, 106, 101, 103, 97, - 97, 102, 103, 102, 102, 105, 107, 108, 109, 105, - 110, 97, 112, 113, 114, 116, 117, 118, 119, 101, - 120, 97, 111, 106, 101, 103, 97, 97, 102, 103, - 102, 102, 105, 107, 108, 109, 105, 110, 111, 112, - 113, 114, 116, 117, 118, 119, 122, 120, 121, 111, - 122, 121, 123, 125, 124, 126, 122, 128, 129, 130, - - 131, 132, 133, 134, 0, 111, 124, 124, 286, 286, - 286, 139, 133, 122, 0, 121, 137, 122, 121, 123, - 125, 124, 126, 122, 128, 129, 130, 131, 132, 133, - 134, 135, 135, 124, 124, 127, 137, 127, 139, 133, - 140, 127, 138, 137, 140, 138, 127, 141, 143, 142, - 144, 145, 138, 127, 127, 142, 146, 147, 135, 135, - 0, 0, 127, 137, 127, 0, 154, 140, 127, 138, - 155, 140, 138, 127, 141, 143, 142, 144, 145, 138, - 127, 127, 142, 146, 147, 151, 151, 151, 152, 156, - 152, 152, 152, 154, 159, 151, 160, 155, 161, 162, - - 163, 163, 164, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 172, 175, 176, 178, 156, 171, 173, 167, - 177, 159, 151, 160, 177, 161, 162, 163, 163, 164, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 172, - 175, 176, 178, 179, 171, 173, 167, 177, 180, 181, - 182, 177, 183, 181, 184, 185, 186, 187, 189, 190, - 191, 193, 192, 194, 181, 192, 195, 196, 197, 198, - 179, 199, 200, 201, 202, 180, 181, 182, 203, 183, - 181, 184, 185, 186, 187, 189, 190, 191, 193, 192, - 194, 181, 192, 195, 196, 197, 198, 204, 199, 200, - - 201, 202, 205, 206, 207, 203, 208, 209, 210, 211, - 212, 213, 214, 215, 217, 218, 219, 220, 221, 222, - 223, 224, 214, 225, 204, 226, 227, 228, 217, 205, - 206, 207, 227, 208, 209, 210, 211, 212, 213, 214, - 215, 217, 218, 219, 220, 221, 222, 223, 224, 214, - 225, 229, 226, 227, 228, 217, 230, 231, 232, 227, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 229, 252, - 253, 254, 246, 230, 231, 232, 255, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - - 247, 248, 249, 250, 251, 256, 252, 253, 254, 246, - 257, 259, 260, 255, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 271, 273, 274, 276, - 277, 278, 256, 280, 279, 281, 0, 257, 259, 260, - 279, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 271, 273, 274, 276, 277, 278, 282, - 280, 279, 281, 282, 283, 284, 287, 279, 288, 289, - 290, 291, 292, 293, 295, 296, 297, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 282, 310, 311, 312, - 282, 283, 284, 287, 313, 288, 289, 290, 291, 292, - - 293, 295, 296, 297, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 315, 310, 311, 312, 316, 317, 318, - 319, 313, 321, 322, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 340, 341, 342, - 315, 343, 344, 345, 316, 317, 318, 319, 346, 321, - 322, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 340, 341, 342, 347, 343, 344, - 345, 348, 349, 350, 351, 346, 352, 355, 356, 359, - 364, 365, 366, 367, 368, 369, 370, 352, 371, 372, - 374, 375, 376, 377, 347, 378, 380, 381, 348, 349, - - 350, 351, 382, 352, 355, 356, 359, 364, 365, 366, - 367, 368, 369, 370, 352, 371, 372, 374, 375, 376, - 377, 383, 378, 380, 381, 384, 385, 386, 387, 382, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 399, - 400, 401, 402, 403, 387, 406, 407, 408, 383, 410, - 411, 412, 384, 385, 386, 387, 413, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, - 403, 387, 406, 407, 408, 414, 410, 411, 412, 415, - 417, 418, 419, 413, 420, 421, 423, 425, 427, 429, - 430, 431, 432, 433, 434, 435, 436, 438, 439, 440, - - 441, 442, 414, 443, 444, 445, 415, 417, 418, 419, - 447, 420, 421, 423, 425, 427, 429, 430, 431, 432, - 433, 434, 435, 436, 438, 439, 440, 441, 442, 448, - 443, 444, 445, 449, 450, 451, 452, 447, 454, 455, - 456, 457, 458, 459, 460, 461, 462, 467, 468, 469, - 470, 472, 473, 474, 476, 477, 448, 478, 480, 481, - 449, 450, 451, 452, 483, 454, 455, 456, 457, 458, - 459, 460, 461, 462, 467, 468, 469, 470, 472, 473, - 474, 476, 477, 484, 478, 480, 481, 482, 487, 488, - 482, 483, 489, 490, 491, 492, 493, 495, 496, 497, - - 500, 502, 503, 504, 505, 506, 507, 509, 510, 512, - 484, 513, 514, 515, 482, 487, 488, 482, 516, 489, - 490, 491, 492, 493, 495, 496, 497, 500, 502, 503, - 504, 505, 506, 507, 509, 510, 512, 517, 513, 514, - 515, 518, 519, 520, 521, 516, 522, 523, 524, 525, - 527, 528, 529, 530, 532, 533, 534, 535, 539, 540, - 545, 547, 549, 550, 517, 551, 552, 553, 518, 519, - 520, 521, 554, 522, 523, 524, 525, 527, 528, 529, - 530, 532, 533, 534, 535, 539, 540, 545, 547, 549, - 550, 556, 551, 552, 553, 557, 558, 559, 561, 554, - - 562, 564, 566, 568, 570, 572, 578, 579, 581, 583, - 584, 585, 587, 589, 591, 593, 594, 595, 556, 597, - 598, 599, 557, 558, 559, 561, 600, 562, 564, 566, - 568, 570, 572, 578, 579, 581, 583, 584, 585, 587, - 589, 591, 593, 594, 595, 601, 597, 598, 599, 602, - 603, 604, 607, 600, 609, 610, 612, 613, 615, 617, - 618, 619, 620, 623, 626, 627, 629, 633, 634, 640, - 641, 644, 601, 645, 646, 651, 602, 603, 604, 607, - 652, 609, 610, 612, 613, 615, 617, 618, 619, 620, - 623, 626, 627, 629, 633, 634, 640, 641, 644, 656, - - 645, 646, 651, 657, 659, 661, 664, 652, 665, 669, - 670, 672, 674, 676, 677, 678, 679, 681, 682, 684, - 685, 688, 689, 691, 693, 695, 656, 696, 699, 701, - 657, 659, 661, 664, 703, 665, 669, 670, 672, 674, - 676, 677, 678, 679, 681, 682, 684, 685, 688, 689, - 691, 693, 695, 707, 696, 699, 701, 708, 709, 710, - 712, 703, 713, 714, 720, 721, 722, 723, 724, 726, - 730, 731, 734, 735, 739, 0, 0, 0, 0, 0, - 707, 0, 0, 0, 708, 709, 710, 712, 0, 713, - 714, 720, 721, 722, 723, 724, 726, 730, 731, 734, - - 735, 739, 742, 742, 742, 742, 743, 0, 743, 743, - 745, 745, 0, 745, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741 + 75, 76, 63, 33, 3, 33, 58, 33, 65, 34, + 33, 0, 77, 34, 58, 36, 63, 65, 33, 36, + 68, 68, 33, 34, 70, 36, 34, 75, 76, 63, + 33, 73, 33, 0, 33, 65, 73, 33, 37, 77, + + 78, 37, 0, 39, 65, 39, 37, 37, 39, 37, + 39, 79, 80, 37, 49, 49, 49, 49, 73, 51, + 51, 51, 0, 73, 82, 37, 0, 78, 37, 51, + 39, 0, 39, 37, 37, 39, 37, 39, 79, 80, + 37, 38, 71, 71, 71, 38, 71, 72, 38, 38, + 74, 82, 83, 74, 0, 38, 51, 72, 38, 74, + 0, 86, 0, 0, 88, 0, 74, 0, 38, 71, + 71, 71, 38, 71, 72, 38, 38, 74, 89, 83, + 74, 81, 38, 81, 72, 38, 74, 81, 86, 84, + 85, 88, 87, 74, 81, 84, 85, 90, 81, 87, + + 91, 92, 93, 94, 96, 89, 99, 100, 81, 102, + 81, 102, 102, 101, 81, 0, 84, 85, 101, 87, + 0, 81, 84, 85, 90, 81, 87, 91, 92, 93, + 94, 96, 97, 99, 100, 104, 102, 103, 102, 102, + 101, 103, 97, 106, 107, 101, 105, 97, 97, 108, + 105, 109, 110, 112, 113, 114, 111, 116, 117, 97, + 118, 119, 104, 120, 103, 123, 125, 0, 103, 97, + 106, 107, 111, 105, 97, 97, 108, 105, 109, 110, + 112, 113, 114, 111, 116, 117, 121, 118, 119, 121, + 120, 122, 123, 125, 124, 122, 124, 126, 128, 111, + + 129, 122, 130, 131, 132, 133, 124, 124, 153, 135, + 153, 153, 153, 121, 0, 0, 121, 140, 122, 0, + 0, 124, 122, 124, 126, 128, 0, 129, 122, 130, + 131, 132, 133, 124, 124, 127, 135, 127, 134, 136, + 136, 127, 139, 138, 140, 139, 127, 141, 134, 142, + 143, 141, 139, 127, 127, 144, 143, 145, 146, 147, + 148, 155, 127, 138, 127, 134, 136, 136, 127, 139, + 138, 156, 139, 127, 141, 134, 142, 143, 141, 139, + 127, 127, 144, 143, 145, 146, 147, 148, 155, 157, + 138, 152, 152, 152, 160, 161, 162, 163, 156, 164, + + 164, 152, 165, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 173, 176, 177, 179, 157, 172, 174, 168, + 0, 160, 161, 162, 163, 180, 164, 164, 152, 165, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 173, + 176, 177, 179, 178, 172, 174, 168, 178, 181, 182, + 183, 184, 180, 182, 185, 186, 187, 188, 190, 191, + 192, 194, 193, 195, 182, 193, 196, 197, 198, 199, + 178, 200, 201, 202, 178, 181, 182, 183, 184, 203, + 182, 185, 186, 187, 188, 190, 191, 192, 194, 193, + 195, 182, 193, 196, 197, 198, 199, 204, 200, 201, + + 202, 205, 206, 207, 208, 209, 203, 210, 211, 212, + 213, 214, 215, 216, 219, 220, 221, 222, 223, 218, + 224, 225, 215, 226, 204, 227, 229, 230, 205, 206, + 207, 208, 209, 218, 210, 211, 212, 213, 214, 215, + 216, 219, 220, 221, 222, 223, 218, 224, 225, 215, + 226, 228, 227, 229, 230, 231, 232, 228, 233, 235, + 218, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 248, 249, 250, 251, 252, 247, 228, 253, + 254, 255, 231, 232, 228, 233, 235, 247, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 248, + + 249, 250, 251, 252, 247, 256, 253, 254, 255, 257, + 258, 259, 261, 262, 247, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 274, 276, + 277, 279, 256, 280, 281, 282, 257, 258, 259, 261, + 262, 282, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 274, 276, 277, 279, 283, + 280, 281, 282, 284, 286, 285, 287, 290, 282, 285, + 288, 288, 288, 289, 289, 289, 291, 292, 293, 294, + 295, 296, 298, 299, 300, 303, 283, 304, 305, 306, + 284, 286, 285, 287, 290, 307, 285, 308, 309, 310, + + 311, 313, 314, 291, 292, 293, 294, 295, 296, 298, + 299, 300, 303, 315, 304, 305, 306, 316, 318, 319, + 320, 321, 307, 322, 308, 309, 310, 311, 313, 314, + 324, 325, 328, 329, 330, 331, 332, 333, 334, 335, + 315, 336, 337, 338, 316, 318, 319, 320, 321, 339, + 322, 340, 343, 344, 345, 346, 347, 324, 325, 328, + 329, 330, 331, 332, 333, 334, 335, 348, 336, 337, + 338, 349, 350, 351, 352, 353, 339, 354, 340, 343, + 344, 345, 346, 347, 355, 358, 359, 362, 367, 368, + 369, 370, 371, 372, 348, 355, 373, 374, 349, 350, + + 351, 352, 353, 375, 354, 377, 378, 379, 380, 381, + 383, 355, 358, 359, 362, 367, 368, 369, 370, 371, + 372, 384, 355, 373, 374, 385, 386, 387, 388, 389, + 375, 390, 377, 378, 379, 380, 381, 383, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 390, 384, 401, + 403, 404, 385, 386, 387, 388, 389, 405, 390, 406, + 407, 408, 411, 412, 413, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 390, 415, 401, 403, 404, 416, + 417, 418, 419, 420, 405, 422, 406, 407, 408, 411, + 412, 413, 423, 424, 425, 426, 428, 430, 432, 434, + + 435, 436, 415, 437, 438, 439, 416, 417, 418, 419, + 420, 440, 422, 441, 443, 444, 445, 446, 447, 423, + 424, 425, 426, 428, 430, 432, 434, 435, 436, 448, + 437, 438, 439, 449, 450, 452, 453, 454, 440, 455, + 441, 443, 444, 445, 446, 447, 456, 457, 459, 460, + 461, 462, 463, 464, 465, 466, 448, 467, 472, 473, + 449, 450, 452, 453, 454, 474, 455, 475, 477, 478, + 479, 481, 482, 456, 457, 459, 460, 461, 462, 463, + 464, 465, 466, 483, 467, 472, 473, 485, 486, 488, + 487, 489, 474, 487, 475, 477, 478, 479, 481, 482, + + 492, 493, 494, 495, 496, 497, 498, 500, 501, 502, + 483, 505, 507, 508, 485, 486, 488, 487, 489, 509, + 487, 510, 511, 512, 514, 515, 516, 492, 493, 494, + 495, 496, 497, 498, 500, 501, 502, 518, 505, 507, + 508, 519, 520, 521, 522, 523, 509, 524, 510, 511, + 512, 514, 515, 516, 525, 526, 527, 528, 529, 530, + 531, 532, 534, 535, 518, 536, 537, 539, 519, 520, + 521, 522, 523, 540, 524, 541, 542, 546, 547, 552, + 554, 525, 526, 527, 528, 529, 530, 531, 532, 534, + 535, 556, 536, 537, 539, 557, 558, 559, 560, 561, + + 540, 563, 541, 542, 546, 547, 552, 554, 564, 565, + 566, 568, 569, 571, 573, 575, 577, 579, 556, 585, + 586, 588, 557, 558, 559, 560, 561, 590, 563, 591, + 592, 594, 596, 598, 600, 564, 565, 566, 568, 569, + 571, 573, 575, 577, 579, 601, 585, 586, 588, 602, + 604, 605, 606, 607, 590, 608, 591, 592, 594, 596, + 598, 600, 609, 610, 611, 612, 615, 617, 618, 620, + 621, 622, 601, 624, 626, 627, 602, 604, 605, 606, + 607, 628, 608, 629, 632, 635, 636, 638, 642, 609, + 610, 611, 612, 615, 617, 618, 620, 621, 622, 643, + + 624, 626, 627, 649, 650, 653, 654, 655, 628, 660, + 629, 632, 635, 636, 638, 642, 661, 665, 666, 668, + 670, 673, 674, 678, 679, 682, 643, 684, 686, 687, + 649, 650, 653, 654, 655, 688, 660, 689, 690, 692, + 693, 695, 696, 661, 665, 666, 668, 670, 673, 674, + 678, 679, 682, 699, 684, 686, 687, 700, 702, 704, + 706, 707, 688, 710, 689, 690, 692, 693, 695, 696, + 712, 714, 718, 719, 720, 721, 722, 724, 725, 726, + 699, 732, 733, 734, 700, 702, 704, 706, 707, 736, + 710, 737, 739, 743, 744, 747, 748, 712, 714, 718, + + 719, 720, 721, 722, 724, 725, 726, 752, 732, 733, + 734, 0, 0, 0, 0, 0, 736, 0, 737, 739, + 743, 744, 747, 748, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 752, 755, 755, 755, 755, 756, + 0, 756, 756, 758, 758, 0, 758, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754 } ; -static const flex_int16_t yy_rule_linenum[206] = +static const flex_int16_t yy_rule_linenum[209] = { 0, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, @@ -1340,10 +1351,10 @@ static const flex_int16_t yy_rule_linenum[206] = 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 220, - 221, 222, 223, 224, 226, 228, 229, 234, 244, 253, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 223, 224, 225, 226, 227, 229, 231, 232, - 258, 259, 260, 261, 264 + 237, 247, 256, 261, 262, 263, 264, 267 } ; /* The intent behind this definition is that it'll catch @@ -1362,10 +1373,10 @@ static const flex_int16_t yy_rule_linenum[206] = static thread_local std::stringstream string_buffer; -#line 1366 "lexer.cpp" +#line 1377 "lexer.cpp" #define YY_NO_INPUT 1 -#line 1369 "lexer.cpp" +#line 1380 "lexer.cpp" #define INITIAL 0 #define SINGLE_QUOTED_STRING 1 @@ -1719,7 +1730,7 @@ YY_DECL #line 27 "lexer.l" -#line 1723 "lexer.cpp" +#line 1734 "lexer.cpp" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1748,13 +1759,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 742 ) + if ( yy_current_state >= 755 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 741 ); + while ( yy_current_state != 754 ); yy_cp = yyg->yy_last_accepting_cpos; yy_current_state = yyg->yy_last_accepting_state; @@ -1773,13 +1784,13 @@ YY_DECL { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 206 ) + else if ( yy_act < 209 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 206 ) + else if ( yy_act == 209 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 207 ) + else if ( yy_act == 210 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -2499,291 +2510,306 @@ YY_RULE_SETUP case 141: YY_RULE_SETUP #line 170 "lexer.l" -{ return RENAME; } +{ return RECOVER; } YY_BREAK case 142: YY_RULE_SETUP #line 171 "lexer.l" -{ return REMOVE; } +{ return RENAME; } YY_BREAK case 143: YY_RULE_SETUP #line 172 "lexer.l" -{ return RIGHT; } +{ return REMOVE; } YY_BREAK case 144: YY_RULE_SETUP #line 173 "lexer.l" -{ return ROWLIMIT; } +{ return RIGHT; } YY_BREAK case 145: YY_RULE_SETUP #line 174 "lexer.l" -{ return SEARCH; } +{ return ROWLIMIT; } YY_BREAK case 146: YY_RULE_SETUP #line 175 "lexer.l" -{ return SECOND; } +{ return SEARCH; } YY_BREAK case 147: YY_RULE_SETUP #line 176 "lexer.l" -{ return SECONDS; } +{ return SECOND; } YY_BREAK case 148: YY_RULE_SETUP #line 177 "lexer.l" -{ return SELECT; } +{ return SECONDS; } YY_BREAK case 149: YY_RULE_SETUP #line 178 "lexer.l" -{ return SESSION; } +{ return SELECT; } YY_BREAK case 150: YY_RULE_SETUP #line 179 "lexer.l" -{ return SET; } +{ return SESSION; } YY_BREAK case 151: YY_RULE_SETUP #line 180 "lexer.l" -{ return SEGMENT; } +{ return SET; } YY_BREAK case 152: YY_RULE_SETUP #line 181 "lexer.l" -{ return SEGMENTS; } +{ return SEGMENT; } YY_BREAK case 153: YY_RULE_SETUP #line 182 "lexer.l" -{ return SHOW; } +{ return SEGMENTS; } YY_BREAK case 154: YY_RULE_SETUP #line 183 "lexer.l" -{ return SMALLINT; } +{ return SHOW; } YY_BREAK case 155: YY_RULE_SETUP #line 184 "lexer.l" -{ return SPARSE; } +{ return SMALLINT; } YY_BREAK case 156: YY_RULE_SETUP #line 185 "lexer.l" -{ return STANDALONE; } +{ return SNAPSHOT; } YY_BREAK case 157: YY_RULE_SETUP #line 186 "lexer.l" -{ return TABLE; } +{ return SNAPSHOTS; } YY_BREAK case 158: YY_RULE_SETUP #line 187 "lexer.l" -{ return TABLES; } +{ return SPARSE; } YY_BREAK case 159: YY_RULE_SETUP #line 188 "lexer.l" -{ return TENSOR; } +{ return STANDALONE; } YY_BREAK case 160: YY_RULE_SETUP #line 189 "lexer.l" -{ return TENSORARRAY; } +{ return TABLE; } YY_BREAK case 161: YY_RULE_SETUP #line 190 "lexer.l" -{ return TEXT; } +{ return TABLES; } YY_BREAK case 162: YY_RULE_SETUP #line 191 "lexer.l" -{ return THEN; } +{ return TENSOR; } YY_BREAK case 163: YY_RULE_SETUP #line 192 "lexer.l" -{ return TIME; } +{ return TENSORARRAY; } YY_BREAK case 164: YY_RULE_SETUP #line 193 "lexer.l" -{ return TIMESTAMP; } +{ return TEXT; } YY_BREAK case 165: YY_RULE_SETUP #line 194 "lexer.l" -{ return TINYINT; } +{ return THEN; } YY_BREAK case 166: YY_RULE_SETUP #line 195 "lexer.l" -{ return TO; } +{ return TIME; } YY_BREAK case 167: YY_RULE_SETUP #line 196 "lexer.l" -{ return TRANSACTION; } +{ return TIMESTAMP; } YY_BREAK case 168: YY_RULE_SETUP #line 197 "lexer.l" -{ return TRANSACTIONS; } +{ return TINYINT; } YY_BREAK case 169: YY_RULE_SETUP #line 198 "lexer.l" -{ return TRUE; } +{ return TO; } YY_BREAK case 170: YY_RULE_SETUP #line 199 "lexer.l" -{ return UNION; } +{ return TRANSACTION; } YY_BREAK case 171: YY_RULE_SETUP #line 200 "lexer.l" -{ return UNIQUE; } +{ return TRANSACTIONS; } YY_BREAK case 172: YY_RULE_SETUP #line 201 "lexer.l" -{ return UNLOCK; } +{ return TRUE; } YY_BREAK case 173: YY_RULE_SETUP #line 202 "lexer.l" -{ return UNSIGNED; } +{ return UNION; } YY_BREAK case 174: YY_RULE_SETUP #line 203 "lexer.l" -{ return USING; } +{ return UNIQUE; } YY_BREAK case 175: YY_RULE_SETUP #line 204 "lexer.l" -{ return UPDATE; } +{ return UNLOCK; } YY_BREAK case 176: YY_RULE_SETUP #line 205 "lexer.l" -{ return UUID; } +{ return UNSIGNED; } YY_BREAK case 177: YY_RULE_SETUP #line 206 "lexer.l" -{ return USE; } +{ return USING; } YY_BREAK case 178: YY_RULE_SETUP #line 207 "lexer.l" -{ return VALUES; } +{ return UPDATE; } YY_BREAK case 179: YY_RULE_SETUP #line 208 "lexer.l" -{ return VARIABLE; } +{ return UUID; } YY_BREAK case 180: YY_RULE_SETUP #line 209 "lexer.l" -{ return VARIABLES; } +{ return USE; } YY_BREAK case 181: YY_RULE_SETUP #line 210 "lexer.l" -{ return VARCHAR; } +{ return VALUES; } YY_BREAK case 182: YY_RULE_SETUP #line 211 "lexer.l" -{ return VECTOR; } +{ return VARIABLE; } YY_BREAK case 183: YY_RULE_SETUP #line 212 "lexer.l" -{ return VIEW; } +{ return VARIABLES; } YY_BREAK case 184: YY_RULE_SETUP #line 213 "lexer.l" -{ return VIEWS; } +{ return VARCHAR; } YY_BREAK case 185: YY_RULE_SETUP #line 214 "lexer.l" -{ return WHEN; } +{ return VECTOR; } YY_BREAK case 186: YY_RULE_SETUP #line 215 "lexer.l" -{ return WHERE; } +{ return VIEW; } YY_BREAK case 187: YY_RULE_SETUP #line 216 "lexer.l" -{ return WITH; } +{ return VIEWS; } YY_BREAK case 188: YY_RULE_SETUP #line 217 "lexer.l" -{ return YEAR; } +{ return WHEN; } YY_BREAK case 189: YY_RULE_SETUP #line 218 "lexer.l" -{ return YEARS; } +{ return WHERE; } YY_BREAK case 190: YY_RULE_SETUP -#line 220 "lexer.l" -{ return EQUAL; } +#line 219 "lexer.l" +{ return WITH; } YY_BREAK case 191: YY_RULE_SETUP -#line 221 "lexer.l" -{ return NOT_EQ; } +#line 220 "lexer.l" +{ return YEAR; } YY_BREAK case 192: YY_RULE_SETUP -#line 222 "lexer.l" -{ return NOT_EQ; } +#line 221 "lexer.l" +{ return YEARS; } YY_BREAK case 193: YY_RULE_SETUP #line 223 "lexer.l" -{ return LESS_EQ; } +{ return EQUAL; } YY_BREAK case 194: YY_RULE_SETUP #line 224 "lexer.l" -{ return GREATER_EQ; } +{ return NOT_EQ; } YY_BREAK case 195: YY_RULE_SETUP -#line 226 "lexer.l" -{ return yytext[0]; } +#line 225 "lexer.l" +{ return NOT_EQ; } YY_BREAK case 196: -#line 229 "lexer.l" +YY_RULE_SETUP +#line 226 "lexer.l" +{ return LESS_EQ; } + YY_BREAK case 197: YY_RULE_SETUP +#line 227 "lexer.l" +{ return GREATER_EQ; } + YY_BREAK +case 198: +YY_RULE_SETUP #line 229 "lexer.l" +{ return yytext[0]; } + YY_BREAK +case 199: +#line 232 "lexer.l" +case 200: +YY_RULE_SETUP +#line 232 "lexer.l" { yylval->double_value = atof(yytext); return DOUBLE_VALUE; } YY_BREAK -case 198: +case 201: YY_RULE_SETUP -#line 234 "lexer.l" +#line 237 "lexer.l" { errno = 0; yylval->long_value = strtoll(yytext, nullptr, 0); @@ -2794,9 +2820,9 @@ YY_RULE_SETUP return LONG_VALUE; } YY_BREAK -case 199: +case 202: YY_RULE_SETUP -#line 244 "lexer.l" +#line 247 "lexer.l" { // total length - 2 of quota + 1 null char long str_len = strlen(yytext) - 1; @@ -2806,50 +2832,50 @@ YY_RULE_SETUP return IDENTIFIER; } YY_BREAK -case 200: +case 203: YY_RULE_SETUP -#line 253 "lexer.l" +#line 256 "lexer.l" { yylval->str_value = strdup(yytext); return IDENTIFIER; } YY_BREAK -case 201: +case 204: YY_RULE_SETUP -#line 258 "lexer.l" +#line 261 "lexer.l" { BEGIN SINGLE_QUOTED_STRING; string_buffer.clear(); string_buffer.str(""); } // Clear strbuf manually, see #170 YY_BREAK -case 202: +case 205: YY_RULE_SETUP -#line 259 "lexer.l" +#line 262 "lexer.l" { string_buffer << '\''; } YY_BREAK -case 203: -/* rule 203 can match eol */ +case 206: +/* rule 206 can match eol */ YY_RULE_SETUP -#line 260 "lexer.l" +#line 263 "lexer.l" { string_buffer << yytext; } YY_BREAK -case 204: +case 207: YY_RULE_SETUP -#line 261 "lexer.l" +#line 264 "lexer.l" { BEGIN INITIAL; yylval->str_value = strdup(string_buffer.str().c_str()); return STRING; } YY_BREAK case YY_STATE_EOF(SINGLE_QUOTED_STRING): -#line 262 "lexer.l" +#line 265 "lexer.l" { fprintf(stderr, "[SQL-Lexer-Error] Unterminated string\n"); return 0; } YY_BREAK -case 205: +case 208: YY_RULE_SETUP -#line 264 "lexer.l" +#line 267 "lexer.l" { fprintf(stderr, "[SQL-Lexer-Error] Unknown Character: %c\n", yytext[0]); return 0; } YY_BREAK -case 206: +case 209: YY_RULE_SETUP -#line 266 "lexer.l" +#line 269 "lexer.l" ECHO; YY_BREAK -#line 2853 "lexer.cpp" +#line 2879 "lexer.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -3172,7 +3198,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 742 ) + if ( yy_current_state >= 755 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -3206,11 +3232,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 742 ) + if ( yy_current_state >= 755 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 741); + yy_is_jam = (yy_current_state == 754); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -4147,7 +4173,7 @@ void yyfree (void * ptr , yyscan_t yyscanner) /* %ok-for-header */ -#line 266 "lexer.l" +#line 269 "lexer.l" int yyerror(const char *msg) { diff --git a/src/parser/lexer.h b/src/parser/lexer.h index 9682f60960..3a5ea4ec0b 100644 --- a/src/parser/lexer.h +++ b/src/parser/lexer.h @@ -846,7 +846,7 @@ extern int yylex \ #undef yyTABLES_NAME #endif -#line 266 "lexer.l" +#line 269 "lexer.l" #line 853 "lexer.h" diff --git a/src/parser/lexer.l b/src/parser/lexer.l index a6a27e4a49..710855403d 100644 --- a/src/parser/lexer.l +++ b/src/parser/lexer.l @@ -167,6 +167,7 @@ PROPERTIES { return PROPERTIES; } QUERIES { return QUERIES; } QUERY { return QUERY; } REAL { return REAL; } +RECOVER { return RECOVER; } RENAME { return RENAME; } REMOVE { return REMOVE; } RIGHT { return RIGHT; } @@ -181,6 +182,8 @@ SEGMENT { return SEGMENT; } SEGMENTS { return SEGMENTS; } SHOW { return SHOW; } SMALLINT { return SMALLINT; } +SNAPSHOT { return SNAPSHOT; } +SNAPSHOTS { return SNAPSHOTS; } SPARSE { return SPARSE; } STANDALONE { return STANDALONE; } TABLE { return TABLE; } diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp index fa27d4d6b2..a74929d0db 100644 --- a/src/parser/parser.cpp +++ b/src/parser/parser.cpp @@ -304,145 +304,148 @@ enum yysymbol_kind_t YYSYMBOL_NODES = 190, /* NODES */ YYSYMBOL_NODE = 191, /* NODE */ YYSYMBOL_REMOVE = 192, /* REMOVE */ - YYSYMBOL_PERSISTENCE = 193, /* PERSISTENCE */ - YYSYMBOL_OBJECT = 194, /* OBJECT */ - YYSYMBOL_OBJECTS = 195, /* OBJECTS */ - YYSYMBOL_FILES = 196, /* FILES */ - YYSYMBOL_MEMORY = 197, /* MEMORY */ - YYSYMBOL_ALLOCATION = 198, /* ALLOCATION */ - YYSYMBOL_NUMBER = 199, /* NUMBER */ - YYSYMBOL_200_ = 200, /* '=' */ - YYSYMBOL_201_ = 201, /* '<' */ - YYSYMBOL_202_ = 202, /* '>' */ - YYSYMBOL_203_ = 203, /* '+' */ - YYSYMBOL_204_ = 204, /* '-' */ - YYSYMBOL_205_ = 205, /* '*' */ - YYSYMBOL_206_ = 206, /* '/' */ - YYSYMBOL_207_ = 207, /* '%' */ - YYSYMBOL_208_ = 208, /* '[' */ - YYSYMBOL_209_ = 209, /* ']' */ - YYSYMBOL_210_ = 210, /* '(' */ - YYSYMBOL_211_ = 211, /* ')' */ - YYSYMBOL_212_ = 212, /* '.' */ - YYSYMBOL_213_ = 213, /* ';' */ - YYSYMBOL_214_ = 214, /* ',' */ - YYSYMBOL_215_ = 215, /* ':' */ - YYSYMBOL_YYACCEPT = 216, /* $accept */ - YYSYMBOL_input_pattern = 217, /* input_pattern */ - YYSYMBOL_statement_list = 218, /* statement_list */ - YYSYMBOL_statement = 219, /* statement */ - YYSYMBOL_explainable_statement = 220, /* explainable_statement */ - YYSYMBOL_create_statement = 221, /* create_statement */ - YYSYMBOL_table_element_array = 222, /* table_element_array */ - YYSYMBOL_column_def_array = 223, /* column_def_array */ - YYSYMBOL_table_element = 224, /* table_element */ - YYSYMBOL_table_column = 225, /* table_column */ - YYSYMBOL_column_type = 226, /* column_type */ - YYSYMBOL_column_constraints = 227, /* column_constraints */ - YYSYMBOL_column_constraint = 228, /* column_constraint */ - YYSYMBOL_default_expr = 229, /* default_expr */ - YYSYMBOL_table_constraint = 230, /* table_constraint */ - YYSYMBOL_identifier_array = 231, /* identifier_array */ - YYSYMBOL_delete_statement = 232, /* delete_statement */ - YYSYMBOL_insert_statement = 233, /* insert_statement */ - YYSYMBOL_optional_identifier_array = 234, /* optional_identifier_array */ - YYSYMBOL_explain_statement = 235, /* explain_statement */ - YYSYMBOL_update_statement = 236, /* update_statement */ - YYSYMBOL_update_expr_array = 237, /* update_expr_array */ - YYSYMBOL_update_expr = 238, /* update_expr */ - YYSYMBOL_drop_statement = 239, /* drop_statement */ - YYSYMBOL_copy_statement = 240, /* copy_statement */ - YYSYMBOL_select_statement = 241, /* select_statement */ - YYSYMBOL_select_with_paren = 242, /* select_with_paren */ - YYSYMBOL_select_without_paren = 243, /* select_without_paren */ - YYSYMBOL_select_clause_with_modifier = 244, /* select_clause_with_modifier */ - YYSYMBOL_select_clause_without_modifier_paren = 245, /* select_clause_without_modifier_paren */ - YYSYMBOL_select_clause_without_modifier = 246, /* select_clause_without_modifier */ - YYSYMBOL_order_by_clause = 247, /* order_by_clause */ - YYSYMBOL_order_by_expr_list = 248, /* order_by_expr_list */ - YYSYMBOL_order_by_expr = 249, /* order_by_expr */ - YYSYMBOL_order_by_type = 250, /* order_by_type */ - YYSYMBOL_limit_expr = 251, /* limit_expr */ - YYSYMBOL_offset_expr = 252, /* offset_expr */ - YYSYMBOL_distinct = 253, /* distinct */ - YYSYMBOL_highlight_clause = 254, /* highlight_clause */ - YYSYMBOL_from_clause = 255, /* from_clause */ - YYSYMBOL_search_clause = 256, /* search_clause */ - YYSYMBOL_optional_search_filter_expr = 257, /* optional_search_filter_expr */ - YYSYMBOL_where_clause = 258, /* where_clause */ - YYSYMBOL_having_clause = 259, /* having_clause */ - YYSYMBOL_group_by_clause = 260, /* group_by_clause */ - YYSYMBOL_set_operator = 261, /* set_operator */ - YYSYMBOL_table_reference = 262, /* table_reference */ - YYSYMBOL_table_reference_unit = 263, /* table_reference_unit */ - YYSYMBOL_table_reference_name = 264, /* table_reference_name */ - YYSYMBOL_table_name = 265, /* table_name */ - YYSYMBOL_table_alias = 266, /* table_alias */ - YYSYMBOL_with_clause = 267, /* with_clause */ - YYSYMBOL_with_expr_list = 268, /* with_expr_list */ - YYSYMBOL_with_expr = 269, /* with_expr */ - YYSYMBOL_join_clause = 270, /* join_clause */ - YYSYMBOL_join_type = 271, /* join_type */ - YYSYMBOL_show_statement = 272, /* show_statement */ - YYSYMBOL_flush_statement = 273, /* flush_statement */ - YYSYMBOL_optimize_statement = 274, /* optimize_statement */ - YYSYMBOL_command_statement = 275, /* command_statement */ - YYSYMBOL_compact_statement = 276, /* compact_statement */ - YYSYMBOL_admin_statement = 277, /* admin_statement */ - YYSYMBOL_alter_statement = 278, /* alter_statement */ - YYSYMBOL_expr_array = 279, /* expr_array */ - YYSYMBOL_insert_row_list = 280, /* insert_row_list */ - YYSYMBOL_expr_alias = 281, /* expr_alias */ - YYSYMBOL_expr = 282, /* expr */ - YYSYMBOL_operand = 283, /* operand */ - YYSYMBOL_match_tensor_expr = 284, /* match_tensor_expr */ - YYSYMBOL_match_vector_expr = 285, /* match_vector_expr */ - YYSYMBOL_match_sparse_expr = 286, /* match_sparse_expr */ - YYSYMBOL_match_text_expr = 287, /* match_text_expr */ - YYSYMBOL_query_expr = 288, /* query_expr */ - YYSYMBOL_fusion_expr = 289, /* fusion_expr */ - YYSYMBOL_sub_search = 290, /* sub_search */ - YYSYMBOL_sub_search_array = 291, /* sub_search_array */ - YYSYMBOL_function_expr = 292, /* function_expr */ - YYSYMBOL_conjunction_expr = 293, /* conjunction_expr */ - YYSYMBOL_between_expr = 294, /* between_expr */ - YYSYMBOL_in_expr = 295, /* in_expr */ - YYSYMBOL_case_expr = 296, /* case_expr */ - YYSYMBOL_case_check_array = 297, /* case_check_array */ - YYSYMBOL_cast_expr = 298, /* cast_expr */ - YYSYMBOL_subquery_expr = 299, /* subquery_expr */ - YYSYMBOL_column_expr = 300, /* column_expr */ - YYSYMBOL_constant_expr = 301, /* constant_expr */ - YYSYMBOL_common_array_expr = 302, /* common_array_expr */ - YYSYMBOL_common_sparse_array_expr = 303, /* common_sparse_array_expr */ - YYSYMBOL_subarray_array_expr = 304, /* subarray_array_expr */ - YYSYMBOL_unclosed_subarray_array_expr = 305, /* unclosed_subarray_array_expr */ - YYSYMBOL_sparse_array_expr = 306, /* sparse_array_expr */ - YYSYMBOL_long_sparse_array_expr = 307, /* long_sparse_array_expr */ - YYSYMBOL_unclosed_long_sparse_array_expr = 308, /* unclosed_long_sparse_array_expr */ - YYSYMBOL_double_sparse_array_expr = 309, /* double_sparse_array_expr */ - YYSYMBOL_unclosed_double_sparse_array_expr = 310, /* unclosed_double_sparse_array_expr */ - YYSYMBOL_empty_array_expr = 311, /* empty_array_expr */ - YYSYMBOL_int_sparse_ele = 312, /* int_sparse_ele */ - YYSYMBOL_float_sparse_ele = 313, /* float_sparse_ele */ - YYSYMBOL_array_expr = 314, /* array_expr */ - YYSYMBOL_long_array_expr = 315, /* long_array_expr */ - YYSYMBOL_unclosed_long_array_expr = 316, /* unclosed_long_array_expr */ - YYSYMBOL_double_array_expr = 317, /* double_array_expr */ - YYSYMBOL_unclosed_double_array_expr = 318, /* unclosed_double_array_expr */ - YYSYMBOL_interval_expr = 319, /* interval_expr */ - YYSYMBOL_copy_option_list = 320, /* copy_option_list */ - YYSYMBOL_copy_option = 321, /* copy_option */ - YYSYMBOL_file_path = 322, /* file_path */ - YYSYMBOL_if_exists = 323, /* if_exists */ - YYSYMBOL_if_not_exists = 324, /* if_not_exists */ - YYSYMBOL_semicolon = 325, /* semicolon */ - YYSYMBOL_if_not_exists_info = 326, /* if_not_exists_info */ - YYSYMBOL_with_index_param_list = 327, /* with_index_param_list */ - YYSYMBOL_optional_table_properties_list = 328, /* optional_table_properties_list */ - YYSYMBOL_index_param_list = 329, /* index_param_list */ - YYSYMBOL_index_param = 330, /* index_param */ - YYSYMBOL_index_info = 331 /* index_info */ + YYSYMBOL_SNAPSHOT = 193, /* SNAPSHOT */ + YYSYMBOL_SNAPSHOTS = 194, /* SNAPSHOTS */ + YYSYMBOL_RECOVER = 195, /* RECOVER */ + YYSYMBOL_PERSISTENCE = 196, /* PERSISTENCE */ + YYSYMBOL_OBJECT = 197, /* OBJECT */ + YYSYMBOL_OBJECTS = 198, /* OBJECTS */ + YYSYMBOL_FILES = 199, /* FILES */ + YYSYMBOL_MEMORY = 200, /* MEMORY */ + YYSYMBOL_ALLOCATION = 201, /* ALLOCATION */ + YYSYMBOL_NUMBER = 202, /* NUMBER */ + YYSYMBOL_203_ = 203, /* '=' */ + YYSYMBOL_204_ = 204, /* '<' */ + YYSYMBOL_205_ = 205, /* '>' */ + YYSYMBOL_206_ = 206, /* '+' */ + YYSYMBOL_207_ = 207, /* '-' */ + YYSYMBOL_208_ = 208, /* '*' */ + YYSYMBOL_209_ = 209, /* '/' */ + YYSYMBOL_210_ = 210, /* '%' */ + YYSYMBOL_211_ = 211, /* '[' */ + YYSYMBOL_212_ = 212, /* ']' */ + YYSYMBOL_213_ = 213, /* '(' */ + YYSYMBOL_214_ = 214, /* ')' */ + YYSYMBOL_215_ = 215, /* '.' */ + YYSYMBOL_216_ = 216, /* ';' */ + YYSYMBOL_217_ = 217, /* ',' */ + YYSYMBOL_218_ = 218, /* ':' */ + YYSYMBOL_YYACCEPT = 219, /* $accept */ + YYSYMBOL_input_pattern = 220, /* input_pattern */ + YYSYMBOL_statement_list = 221, /* statement_list */ + YYSYMBOL_statement = 222, /* statement */ + YYSYMBOL_explainable_statement = 223, /* explainable_statement */ + YYSYMBOL_create_statement = 224, /* create_statement */ + YYSYMBOL_table_element_array = 225, /* table_element_array */ + YYSYMBOL_column_def_array = 226, /* column_def_array */ + YYSYMBOL_table_element = 227, /* table_element */ + YYSYMBOL_table_column = 228, /* table_column */ + YYSYMBOL_column_type = 229, /* column_type */ + YYSYMBOL_column_constraints = 230, /* column_constraints */ + YYSYMBOL_column_constraint = 231, /* column_constraint */ + YYSYMBOL_default_expr = 232, /* default_expr */ + YYSYMBOL_table_constraint = 233, /* table_constraint */ + YYSYMBOL_identifier_array = 234, /* identifier_array */ + YYSYMBOL_delete_statement = 235, /* delete_statement */ + YYSYMBOL_insert_statement = 236, /* insert_statement */ + YYSYMBOL_optional_identifier_array = 237, /* optional_identifier_array */ + YYSYMBOL_explain_statement = 238, /* explain_statement */ + YYSYMBOL_update_statement = 239, /* update_statement */ + YYSYMBOL_update_expr_array = 240, /* update_expr_array */ + YYSYMBOL_update_expr = 241, /* update_expr */ + YYSYMBOL_drop_statement = 242, /* drop_statement */ + YYSYMBOL_copy_statement = 243, /* copy_statement */ + YYSYMBOL_select_statement = 244, /* select_statement */ + YYSYMBOL_select_with_paren = 245, /* select_with_paren */ + YYSYMBOL_select_without_paren = 246, /* select_without_paren */ + YYSYMBOL_select_clause_with_modifier = 247, /* select_clause_with_modifier */ + YYSYMBOL_select_clause_without_modifier_paren = 248, /* select_clause_without_modifier_paren */ + YYSYMBOL_select_clause_without_modifier = 249, /* select_clause_without_modifier */ + YYSYMBOL_order_by_clause = 250, /* order_by_clause */ + YYSYMBOL_order_by_expr_list = 251, /* order_by_expr_list */ + YYSYMBOL_order_by_expr = 252, /* order_by_expr */ + YYSYMBOL_order_by_type = 253, /* order_by_type */ + YYSYMBOL_limit_expr = 254, /* limit_expr */ + YYSYMBOL_offset_expr = 255, /* offset_expr */ + YYSYMBOL_distinct = 256, /* distinct */ + YYSYMBOL_highlight_clause = 257, /* highlight_clause */ + YYSYMBOL_from_clause = 258, /* from_clause */ + YYSYMBOL_search_clause = 259, /* search_clause */ + YYSYMBOL_optional_search_filter_expr = 260, /* optional_search_filter_expr */ + YYSYMBOL_where_clause = 261, /* where_clause */ + YYSYMBOL_having_clause = 262, /* having_clause */ + YYSYMBOL_group_by_clause = 263, /* group_by_clause */ + YYSYMBOL_set_operator = 264, /* set_operator */ + YYSYMBOL_table_reference = 265, /* table_reference */ + YYSYMBOL_table_reference_unit = 266, /* table_reference_unit */ + YYSYMBOL_table_reference_name = 267, /* table_reference_name */ + YYSYMBOL_table_name = 268, /* table_name */ + YYSYMBOL_table_alias = 269, /* table_alias */ + YYSYMBOL_with_clause = 270, /* with_clause */ + YYSYMBOL_with_expr_list = 271, /* with_expr_list */ + YYSYMBOL_with_expr = 272, /* with_expr */ + YYSYMBOL_join_clause = 273, /* join_clause */ + YYSYMBOL_join_type = 274, /* join_type */ + YYSYMBOL_show_statement = 275, /* show_statement */ + YYSYMBOL_flush_statement = 276, /* flush_statement */ + YYSYMBOL_optimize_statement = 277, /* optimize_statement */ + YYSYMBOL_command_statement = 278, /* command_statement */ + YYSYMBOL_compact_statement = 279, /* compact_statement */ + YYSYMBOL_admin_statement = 280, /* admin_statement */ + YYSYMBOL_alter_statement = 281, /* alter_statement */ + YYSYMBOL_expr_array = 282, /* expr_array */ + YYSYMBOL_insert_row_list = 283, /* insert_row_list */ + YYSYMBOL_expr_alias = 284, /* expr_alias */ + YYSYMBOL_expr = 285, /* expr */ + YYSYMBOL_operand = 286, /* operand */ + YYSYMBOL_match_tensor_expr = 287, /* match_tensor_expr */ + YYSYMBOL_match_vector_expr = 288, /* match_vector_expr */ + YYSYMBOL_match_sparse_expr = 289, /* match_sparse_expr */ + YYSYMBOL_match_text_expr = 290, /* match_text_expr */ + YYSYMBOL_query_expr = 291, /* query_expr */ + YYSYMBOL_fusion_expr = 292, /* fusion_expr */ + YYSYMBOL_sub_search = 293, /* sub_search */ + YYSYMBOL_sub_search_array = 294, /* sub_search_array */ + YYSYMBOL_function_expr = 295, /* function_expr */ + YYSYMBOL_conjunction_expr = 296, /* conjunction_expr */ + YYSYMBOL_between_expr = 297, /* between_expr */ + YYSYMBOL_in_expr = 298, /* in_expr */ + YYSYMBOL_case_expr = 299, /* case_expr */ + YYSYMBOL_case_check_array = 300, /* case_check_array */ + YYSYMBOL_cast_expr = 301, /* cast_expr */ + YYSYMBOL_subquery_expr = 302, /* subquery_expr */ + YYSYMBOL_column_expr = 303, /* column_expr */ + YYSYMBOL_constant_expr = 304, /* constant_expr */ + YYSYMBOL_common_array_expr = 305, /* common_array_expr */ + YYSYMBOL_common_sparse_array_expr = 306, /* common_sparse_array_expr */ + YYSYMBOL_subarray_array_expr = 307, /* subarray_array_expr */ + YYSYMBOL_unclosed_subarray_array_expr = 308, /* unclosed_subarray_array_expr */ + YYSYMBOL_sparse_array_expr = 309, /* sparse_array_expr */ + YYSYMBOL_long_sparse_array_expr = 310, /* long_sparse_array_expr */ + YYSYMBOL_unclosed_long_sparse_array_expr = 311, /* unclosed_long_sparse_array_expr */ + YYSYMBOL_double_sparse_array_expr = 312, /* double_sparse_array_expr */ + YYSYMBOL_unclosed_double_sparse_array_expr = 313, /* unclosed_double_sparse_array_expr */ + YYSYMBOL_empty_array_expr = 314, /* empty_array_expr */ + YYSYMBOL_int_sparse_ele = 315, /* int_sparse_ele */ + YYSYMBOL_float_sparse_ele = 316, /* float_sparse_ele */ + YYSYMBOL_array_expr = 317, /* array_expr */ + YYSYMBOL_long_array_expr = 318, /* long_array_expr */ + YYSYMBOL_unclosed_long_array_expr = 319, /* unclosed_long_array_expr */ + YYSYMBOL_double_array_expr = 320, /* double_array_expr */ + YYSYMBOL_unclosed_double_array_expr = 321, /* unclosed_double_array_expr */ + YYSYMBOL_interval_expr = 322, /* interval_expr */ + YYSYMBOL_copy_option_list = 323, /* copy_option_list */ + YYSYMBOL_copy_option = 324, /* copy_option */ + YYSYMBOL_file_path = 325, /* file_path */ + YYSYMBOL_if_exists = 326, /* if_exists */ + YYSYMBOL_if_not_exists = 327, /* if_not_exists */ + YYSYMBOL_semicolon = 328, /* semicolon */ + YYSYMBOL_if_not_exists_info = 329, /* if_not_exists_info */ + YYSYMBOL_with_index_param_list = 330, /* with_index_param_list */ + YYSYMBOL_optional_table_properties_list = 331, /* optional_table_properties_list */ + YYSYMBOL_index_param_list = 332, /* index_param_list */ + YYSYMBOL_index_param = 333, /* index_param */ + YYSYMBOL_index_info = 334 /* index_info */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -456,7 +459,7 @@ typedef enum yysymbol_kind_t yysymbol_kind_t; #pragma GCC diagnostic ignored "-Wunused-but-set-variable" #endif -#line 460 "parser.cpp" +#line 463 "parser.cpp" #ifdef short # undef short @@ -780,21 +783,21 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 116 +#define YYFINAL 120 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1410 +#define YYLAST 1417 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 216 +#define YYNTOKENS 219 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 116 /* YYNRULES -- Number of rules. */ -#define YYNRULES 513 +#define YYNRULES 519 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1150 +#define YYNSTATES 1167 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 454 +#define YYMAXUTOK 457 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -811,13 +814,13 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 207, 2, 2, - 210, 211, 205, 203, 214, 204, 212, 206, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 215, 213, - 201, 200, 202, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 210, 2, 2, + 213, 214, 208, 206, 217, 207, 215, 209, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 218, 216, + 204, 203, 205, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 208, 2, 209, 2, 2, 2, 2, 2, 2, + 2, 211, 2, 212, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -853,7 +856,7 @@ static const yytype_uint8 yytranslate[] = 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199 + 195, 196, 197, 198, 199, 200, 201, 202 }; #if SQLDEBUG @@ -893,25 +896,25 @@ static const yytype_int16 yyrline[] = 2274, 2282, 2288, 2294, 2303, 2313, 2326, 2330, 2335, 2341, 2348, 2356, 2365, 2375, 2385, 2396, 2407, 2419, 2431, 2441, 2452, 2464, 2477, 2481, 2486, 2491, 2497, 2501, 2505, 2511, - 2515, 2521, 2525, 2531, 2536, 2541, 2548, 2557, 2567, 2576, - 2588, 2604, 2608, 2613, 2623, 2645, 2651, 2655, 2656, 2657, - 2658, 2659, 2661, 2664, 2670, 2673, 2674, 2675, 2676, 2677, - 2678, 2679, 2680, 2681, 2682, 2686, 2704, 2750, 2789, 2832, - 2879, 2903, 2926, 2947, 2968, 2977, 2989, 2996, 3006, 3012, - 3024, 3027, 3030, 3033, 3036, 3039, 3043, 3047, 3052, 3060, - 3068, 3077, 3084, 3091, 3098, 3105, 3112, 3120, 3128, 3136, - 3144, 3152, 3160, 3168, 3176, 3184, 3192, 3200, 3208, 3238, - 3246, 3255, 3263, 3272, 3280, 3286, 3293, 3299, 3306, 3311, - 3318, 3325, 3333, 3360, 3366, 3372, 3379, 3387, 3394, 3401, - 3406, 3416, 3421, 3426, 3431, 3436, 3441, 3446, 3451, 3456, - 3461, 3464, 3467, 3471, 3474, 3477, 3480, 3484, 3487, 3490, - 3494, 3498, 3503, 3508, 3511, 3515, 3519, 3526, 3533, 3537, - 3544, 3551, 3555, 3559, 3563, 3566, 3570, 3574, 3579, 3584, - 3588, 3593, 3598, 3604, 3610, 3616, 3622, 3628, 3634, 3640, - 3646, 3652, 3658, 3664, 3675, 3679, 3684, 3715, 3725, 3730, - 3735, 3740, 3746, 3750, 3751, 3753, 3754, 3756, 3757, 3769, - 3777, 3781, 3784, 3788, 3791, 3795, 3799, 3804, 3810, 3820, - 3830, 3838, 3849, 3880 + 2515, 2519, 2525, 2531, 2539, 2545, 2549, 2555, 2559, 2565, + 2570, 2575, 2582, 2591, 2601, 2610, 2622, 2638, 2642, 2647, + 2657, 2679, 2685, 2689, 2690, 2691, 2692, 2693, 2695, 2698, + 2704, 2707, 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, + 2716, 2720, 2738, 2784, 2823, 2866, 2913, 2937, 2960, 2981, + 3002, 3011, 3023, 3030, 3040, 3046, 3058, 3061, 3064, 3067, + 3070, 3073, 3077, 3081, 3086, 3094, 3102, 3111, 3118, 3125, + 3132, 3139, 3146, 3154, 3162, 3170, 3178, 3186, 3194, 3202, + 3210, 3218, 3226, 3234, 3242, 3272, 3280, 3289, 3297, 3306, + 3314, 3320, 3327, 3333, 3340, 3345, 3352, 3359, 3367, 3394, + 3400, 3406, 3413, 3421, 3428, 3435, 3440, 3450, 3455, 3460, + 3465, 3470, 3475, 3480, 3485, 3490, 3495, 3498, 3501, 3505, + 3508, 3511, 3514, 3518, 3521, 3524, 3528, 3532, 3537, 3542, + 3545, 3549, 3553, 3560, 3567, 3571, 3578, 3585, 3589, 3593, + 3597, 3600, 3604, 3608, 3613, 3618, 3622, 3627, 3632, 3638, + 3644, 3650, 3656, 3662, 3668, 3674, 3680, 3686, 3692, 3698, + 3709, 3713, 3718, 3749, 3759, 3764, 3769, 3774, 3780, 3784, + 3785, 3787, 3788, 3790, 3791, 3803, 3811, 3815, 3818, 3822, + 3825, 3829, 3833, 3838, 3844, 3854, 3864, 3872, 3883, 3914 }; #endif @@ -954,17 +957,18 @@ static const char *const yytname[] = "VARIABLE", "DELTA", "LOGS", "CATALOGS", "CATALOG", "SEARCH", "MATCH", "MAXSIM", "QUERY", "QUERIES", "FUSION", "ROWLIMIT", "ADMIN", "LEADER", "FOLLOWER", "LEARNER", "CONNECT", "STANDALONE", "NODES", "NODE", - "REMOVE", "PERSISTENCE", "OBJECT", "OBJECTS", "FILES", "MEMORY", - "ALLOCATION", "NUMBER", "'='", "'<'", "'>'", "'+'", "'-'", "'*'", "'/'", - "'%'", "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'", "$accept", - "input_pattern", "statement_list", "statement", "explainable_statement", - "create_statement", "table_element_array", "column_def_array", - "table_element", "table_column", "column_type", "column_constraints", - "column_constraint", "default_expr", "table_constraint", - "identifier_array", "delete_statement", "insert_statement", - "optional_identifier_array", "explain_statement", "update_statement", - "update_expr_array", "update_expr", "drop_statement", "copy_statement", - "select_statement", "select_with_paren", "select_without_paren", + "REMOVE", "SNAPSHOT", "SNAPSHOTS", "RECOVER", "PERSISTENCE", "OBJECT", + "OBJECTS", "FILES", "MEMORY", "ALLOCATION", "NUMBER", "'='", "'<'", + "'>'", "'+'", "'-'", "'*'", "'/'", "'%'", "'['", "']'", "'('", "')'", + "'.'", "';'", "','", "':'", "$accept", "input_pattern", "statement_list", + "statement", "explainable_statement", "create_statement", + "table_element_array", "column_def_array", "table_element", + "table_column", "column_type", "column_constraints", "column_constraint", + "default_expr", "table_constraint", "identifier_array", + "delete_statement", "insert_statement", "optional_identifier_array", + "explain_statement", "update_statement", "update_expr_array", + "update_expr", "drop_statement", "copy_statement", "select_statement", + "select_with_paren", "select_without_paren", "select_clause_with_modifier", "select_clause_without_modifier_paren", "select_clause_without_modifier", "order_by_clause", "order_by_expr_list", "order_by_expr", "order_by_type", "limit_expr", @@ -1002,12 +1006,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-678) +#define YYPACT_NINF (-696) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-501) +#define YYTABLE_NINF (-507) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -1016,121 +1020,123 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 731, 494, -13, 529, 45, 18, 45, 211, 203, 678, - 55, 140, 177, 196, 338, 107, 113, 127, 77, 76, - -55, 245, 42, -678, -678, -678, -678, -678, -678, -678, - -678, 334, -678, -678, 265, -678, -678, -678, -678, -678, - -678, -678, 213, 213, 213, 213, 83, 45, 276, 276, - 276, 276, 276, 141, 345, 45, -60, 379, 453, 469, - 284, -678, -678, -678, -678, -678, -678, -678, 334, -678, - -678, -678, -678, -678, 168, 475, 45, -678, -678, -678, - -678, -678, 380, -678, 225, 267, -678, 479, -678, 253, - -678, -678, 478, -678, 421, 214, 45, 45, 45, 45, - -678, -678, -678, -678, -47, -678, 420, 316, -678, 512, - 239, 246, 547, 362, 346, 356, -678, 51, -678, 576, - -678, -678, 21, 535, -678, 545, 562, 633, 45, 45, - 45, 637, 586, 438, 581, 652, 45, 45, 45, 656, - 657, 658, 601, 666, 666, 602, 103, 117, 126, -678, - 467, -678, 404, -678, -678, 668, -678, 680, -678, -678, - -678, 683, -678, -678, -678, -678, 339, -678, -678, -678, - 45, 485, 127, 666, -678, 525, -678, 687, -678, -678, - 696, -678, -678, 695, -678, 701, 659, 713, -678, -678, - -678, -678, 21, -678, -678, -678, 602, 673, 662, 661, - 617, -37, -678, 438, -678, 45, 747, 14, -678, -678, - -678, -678, -678, 690, -678, 552, -35, -678, 602, -678, - -678, 676, 688, 554, -678, -678, 972, 686, 556, 557, - 459, 759, 765, 773, 777, -678, -678, 779, 573, 288, - 579, 580, 727, 727, -678, 13, 518, 235, -678, 89, - 795, -678, -678, -678, -678, -678, -678, -678, -678, -678, - -678, -678, -678, -678, 582, -678, -678, -678, 65, -678, - -678, 102, -678, 193, -678, -678, -678, 216, -678, 226, - -678, -678, -678, -678, -678, -678, -678, -678, -678, -678, - -678, -678, -678, -678, -678, -678, -678, 788, 787, -678, - -678, -678, -678, -678, -678, 748, 750, 722, 723, 265, - -678, -678, 797, 7, -678, 796, -678, -6, -678, 592, - 593, -54, 602, 602, 745, -678, 810, -55, 23, 761, - 606, -678, 247, 607, -678, 45, 602, 658, -678, 337, - 608, 612, 299, -678, -678, -678, -678, -678, -678, -678, - -678, -678, -678, -678, -678, 727, 613, 778, 749, 602, - 602, 9, 372, -678, -678, -678, -678, 972, -678, 820, - 615, 620, 621, 622, 831, 832, 416, 416, -678, 629, - -678, -678, -678, -678, 634, -27, 780, 602, 846, 602, - 602, -42, 644, 30, 727, 727, 727, 727, 727, 727, - 727, 727, 727, 727, 727, 727, 727, 727, 20, -678, - 647, -678, 851, -678, 857, -678, 859, -678, 865, 829, - 460, 663, 664, 873, 667, -678, 669, -678, 872, -678, - 119, 718, 720, -678, -678, 602, 804, 670, -678, 29, - 337, 602, -678, -678, 75, 915, 758, 677, 328, -678, - -678, -678, -55, 883, -678, -678, 885, 602, 679, -678, - 337, -678, 5, 5, 602, -678, 344, 749, 739, 689, - 112, -53, 383, -678, 602, 602, 822, 602, 895, 31, - 602, 692, 369, 508, -678, -678, 666, -678, -678, -678, - 751, 691, 727, 518, 774, -678, 188, 188, 121, 121, - 426, 188, 188, 121, 121, 416, 416, -678, -678, -678, - -678, -678, -678, 699, -678, 702, -678, -678, -678, 896, - 910, -678, 747, 916, -678, 917, -678, -678, 918, -678, - 919, 929, 707, 10, 763, 602, -678, -678, -678, 337, - 932, -678, -678, -678, -678, -678, -678, -678, -678, -678, - -678, -678, 712, -678, -678, -678, -678, -678, -678, -678, - -678, -678, -678, -678, -678, 728, 729, 732, 738, 740, - 742, 229, 743, 747, 922, 23, 334, 744, -678, 373, - 746, 943, 952, 953, 956, -678, 954, 374, -678, 375, - 387, -678, 760, -678, 915, 602, -678, 602, -41, 122, - 727, 96, 756, -678, -23, 128, 46, 764, -678, 957, - -678, -678, 897, 518, 188, 766, 398, -678, 727, 966, - 971, 936, 940, 399, 424, -678, 789, 454, -678, 982, - -678, -678, -55, 776, 716, -678, 67, -678, 293, 601, - -678, -678, 986, 396, 553, 951, 968, 985, 1002, 862, - 866, -678, -678, 217, -678, 863, 747, 465, 817, 888, - -678, 867, -678, 602, -678, -678, -678, -678, -678, -678, - 5, -678, -678, -678, 823, 337, -29, -678, 602, 762, - 827, 1024, 647, 837, 835, 602, -678, 839, 821, 840, - 466, -678, -678, 778, 1040, 1046, -678, -678, 916, 532, - -678, 917, 333, 49, 10, 997, -678, -678, -678, -678, - -678, -678, 1006, -678, 1060, -678, -678, -678, -678, -678, - -678, -678, -678, 852, 1016, 471, 854, 855, 869, 870, - 871, 882, 886, 887, 889, 988, 906, 908, 909, 911, - 912, 913, 914, 920, 921, 923, 989, 924, 925, 926, - 927, 928, 930, 931, 933, 934, 935, 995, 937, 938, - 939, 941, 942, 944, 945, 946, 947, 948, 1011, 949, - 950, 955, 958, 959, 960, 961, 962, 963, 964, 1033, - 965, 967, 969, 970, 973, 974, 975, 976, 977, 978, - 1038, 979, -678, -678, 152, -678, 998, 999, 483, -678, - 917, 1093, 1129, 495, -678, -678, -678, 337, -678, 514, - 980, 981, 983, 15, 984, -678, -678, -678, 1068, 990, - 337, -678, 5, -678, -678, -678, -678, -678, -678, -678, - -678, -678, -678, 1130, -678, 67, 716, 10, 10, 992, - 293, 1091, 1097, -678, 1140, 1148, 1151, 1159, 1160, 1161, - 1162, 1164, 1165, 1174, 991, 1176, 1179, 1180, 1190, 1193, - 1194, 1197, 1198, 1200, 1201, 994, 1203, 1204, 1205, 1206, - 1207, 1208, 1209, 1210, 1211, 1212, 1005, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1017, 1224, 1226, - 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1027, 1236, - 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1039, - 1246, -678, 1250, 1251, -678, 496, -678, 723, -678, -678, - 1252, 74, 1047, 1253, 1255, -678, 504, 1254, -678, -678, - 1202, 747, -678, 602, 602, -678, 1050, 1051, 1053, 1054, - 1055, 1056, 1057, 1058, 1059, 1061, 1265, 1062, 1063, 1064, - 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1273, 1073, 1074, - 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1288, 1084, - 1085, 1086, 1087, 1088, 1089, 1090, 1092, 1094, 1095, 1296, - 1096, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, - 1298, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, - 1116, 1302, 1117, -678, -678, -678, -678, 1118, 835, -678, - 1119, 1120, -678, 468, 602, 513, 707, 337, -678, -678, - -678, -678, -678, -678, -678, -678, -678, -678, 1124, -678, - -678, -678, -678, -678, -678, -678, -678, -678, -678, 1125, - -678, -678, -678, -678, -678, -678, -678, -678, -678, -678, - 1126, -678, -678, -678, -678, -678, -678, -678, -678, -678, - -678, 1127, -678, -678, -678, -678, -678, -678, -678, -678, - -678, -678, 1128, -678, -678, -678, -678, -678, -678, -678, - -678, -678, -678, 1131, -678, 1325, 1132, 1326, 81, 1133, - 1334, 1335, -678, -678, -678, 337, -678, -678, -678, -678, - -678, -678, -678, 1134, -678, 1135, 835, 723, 1339, 480, - 82, 1136, 1327, 1139, -678, 501, 1340, -678, 835, 723, - 835, -46, 1345, -678, 1304, 1142, -678, 1143, 1315, 1316, - -678, -678, -678, -18, -678, -678, 1147, 1318, 1319, -678, - 1357, -678, 1152, 1150, 1360, 723, 1153, -678, 723, -678 + 328, 348, 0, 423, 47, 78, 47, -59, 88, 786, + 53, 124, 190, 237, 168, 282, 295, 368, -89, 197, + -41, 166, 63, -696, -696, -696, -696, -696, -696, -696, + -696, 326, -696, -696, 383, -696, -696, -696, -696, -696, + -696, -696, 345, 345, 345, 345, 248, 47, 353, 353, + 353, 353, 353, 232, 437, 47, -3, 475, 477, 487, + 283, -696, -696, -696, -696, -696, -696, -696, 326, -696, + -696, -696, -696, -696, 281, 510, 47, -696, -696, -696, + -696, -696, 511, -696, 288, 293, -696, 525, -696, 356, + -696, -696, 533, -696, 427, -71, 47, 47, 47, 47, + -696, -696, -696, -696, -44, -696, 465, 350, -696, 547, + 387, 393, 102, 520, 417, 565, 421, 500, 407, 414, + -696, 54, -696, 609, -696, -696, 6, 577, -696, 584, + 571, 649, 47, 47, 47, 650, 593, 445, 586, 658, + 47, 47, 47, 667, 668, 669, 612, 670, 670, 603, + 46, 83, 134, -696, 466, -696, 330, -696, -696, 676, + -696, 678, -696, -696, -696, 679, -696, -696, -696, -696, + 153, -696, -696, -696, 47, 469, 368, 670, -696, 680, + -696, 523, -696, 684, -696, -696, 686, -696, -696, 687, + -696, 693, 694, -696, 695, 652, 703, 515, -696, -696, + -696, -696, 6, -696, -696, -696, 603, 663, 645, 643, + 585, -10, -696, 445, -696, 47, 715, 139, -696, -696, + -696, -696, -696, 659, -696, 518, -20, -696, 603, -696, + -696, 642, 647, 512, -696, -696, 257, 660, 522, 526, + 449, 722, 727, 730, 736, -696, -696, 735, 530, 299, + 535, 537, 724, 724, -696, 16, 567, 163, -696, 1, + 769, -696, -696, -696, -696, -696, -696, -696, -696, -696, + -696, -696, -696, -696, 536, -696, -696, -696, 155, -696, + -696, 194, -696, 215, -696, -696, -696, 219, -696, 229, + -696, -696, -696, -696, -696, -696, -696, -696, -696, -696, + -696, -696, -696, -696, -696, -696, -696, 749, 747, -696, + -696, -696, -696, -696, -696, 707, 709, 681, 682, 383, + -696, -696, -696, 759, 201, -696, 758, -696, -696, 689, + 247, -696, 763, 554, 555, -39, 603, 603, 702, -696, + 767, -41, 89, 718, 563, -696, 193, 564, -696, 47, + 603, 669, -696, 354, 566, 569, 409, -696, -696, -696, + -696, -696, -696, -696, -696, -696, -696, -696, -696, 724, + 573, 793, 710, 603, 603, 135, 385, -696, -696, -696, + -696, 257, -696, 780, 575, 578, 579, 587, 794, 795, + 424, 424, -696, 572, -696, -696, -696, -696, 583, -78, + 725, 603, 799, 603, 603, -18, 591, 21, 724, 724, + 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, + 724, 724, 12, -696, 594, -696, 801, -696, 806, -696, + 811, -696, 813, 778, 516, 610, 616, 832, 623, -696, + 631, -696, 831, -696, 333, 840, 688, 692, -696, -696, + -696, 603, 777, 639, -696, 129, 354, 603, -696, -696, + 142, 984, 737, 656, 231, -696, -696, -696, -41, 860, + -696, -696, 867, 603, 655, -696, 354, -696, 178, 178, + 603, -696, 289, 710, 719, 664, 3, 119, 392, -696, + 603, 603, 802, 603, 870, 24, 603, 665, 306, 613, + -696, -696, 670, -696, -696, -696, 728, 671, 724, 567, + 751, -696, 861, 861, 279, 279, 839, 861, 861, 279, + 279, 424, 424, -696, -696, -696, -696, -696, -696, 677, + -696, 685, -696, -696, -696, 877, 879, -696, 715, 891, + -696, 893, -696, -696, 892, -696, -696, 896, 897, 690, + 10, 731, 603, -696, -696, -696, 354, 901, -696, -696, + -696, -696, -696, -696, -696, -696, -696, -696, -696, 696, + -696, -696, -696, -696, -696, -696, -696, -696, -696, -696, + -696, -696, 697, 699, 700, 701, 711, 713, 203, 714, + 715, 883, 89, 326, 708, -696, 315, 716, 910, 922, + 929, 933, -696, 928, 320, -696, 321, 346, -696, 726, + -696, 984, 603, -696, 603, -25, 149, 724, 98, 721, + -696, 132, 100, 76, 738, -696, 935, -696, -696, 876, + 567, 861, 743, 351, -696, 724, 952, 957, 913, 917, + 360, 362, -696, 762, 371, -696, 962, -696, -696, -41, + 753, 442, -696, 274, -696, 336, 612, -696, -696, 965, + 757, 931, 1020, 1037, 1054, 1071, 851, 854, -696, -696, + 192, -696, 852, 715, 376, 771, 853, -696, 830, -696, + 603, -696, -696, -696, -696, -696, -696, 178, -696, -696, + -696, 790, 354, 90, -696, 603, 683, 783, 1001, 594, + 796, 789, 603, -696, 800, 803, 804, 378, -696, -696, + 793, 1002, 1007, -696, -696, 891, 521, -696, 893, 435, + 19, 10, 959, -696, -696, -696, -696, -696, -696, 963, + -696, 1022, -696, -696, -696, -696, -696, -696, -696, -696, + 809, 978, 380, 814, 815, 816, 820, 821, 822, 823, + 824, 834, 939, 835, 836, 837, 838, 841, 842, 843, + 844, 845, 846, 966, 872, 880, 882, 886, 887, 898, + 902, 903, 904, 905, 1005, 914, 915, 918, 919, 920, + 921, 932, 936, 937, 938, 1009, 948, 949, 953, 954, + 955, 960, 961, 964, 967, 968, 1023, 969, 970, 971, + 972, 974, 975, 976, 977, 979, 980, 1027, 981, -696, + -696, 14, -696, 924, 1016, 382, -696, 893, 1148, 1166, + 384, -696, -696, -696, 354, -696, 630, 982, 983, 985, + 18, 986, -696, -696, -696, 1114, 987, 354, -696, 178, + -696, -696, -696, -696, -696, -696, -696, -696, -696, -696, + 1174, -696, 274, 442, 10, 10, 991, 336, 1130, 1142, + -696, 1177, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, + 1207, 997, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, + 1217, 1218, 1008, 1220, 1221, 1222, 1223, 1224, 1225, 1226, + 1227, 1228, 1229, 1019, 1231, 1232, 1233, 1234, 1235, 1236, + 1237, 1238, 1239, 1240, 1030, 1242, 1243, 1244, 1245, 1246, + 1247, 1248, 1249, 1250, 1251, 1041, 1253, 1254, 1255, 1256, + 1257, 1258, 1259, 1260, 1261, 1262, 1052, 1264, -696, 1267, + 1268, -696, 386, -696, 682, -696, -696, 1269, 86, 1060, + 1271, 1272, -696, 388, 1273, -696, -696, 1219, 715, -696, + 603, 603, -696, 1063, 1064, 1067, 1068, 1069, 1070, 1072, + 1073, 1074, 1075, 1279, 1076, 1077, 1078, 1079, 1080, 1081, + 1082, 1083, 1084, 1085, 1294, 1087, 1088, 1089, 1090, 1091, + 1092, 1093, 1094, 1095, 1096, 1305, 1098, 1099, 1100, 1101, + 1102, 1103, 1104, 1105, 1106, 1107, 1316, 1109, 1110, 1111, + 1112, 1113, 1115, 1116, 1117, 1118, 1119, 1322, 1120, 1121, + 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1338, 1131, + -696, -696, -696, -696, 1132, 789, -696, 1133, 1134, -696, + 395, 603, 397, 690, 354, -696, -696, -696, -696, -696, + -696, -696, -696, -696, -696, 1138, -696, -696, -696, -696, + -696, -696, -696, -696, -696, -696, 1139, -696, -696, -696, + -696, -696, -696, -696, -696, -696, -696, 1140, -696, -696, + -696, -696, -696, -696, -696, -696, -696, -696, 1141, -696, + -696, -696, -696, -696, -696, -696, -696, -696, -696, 1143, + -696, -696, -696, -696, -696, -696, -696, -696, -696, -696, + 1144, -696, 1342, 1145, 1343, 56, 1146, 1350, 1355, -696, + -696, -696, 354, -696, -696, -696, -696, -696, -696, -696, + 1147, -696, 1149, 789, 682, 1356, 592, 196, 1151, 1344, + 1153, -696, 602, 1357, -696, 789, 682, 789, -31, 1362, + -696, 1321, 1156, -696, 1157, 1332, 1333, -696, -696, -696, + -29, -696, -696, 1161, 1335, 1336, -696, 1374, -696, 1165, + 1167, 1376, 682, 1168, -696, 682, -696 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1140,153 +1146,155 @@ static const yytype_int16 yydefact[] = { 230, 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 230, 0, 498, 3, 5, 10, 12, 13, 11, 6, + 230, 0, 504, 3, 5, 10, 12, 13, 11, 6, 7, 9, 175, 174, 0, 8, 14, 15, 16, 17, - 18, 19, 496, 496, 496, 496, 496, 0, 494, 494, - 494, 494, 494, 223, 0, 0, 0, 0, 0, 0, + 18, 19, 502, 502, 502, 502, 502, 0, 500, 500, + 500, 500, 500, 223, 0, 0, 0, 0, 0, 0, 230, 161, 20, 25, 27, 26, 21, 22, 24, 23, 28, 29, 30, 31, 0, 0, 0, 244, 245, 243, 249, 253, 0, 250, 0, 0, 246, 0, 248, 0, 271, 273, 0, 251, 0, 277, 0, 0, 0, 0, 281, 282, 283, 286, 223, 284, 0, 229, 231, 0, - 0, 0, 0, 0, 0, 0, 1, 230, 2, 213, - 215, 216, 0, 198, 180, 186, 0, 0, 0, 0, - 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, - 0, 0, 208, 0, 0, 0, 0, 0, 0, 160, - 0, 259, 260, 254, 255, 0, 256, 0, 247, 272, - 252, 0, 275, 274, 278, 279, 0, 305, 303, 304, - 0, 0, 0, 0, 333, 0, 334, 0, 326, 327, - 0, 322, 306, 0, 329, 331, 0, 0, 179, 178, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 230, 2, 213, 215, 216, 0, 198, 180, 186, + 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, + 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, + 0, 0, 0, 160, 0, 259, 260, 254, 255, 0, + 256, 0, 247, 272, 252, 0, 275, 274, 278, 279, + 0, 305, 303, 304, 0, 0, 0, 0, 329, 0, + 339, 0, 340, 0, 326, 327, 0, 322, 306, 0, + 335, 337, 0, 330, 0, 0, 0, 0, 179, 178, 4, 214, 0, 176, 177, 197, 0, 0, 194, 0, - 33, 0, 34, 159, 499, 0, 0, 230, 493, 166, + 33, 0, 34, 159, 505, 0, 0, 230, 499, 166, 168, 167, 169, 0, 224, 0, 208, 163, 0, 155, - 492, 0, 0, 427, 431, 434, 435, 0, 0, 0, - 0, 0, 0, 0, 0, 432, 433, 0, 0, 0, - 0, 0, 0, 0, 429, 0, 230, 0, 341, 346, - 347, 361, 359, 362, 360, 363, 364, 356, 351, 350, - 349, 357, 358, 348, 355, 354, 442, 444, 0, 445, - 453, 0, 454, 0, 446, 443, 464, 0, 465, 0, - 441, 290, 292, 291, 288, 289, 295, 297, 296, 293, + 498, 0, 0, 433, 437, 440, 441, 0, 0, 0, + 0, 0, 0, 0, 0, 438, 439, 0, 0, 0, + 0, 0, 0, 0, 435, 0, 230, 0, 347, 352, + 353, 367, 365, 368, 366, 369, 370, 362, 357, 356, + 355, 363, 364, 354, 361, 360, 448, 450, 0, 451, + 459, 0, 460, 0, 452, 449, 470, 0, 471, 0, + 447, 290, 292, 291, 288, 289, 295, 297, 296, 293, 294, 300, 302, 301, 298, 299, 280, 0, 0, 262, - 261, 267, 257, 258, 276, 0, 0, 0, 502, 0, - 232, 287, 0, 323, 328, 307, 330, 0, 332, 0, - 0, 200, 0, 0, 196, 495, 0, 230, 0, 0, - 0, 153, 0, 0, 157, 0, 0, 0, 162, 207, - 0, 0, 0, 473, 472, 475, 474, 477, 476, 479, - 478, 481, 480, 483, 482, 0, 0, 393, 230, 0, - 0, 0, 0, 436, 437, 438, 439, 0, 440, 0, - 0, 0, 0, 0, 0, 0, 395, 394, 470, 467, - 461, 451, 456, 459, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, - 0, 455, 0, 458, 0, 466, 0, 469, 0, 268, - 263, 0, 0, 0, 0, 285, 0, 335, 0, 324, - 0, 0, 0, 183, 182, 0, 202, 185, 187, 192, - 193, 0, 181, 32, 36, 0, 0, 0, 0, 41, - 45, 46, 230, 0, 40, 158, 0, 0, 156, 170, - 165, 164, 0, 0, 0, 388, 0, 230, 0, 0, - 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, - 0, 206, 0, 0, 353, 352, 0, 342, 345, 411, - 412, 0, 0, 230, 0, 392, 402, 403, 406, 407, - 0, 409, 401, 404, 405, 397, 396, 398, 399, 400, - 428, 430, 452, 0, 457, 0, 460, 468, 471, 0, - 0, 264, 0, 0, 338, 0, 233, 325, 0, 308, - 0, 0, 199, 0, 204, 0, 190, 191, 189, 195, - 0, 51, 54, 55, 52, 53, 56, 57, 73, 58, - 60, 59, 76, 63, 64, 65, 61, 62, 66, 67, - 68, 69, 70, 71, 72, 0, 0, 0, 0, 0, - 0, 502, 0, 0, 504, 0, 39, 0, 154, 0, - 0, 0, 0, 0, 0, 488, 0, 0, 484, 0, - 0, 389, 0, 423, 0, 0, 416, 0, 0, 0, - 0, 0, 0, 427, 0, 0, 0, 0, 378, 0, - 463, 462, 0, 230, 410, 0, 0, 391, 0, 0, - 0, 269, 265, 0, 0, 43, 507, 0, 505, 309, - 336, 337, 230, 201, 217, 219, 228, 220, 0, 208, - 188, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 146, 147, 150, 143, 150, 0, 0, 0, 35, - 42, 513, 343, 0, 490, 489, 487, 486, 491, 173, - 0, 171, 390, 424, 0, 420, 0, 419, 0, 0, - 0, 0, 0, 0, 206, 0, 376, 0, 0, 0, - 0, 425, 414, 413, 0, 0, 340, 339, 0, 0, - 501, 0, 0, 0, 0, 0, 237, 238, 239, 240, - 236, 241, 0, 226, 0, 221, 382, 380, 383, 381, - 384, 385, 386, 203, 212, 0, 0, 0, 0, 0, + 261, 267, 257, 258, 276, 0, 0, 0, 508, 0, + 232, 287, 332, 0, 323, 328, 307, 336, 331, 0, + 0, 338, 0, 0, 0, 200, 0, 0, 196, 501, + 0, 230, 0, 0, 0, 153, 0, 0, 157, 0, + 0, 0, 162, 207, 0, 0, 0, 479, 478, 481, + 480, 483, 482, 485, 484, 487, 486, 489, 488, 0, + 0, 399, 230, 0, 0, 0, 0, 442, 443, 444, + 445, 0, 446, 0, 0, 0, 0, 0, 0, 0, + 401, 400, 476, 473, 467, 457, 462, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 456, 0, 461, 0, 464, 0, 472, + 0, 475, 0, 268, 263, 0, 0, 0, 0, 285, + 0, 341, 0, 324, 0, 0, 0, 0, 334, 183, + 182, 0, 202, 185, 187, 192, 193, 0, 181, 32, + 36, 0, 0, 0, 0, 41, 45, 46, 230, 0, + 40, 158, 0, 0, 156, 170, 165, 164, 0, 0, + 0, 394, 0, 230, 0, 0, 0, 0, 0, 424, + 0, 0, 0, 0, 0, 0, 0, 206, 0, 0, + 359, 358, 0, 348, 351, 417, 418, 0, 0, 230, + 0, 398, 408, 409, 412, 413, 0, 415, 407, 410, + 411, 403, 402, 404, 405, 406, 434, 436, 458, 0, + 463, 0, 466, 474, 477, 0, 0, 264, 0, 0, + 344, 0, 233, 325, 0, 308, 333, 0, 0, 199, + 0, 204, 0, 190, 191, 189, 195, 0, 51, 54, + 55, 52, 53, 56, 57, 73, 58, 60, 59, 76, + 63, 64, 65, 61, 62, 66, 67, 68, 69, 70, + 71, 72, 0, 0, 0, 0, 0, 0, 508, 0, + 0, 510, 0, 39, 0, 154, 0, 0, 0, 0, + 0, 0, 494, 0, 0, 490, 0, 0, 395, 0, + 429, 0, 0, 422, 0, 0, 0, 0, 0, 0, + 433, 0, 0, 0, 0, 384, 0, 469, 468, 0, + 230, 416, 0, 0, 397, 0, 0, 0, 269, 265, + 0, 0, 43, 513, 0, 511, 309, 342, 343, 230, + 201, 217, 219, 228, 220, 0, 208, 188, 38, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 146, 147, + 150, 143, 150, 0, 0, 0, 35, 42, 519, 349, + 0, 496, 495, 493, 492, 497, 173, 0, 171, 396, + 430, 0, 426, 0, 425, 0, 0, 0, 0, 0, + 0, 206, 0, 382, 0, 0, 0, 0, 431, 420, + 419, 0, 0, 346, 345, 0, 0, 507, 0, 0, + 0, 0, 0, 237, 238, 239, 240, 236, 241, 0, + 226, 0, 221, 388, 386, 389, 387, 390, 391, 392, + 203, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 148, 145, 0, 144, 48, 47, 0, 152, - 0, 0, 0, 0, 485, 422, 417, 421, 408, 0, - 0, 206, 0, 0, 0, 447, 449, 448, 0, 0, - 205, 379, 0, 426, 415, 270, 266, 44, 508, 509, - 511, 510, 506, 0, 310, 228, 218, 0, 0, 225, - 0, 0, 210, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, + 145, 0, 144, 48, 47, 0, 152, 0, 0, 0, + 0, 491, 428, 423, 427, 414, 0, 0, 206, 0, + 0, 0, 453, 455, 454, 0, 0, 205, 385, 0, + 432, 421, 270, 266, 44, 514, 515, 517, 516, 512, + 0, 310, 228, 218, 0, 0, 225, 0, 0, 210, + 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 149, 0, 0, 151, 0, 37, 502, 344, 467, - 0, 0, 0, 0, 0, 377, 0, 311, 222, 234, - 0, 0, 387, 0, 0, 184, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, + 0, 151, 0, 37, 508, 350, 473, 0, 0, 0, + 0, 0, 383, 0, 311, 222, 234, 0, 0, 393, + 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 50, 49, 503, 512, 0, 206, 374, - 0, 206, 172, 0, 0, 0, 211, 209, 74, 80, - 81, 78, 79, 82, 83, 84, 85, 86, 0, 77, - 124, 125, 122, 123, 126, 127, 128, 129, 130, 0, - 121, 91, 92, 89, 90, 93, 94, 95, 96, 97, - 0, 88, 102, 103, 100, 101, 104, 105, 106, 107, - 108, 0, 99, 135, 136, 133, 134, 137, 138, 139, - 140, 141, 0, 132, 113, 114, 111, 112, 115, 116, - 117, 118, 119, 0, 110, 0, 0, 0, 0, 0, - 0, 0, 313, 312, 318, 235, 227, 87, 131, 98, - 109, 142, 120, 206, 375, 0, 206, 502, 319, 314, - 0, 0, 0, 0, 373, 0, 0, 315, 206, 502, - 206, 502, 0, 320, 316, 0, 369, 0, 0, 0, - 372, 321, 317, 502, 365, 371, 0, 0, 0, 368, - 0, 367, 0, 0, 0, 502, 0, 370, 502, 366 + 50, 49, 509, 518, 0, 206, 380, 0, 206, 172, + 0, 0, 0, 211, 209, 74, 80, 81, 78, 79, + 82, 83, 84, 85, 86, 0, 77, 124, 125, 122, + 123, 126, 127, 128, 129, 130, 0, 121, 91, 92, + 89, 90, 93, 94, 95, 96, 97, 0, 88, 102, + 103, 100, 101, 104, 105, 106, 107, 108, 0, 99, + 135, 136, 133, 134, 137, 138, 139, 140, 141, 0, + 132, 113, 114, 111, 112, 115, 116, 117, 118, 119, + 0, 110, 0, 0, 0, 0, 0, 0, 0, 313, + 312, 318, 235, 227, 87, 131, 98, 109, 142, 120, + 206, 381, 0, 206, 508, 319, 314, 0, 0, 0, + 0, 379, 0, 0, 315, 206, 508, 206, 508, 0, + 320, 316, 0, 375, 0, 0, 0, 378, 321, 317, + 508, 371, 377, 0, 0, 0, 374, 0, 373, 0, + 0, 0, 508, 0, 376, 508, 372 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -678, -678, -678, 1248, 1306, 125, -678, -678, 792, -512, - 775, -678, 715, 717, -678, -516, 259, 269, 1167, -678, - 270, -678, 1034, 280, 304, -7, 1353, -17, 1083, 1182, - -73, -678, -678, 841, -678, -678, -678, -678, -678, -678, - -678, -677, -208, -678, -678, -678, -678, 671, -234, 39, - 542, -678, -678, 1213, -678, -678, 313, 324, 325, 327, - 343, -678, -678, -194, -678, 993, -218, -202, -603, -602, - -601, -600, -594, -592, 538, -678, -678, -678, -678, -678, - -678, 1018, -678, -678, 902, 588, -240, -678, -678, -678, - 700, -678, -678, -678, -678, 703, 987, 996, -200, -678, - -678, -678, -678, 1154, -454, 714, -134, 498, 527, -678, - -678, -567, -678, 587, 693, -678 + -696, -696, -696, 1263, 1320, 188, -696, -696, 791, -509, + 774, -696, 717, 720, -696, -530, 199, 200, 1173, -696, + 206, -696, 1038, 218, 262, -7, 1368, -17, 1086, 1188, + -67, -696, -696, 847, -696, -696, -696, -696, -696, -696, + -696, -695, -219, -696, -696, -696, -696, 672, -207, 27, + 539, -696, -696, 1230, -696, -696, 276, 296, 302, 303, + 308, -696, -696, -204, -696, 993, -228, -227, -639, -626, + -623, -621, -620, -617, 538, -696, -696, -696, -696, -696, + -696, 1021, -696, -696, 906, 589, -250, -696, -696, -696, + 698, -696, -696, -696, -696, 704, 988, 989, -277, -696, + -696, -696, -696, 1150, -470, 723, -137, 496, 513, -696, + -696, -584, -696, 590, 691, -696 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 21, 22, 23, 61, 24, 448, 624, 449, 450, - 571, 653, 654, 796, 451, 332, 25, 26, 207, 27, - 28, 216, 217, 29, 30, 31, 32, 33, 124, 193, - 125, 198, 437, 438, 538, 324, 442, 196, 436, 534, - 639, 607, 219, 935, 842, 122, 633, 634, 635, 636, - 715, 34, 107, 108, 637, 712, 35, 36, 37, 38, - 39, 40, 41, 247, 458, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 722, 723, 257, 258, 259, 260, - 261, 362, 262, 263, 264, 265, 266, 814, 267, 268, - 269, 270, 271, 272, 273, 274, 382, 383, 275, 276, - 277, 278, 279, 280, 587, 588, 221, 135, 127, 118, - 132, 425, 659, 627, 628, 454 + 0, 21, 22, 23, 61, 24, 464, 641, 465, 466, + 588, 670, 671, 813, 467, 346, 25, 26, 217, 27, + 28, 226, 227, 29, 30, 31, 32, 33, 128, 203, + 129, 208, 453, 454, 555, 338, 458, 206, 452, 551, + 656, 624, 229, 952, 859, 126, 650, 651, 652, 653, + 732, 34, 107, 108, 654, 729, 35, 36, 37, 38, + 39, 40, 41, 257, 474, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 739, 740, 267, 268, 269, 270, + 271, 376, 272, 273, 274, 275, 276, 831, 277, 278, + 279, 280, 281, 282, 283, 284, 396, 397, 285, 286, + 287, 288, 289, 290, 604, 605, 231, 139, 131, 122, + 136, 439, 676, 644, 645, 470 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1294,294 +1302,294 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 339, 68, 321, 115, 655, 381, 623, 819, 338, 589, - 222, 625, 361, 53, 170, 143, 144, 327, 378, 379, - 378, 379, 17, 510, 47, 357, 445, 435, 385, 123, - 218, 424, 491, 595, 603, 716, 717, 718, 719, 311, - 376, 377, 677, 54, 720, 56, 721, 428, 53, 194, - 684, -497, 333, 68, 806, 105, 429, 657, 1, 424, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 119, - 713, 120, 581, 582, 11, 12, 13, 121, 1008, 1128, - 14, 15, 16, 583, 584, 585, 133, 1106, 1118, 96, - 110, 17, 111, 55, 142, 119, 360, 120, 536, 537, - 389, 390, 494, 121, 439, 440, 281, 1137, 282, 283, - 103, 685, 389, 390, 492, 152, 104, 1129, 460, 320, - 286, 714, 287, 288, 389, 390, 389, 390, 17, 291, - 106, 292, 293, 62, 922, 166, 167, 168, 169, 685, - 798, 470, 471, 388, -500, 1138, 685, 685, 466, 446, - 145, 447, 528, 357, 126, 20, 224, 225, 226, 495, - 387, 529, 389, 390, 284, 140, 594, 201, 202, 203, - 512, 489, 490, 328, 97, 210, 211, 212, 289, 337, - 431, 432, 389, 390, 485, 62, 827, 294, 586, 408, - 334, 682, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 60, 540, 678, 308, - 1, 98, 2, 3, 4, 5, 6, 7, 18, 9, - 632, 245, 380, 539, 380, 511, 11, 12, 13, 384, - 99, 192, 14, 15, 16, 19, 244, 716, 717, 718, - 719, 532, 389, 390, 330, 116, 720, 109, 721, 389, - 390, 393, 231, 232, 233, 117, 598, 599, 234, 601, - 835, 20, 605, 579, 112, 389, 390, 63, 113, 285, - 590, -501, -501, 123, 409, 389, 390, 64, 65, 410, - 17, 389, 390, 290, 126, 235, 236, 237, 66, 649, - 614, 1, 295, 2, 3, 4, 5, 6, 7, 616, - 9, 649, 223, 224, 225, 226, 424, 11, 12, 13, - 680, 411, 67, 14, 15, 16, 412, 439, 393, 63, - 444, 69, -501, -501, 403, 404, 405, 406, 407, 64, - 65, 1086, 70, 71, 1089, 72, -501, -501, 396, 397, - 66, 469, 683, 650, -501, 651, 652, 134, 794, 305, - 1006, 73, 612, 140, 119, 650, 120, 651, 652, 141, - 245, 17, 121, 464, 67, 306, 307, 833, 926, 834, - 18, 227, 228, 69, 459, 57, 58, 675, 150, 676, - 59, 229, 146, 230, 70, 71, 153, 72, -501, 401, - 402, 403, 404, 405, 406, 407, 154, 155, 679, 231, - 232, 233, 413, 73, 177, 234, 370, 414, 371, 164, - 372, 373, 165, 20, 178, 1015, 693, 179, 180, 690, - 181, 182, 183, 174, 175, 415, 1111, 159, 176, 1113, - 416, 724, 235, 236, 237, 417, 184, 185, 156, 157, - 418, 1125, 812, 1127, 297, 576, 386, 298, 299, 387, - 592, 18, 300, 301, 238, 473, 147, 474, 455, 475, - 807, 456, 223, 224, 225, 226, 596, 820, 597, 803, - 475, 239, 148, 240, 171, 241, 615, 239, 151, 240, - 810, 241, 158, 817, 160, 726, 727, 728, 729, 730, - 389, 390, 731, 732, 20, 100, 101, 102, 468, 733, - 734, 735, 242, 243, 244, 520, 521, 245, 1090, 246, - 465, 1091, 1092, 610, 611, 736, 1093, 1094, 173, 378, - 919, 223, 224, 225, 226, 1116, 1117, 42, 43, 44, - 172, 227, 228, 45, 46, 828, 829, 830, 831, 574, - 1114, 229, 575, 230, 1122, 1123, 360, 136, 137, 138, - 139, 186, 1126, 187, 1130, 591, 393, 188, 387, 231, - 232, 233, 48, 49, 50, 234, 1139, 189, 51, 52, - 128, 129, 130, 131, 394, 395, 396, 397, 1147, 618, - 608, 1149, 399, 609, 662, 669, 671, 387, 670, 670, - 227, 228, 235, 236, 237, 17, 689, 191, 672, 195, - 229, 387, 230, 929, 930, 223, 224, 225, 226, 692, - 696, 197, 387, 456, 238, 161, 162, 163, 231, 232, - 233, 405, 406, 407, 234, 703, 400, 401, 402, 403, - 404, 405, 406, 407, 199, 697, 200, 239, 698, 240, - 204, 241, 737, 738, 739, 740, 741, 205, 206, 742, - 743, 235, 236, 237, 208, 209, 744, 745, 746, 213, - 214, 215, 242, 243, 244, 700, 218, 245, 701, 246, - 220, 302, 747, 238, 227, 228, 799, 824, 296, 456, - 387, 74, 843, 303, 229, 844, 230, 304, 312, 223, - 224, 225, 226, 313, 914, 309, 239, 456, 240, 314, - 241, 315, 231, 232, 233, 316, 918, 1005, 234, 387, - 701, 75, 76, 317, 77, 1012, 1017, 318, 670, 78, - 79, 242, 243, 244, 1096, 322, 245, 456, 246, 323, - 223, 224, 225, 226, 325, 235, 236, 237, 1, 1016, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 326, - 331, 335, 336, 340, 11, 12, 13, 238, 355, 356, - 14, 15, 16, 363, 342, 341, 358, 359, 229, 364, - 230, 705, -242, 706, 707, 708, 709, 365, 710, 711, - 239, 366, 240, 369, 241, 367, 231, 232, 233, 374, - 375, 419, 234, 420, 408, 421, 1095, 422, 423, 355, - 424, 427, 430, 433, 434, 242, 243, 244, 17, 229, - 245, 230, 246, 441, 443, 452, 453, 457, 462, 235, - 236, 237, 463, 467, 476, 477, 17, 231, 232, 233, - 478, 479, 480, 234, 468, 481, 482, 80, 81, 82, - 83, 238, 84, 85, 483, 484, 86, 87, 88, 488, - 468, 89, 90, 91, 493, 245, 486, 513, 92, 93, - 235, 236, 237, 515, 239, 517, 240, 391, 241, 392, - 518, 94, 519, 522, 523, 95, 524, 525, 527, 533, - 526, 530, 238, 531, 535, 572, 577, 573, 578, 242, - 243, 244, 393, 580, 245, 492, 246, 600, 18, 602, - 593, 613, 621, 617, 389, 239, 606, 240, 393, 241, - 394, 395, 396, 397, 619, 19, 622, 620, 399, 445, - 626, 387, 642, 630, 629, 393, 394, 395, 396, 397, - 242, 243, 244, 631, 399, 245, 641, 246, 643, 644, - 638, 20, 645, 394, 395, 396, 397, 398, 646, 664, - 647, 399, 648, 656, 658, 661, 663, 666, 665, 667, - 668, 687, 400, 401, 402, 403, 404, 405, 406, 407, - 681, 673, 611, 808, 688, 686, 610, 691, 400, 401, - 402, 403, 404, 405, 406, 407, 694, 695, 702, 699, - 704, 792, 725, 793, 794, 400, 401, 402, 403, 404, - 405, 406, 407, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, - 801, 558, 559, 560, 561, 562, 563, 800, 811, 564, - 802, 822, 565, 566, 805, 809, 567, 568, 569, 570, - 748, 749, 750, 751, 752, 813, 825, 753, 754, 818, - 821, 823, 826, 837, 755, 756, 757, 759, 760, 761, - 762, 763, 838, 839, 764, 765, 840, 841, 845, 846, - 758, 766, 767, 768, 770, 771, 772, 773, 774, 854, - 865, 775, 776, 847, 848, 849, 876, 769, 777, 778, - 779, 781, 782, 783, 784, 785, 850, 916, 786, 787, - 851, 852, 887, 853, 780, 788, 789, 790, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 855, 791, 856, 857, 898, 858, 859, 860, 861, 909, - 912, 913, 917, 685, 862, 863, 927, 864, 866, 867, - 868, 869, 870, 933, 871, 872, 936, 873, 874, 875, - 934, 877, 878, 879, 937, 880, 881, 938, 882, 883, - 884, 885, 886, 888, 889, 939, 940, 941, 942, 890, - 943, 944, 891, 892, 893, 894, 895, 896, 897, 899, - 945, 900, 947, 901, 902, 948, 949, 903, 904, 905, - 906, 907, 908, 910, 920, 921, 950, 923, 924, 951, - 952, 925, 931, 953, 954, 946, 955, 956, 957, 958, + 353, 68, 335, 119, 672, 395, 836, 352, 640, 606, + 371, 232, 375, 53, 127, 526, 733, 174, 234, 235, + 236, 392, 393, 392, 393, 390, 391, 620, 399, 734, + 642, 54, 735, 56, 736, 737, 17, 47, 738, 123, + 321, 124, 451, 105, 341, 228, 438, 125, 438, 291, + 53, 292, 293, 68, -503, 402, 507, 611, 694, 204, + 674, 1, 1123, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 147, 148, 137, 403, 404, 11, 12, 13, + 701, 109, 146, 14, 15, 16, 296, 96, 297, 298, + 1025, 60, 461, 510, 1145, 1, 1154, 2, 3, 4, + 5, 6, 7, 156, 9, 57, 58, 294, 455, 456, + 59, 11, 12, 13, 241, 242, 243, 14, 15, 16, + 244, 702, 476, 170, 171, 172, 173, 168, 403, 404, + 169, 17, 1146, 939, 1155, 334, 501, 301, 508, 302, + 303, 702, 371, 815, 299, 486, 487, 245, 246, 247, + 511, 702, 482, 55, 403, 404, 403, 404, 97, 211, + 212, 213, 123, 315, 124, 17, 120, 220, 221, 222, + 125, 144, 20, 823, 528, 505, 506, 347, 401, 316, + 317, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 304, 62, 351, 553, 554, + 348, 318, 1135, 342, 110, 612, 844, 63, 64, 111, + 149, 112, 295, 113, 65, 462, 17, 463, 733, 202, + 527, 18, 374, 649, 98, 255, 66, 255, 394, 556, + 394, 734, 254, 852, 735, 695, 736, 737, 19, 398, + 738, 442, 344, 403, 404, 598, 599, 549, 62, 300, + 443, 403, 404, 403, 404, 18, 600, 601, 602, 63, + 64, 702, 615, 616, 666, 618, 65, 20, 622, 596, + 67, 99, 403, 404, 557, 666, 607, 730, 66, 121, + 438, 631, 403, 404, 69, 103, 180, 181, 403, 404, + 1, 182, 2, 3, 4, 5, 6, 7, 104, 9, + 305, 20, 403, 404, 70, 633, 11, 12, 13, -506, + 71, 72, 14, 15, 16, 697, 73, 700, 667, 130, + 668, 669, 67, 811, 455, 100, 101, 102, 731, 667, + 1103, 668, 669, 1106, 460, 1, 69, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 123, 422, 124, 699, + 1023, 11, 12, 13, 125, 485, 70, 14, 15, 16, + 17, 603, 71, 72, 114, 629, 544, 423, 73, 943, + 307, 106, 424, 308, 309, 545, 475, 400, 310, 311, + 401, 42, 43, 44, 692, 115, 693, 45, 46, 116, + 696, 127, 117, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 17, 425, 471, 710, 407, + 472, 426, 233, 234, 235, 236, 130, 384, 1032, 385, + 827, 386, 387, 834, 138, 1128, 707, 427, 1130, -507, + -507, 429, 428, 446, 447, 1107, 430, 741, 1108, 1109, + 1142, 431, 1144, 1110, 1111, 591, 432, 144, 592, 829, + 18, 145, 233, 234, 235, 236, 48, 49, 50, 158, + 159, 593, 51, 52, 160, 161, 609, 824, 489, 850, + 490, 851, 491, 480, 837, 613, 820, 614, 150, 491, + 151, 237, 238, -507, -507, 417, 418, 419, 420, 421, + 152, 239, 632, 240, 154, 18, 20, 722, -242, 723, + 724, 725, 726, 608, 727, 728, 401, 403, 404, 241, + 242, 243, 19, 155, 249, 244, 250, 157, 251, 175, + 625, 237, 238, 626, 845, 846, 847, 848, 162, 679, + 163, 239, 401, 240, 686, 688, 374, 687, 687, 164, + 1131, 20, 245, 246, 247, 140, 141, 142, 143, 241, + 242, 243, 1143, 177, 1147, 244, 132, 133, 134, 135, + 689, 536, 537, 401, 248, 709, 1156, 176, 401, 195, + 233, 234, 235, 236, 713, 197, 714, 472, 1164, 715, + 178, 1166, 245, 246, 247, 717, 179, 249, 718, 250, + 816, 251, 841, 472, 860, 401, 931, 861, 935, 472, + 1022, 401, 1029, 718, 248, 687, 233, 234, 235, 236, + 194, 1113, 196, 706, 472, 252, 253, 254, 627, 628, + 255, 198, 256, 481, 165, 166, 167, 249, 199, 250, + 201, 251, 419, 420, 421, 392, 936, 1133, 1134, 237, + 238, 205, 720, 209, 17, 1139, 1140, 946, 947, 239, + 207, 240, 210, 214, 215, 252, 253, 254, 216, 218, + 255, 219, 256, 233, 234, 235, 236, 241, 242, 243, + 223, 224, 225, 244, 230, 237, 238, 228, 183, 312, + 306, 313, 319, 314, 322, 239, 323, 240, 184, 325, + 324, 185, 186, 326, 187, 188, 189, 327, 328, 329, + 245, 246, 247, 241, 242, 243, 330, 331, 332, 244, + 190, 191, 337, 192, 193, 336, 339, 340, 345, 354, + 349, 350, 248, 1034, 355, 356, 377, 233, 234, 235, + 236, 378, 369, 370, 379, 372, 245, 246, 247, 373, + 380, 381, 239, 383, 240, 249, 1033, 250, 388, 251, + 389, 422, 433, 434, 435, 484, 436, 437, 248, 438, + 241, 242, 243, 441, 444, 445, 244, 448, 449, 450, + 457, 459, 468, 252, 253, 254, 469, 473, 255, 478, + 256, 249, 479, 250, 492, 251, 483, 17, 493, 74, + 499, 494, 495, 245, 246, 247, 369, 500, 497, 498, + 496, 502, 504, 1112, 509, 255, 239, 529, 240, 252, + 253, 254, 531, 407, 255, 248, 256, 533, 534, 75, + 76, 535, 77, 538, 241, 242, 243, 78, 79, 539, + 244, 408, 409, 410, 411, 540, 541, 543, 249, 413, + 250, 405, 251, 406, 546, 542, 743, 744, 745, 746, + 747, 547, 550, 748, 749, 548, 552, 245, 246, 247, + 750, 751, 752, 594, 589, 484, 252, 253, 254, 590, + 595, 255, 597, 256, 619, 508, 753, 617, 610, 248, + 634, 403, 623, 638, 630, 639, 414, 415, 416, 417, + 418, 419, 420, 421, 461, 636, 643, 825, 646, 407, + 647, 648, 249, 637, 250, 658, 251, 401, 655, 659, + 660, 484, 661, 662, 663, 675, 681, 408, 409, 410, + 411, 412, 678, 407, 664, 413, 665, 673, 682, 680, + 252, 253, 254, 683, 685, 255, 684, 256, 698, 704, + 690, 408, 409, 410, 411, 80, 81, 82, 83, 413, + 84, 85, 703, 705, 86, 87, 88, 708, 628, 89, + 90, 91, 627, 711, 712, 716, 92, 93, 719, 407, + 721, 742, 414, 415, 416, 417, 418, 419, 420, 421, + 809, 810, 94, 811, 817, 818, 95, 408, 409, 410, + 411, 407, 635, 819, 826, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 822, 828, 835, 830, 842, -507, + -507, 410, 411, 843, 838, 854, 839, -507, 840, 855, + 754, 755, 756, 757, 758, 856, 857, 759, 760, 858, + 871, 862, 863, 864, 761, 762, 763, 865, 866, 867, + 868, 869, 414, 415, 416, 417, 418, 419, 420, 421, + 764, 870, 872, 873, 874, 875, 929, 882, 876, 877, + 878, 879, 880, 881, -507, 415, 416, 417, 418, 419, + 420, 421, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 883, + 575, 576, 577, 578, 579, 580, 893, 884, 581, 885, + 904, 582, 583, 886, 887, 584, 585, 586, 587, 765, + 766, 767, 768, 769, 915, 888, 770, 771, 926, 889, + 890, 891, 892, 772, 773, 774, 776, 777, 778, 779, + 780, 894, 895, 781, 782, 896, 897, 898, 899, 775, + 783, 784, 785, 787, 788, 789, 790, 791, 930, 900, + 792, 793, 933, 901, 902, 903, 786, 794, 795, 796, + 798, 799, 800, 801, 802, 905, 906, 803, 804, 934, + 907, 908, 909, 797, 805, 806, 807, 910, 911, 702, + 944, 912, 950, 953, 913, 914, 916, 917, 918, 919, + 808, 920, 921, 922, 923, 951, 924, 925, 927, 937, + 938, 942, 940, 941, 948, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, - 980, 979, 981, 982, 983, 984, 985, 986, 987, 988, + 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1002, 1001, 1003, 1004, 1007, 1010, 1009, 1011, - 1013, 1018, 1019, 1014, 1020, 1021, 1022, 1023, 1024, 1025, - 1026, 1028, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1039, - 1035, 1036, 1037, 1038, 1040, 1041, 1042, 1043, 1044, 1045, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, + 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 1020, 1021, 1024, 1026, 1027, 1028, 1035, 1036, 1030, + 1031, 1037, 1038, 1039, 1040, 1045, 1041, 1042, 1043, 1044, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, - 1056, 1057, 1061, 1058, 1072, 1059, 1060, 1062, 1083, 1063, - 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1073, 1074, - 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1084, 1103, - 1105, 1120, 1085, 1087, 1088, 1097, 1098, 1099, 1100, 1101, - 1108, 1109, 1102, 1104, 1107, 1115, 1124, 1119, 1110, 1112, - 1121, 1131, 1132, 1133, 1134, 1135, 1136, 1140, 1141, 1142, - 1143, 1145, 1144, 1146, 1148, 190, 149, 660, 795, 674, - 329, 461, 797, 114, 319, 836, 640, 928, 932, 472, - 487, 604, 911, 815, 804, 310, 816, 915, 0, 0, - 0, 368, 426, 0, 832, 0, 0, 0, 0, 514, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 516 + 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, + 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, + 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1089, 1084, + 1085, 1086, 1087, 1088, 1090, 1091, 1092, 1093, 1094, 1095, + 1096, 1097, 1098, 1099, 1100, 1101, 1120, 1122, 1137, 1102, + 1104, 1105, 1114, 1115, 1116, 1117, 1125, 1118, 1119, 1121, + 1124, 1126, 1132, 1141, 1127, 1136, 1129, 1138, 1148, 1149, + 1150, 1151, 1152, 1153, 1157, 1158, 1159, 1160, 1161, 1163, + 153, 1162, 1165, 677, 200, 691, 343, 812, 118, 477, + 333, 945, 814, 853, 503, 949, 488, 382, 832, 657, + 928, 621, 0, 0, 833, 440, 320, 932, 0, 849, + 821, 0, 0, 0, 530, 0, 0, 532 }; static const yytype_int16 yycheck[] = { - 218, 8, 196, 20, 571, 245, 522, 684, 216, 463, - 144, 523, 230, 3, 61, 75, 76, 54, 5, 6, - 5, 6, 77, 3, 37, 227, 3, 81, 246, 8, - 65, 77, 74, 86, 3, 638, 638, 638, 638, 173, - 242, 243, 83, 4, 638, 6, 638, 40, 3, 122, - 4, 0, 38, 60, 83, 16, 49, 573, 7, 77, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, - 3, 22, 67, 68, 23, 24, 25, 28, 4, 125, - 29, 30, 31, 78, 79, 80, 47, 6, 6, 34, - 14, 77, 16, 75, 55, 20, 87, 22, 69, 70, - 153, 154, 72, 28, 322, 323, 3, 125, 5, 6, - 3, 65, 153, 154, 156, 76, 3, 163, 336, 192, - 3, 54, 5, 6, 153, 154, 153, 154, 77, 3, - 3, 5, 6, 8, 811, 96, 97, 98, 99, 65, - 656, 359, 360, 54, 61, 163, 65, 65, 342, 126, - 210, 128, 33, 355, 71, 210, 4, 5, 6, 129, - 214, 42, 153, 154, 61, 212, 54, 128, 129, 130, - 410, 389, 390, 210, 34, 136, 137, 138, 61, 214, - 186, 187, 153, 154, 211, 60, 698, 61, 183, 212, - 207, 214, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 3, 132, 86, 170, - 7, 34, 9, 10, 11, 12, 13, 14, 167, 16, - 210, 208, 209, 441, 209, 205, 23, 24, 25, 246, - 34, 210, 29, 30, 31, 184, 205, 840, 840, 840, - 840, 435, 153, 154, 205, 0, 840, 170, 840, 153, - 154, 130, 100, 101, 102, 213, 474, 475, 106, 477, - 211, 210, 480, 457, 188, 153, 154, 8, 192, 166, - 464, 150, 151, 8, 209, 153, 154, 8, 8, 214, - 77, 153, 154, 166, 71, 133, 134, 135, 8, 72, - 492, 7, 166, 9, 10, 11, 12, 13, 14, 493, - 16, 72, 3, 4, 5, 6, 77, 23, 24, 25, - 214, 209, 8, 29, 30, 31, 214, 535, 130, 60, - 327, 8, 201, 202, 203, 204, 205, 206, 207, 60, - 60, 1008, 8, 8, 1011, 8, 148, 149, 150, 151, - 60, 358, 214, 126, 156, 128, 129, 71, 131, 10, - 917, 8, 486, 212, 20, 126, 22, 128, 129, 14, - 208, 77, 28, 64, 60, 26, 27, 34, 822, 36, - 167, 72, 73, 60, 335, 164, 165, 595, 210, 597, - 169, 82, 3, 84, 60, 60, 6, 60, 200, 201, - 202, 203, 204, 205, 206, 207, 171, 172, 600, 100, - 101, 102, 209, 60, 158, 106, 118, 214, 120, 195, - 122, 123, 198, 210, 168, 931, 618, 171, 172, 613, - 174, 175, 176, 184, 185, 209, 1103, 174, 189, 1106, - 214, 639, 133, 134, 135, 209, 190, 191, 171, 172, - 214, 1118, 682, 1120, 40, 452, 211, 43, 44, 214, - 467, 167, 48, 49, 155, 83, 3, 85, 211, 87, - 678, 214, 3, 4, 5, 6, 83, 685, 85, 663, - 87, 178, 3, 180, 54, 182, 493, 178, 3, 180, - 680, 182, 3, 683, 6, 89, 90, 91, 92, 93, - 153, 154, 96, 97, 210, 157, 158, 159, 72, 103, - 104, 105, 203, 204, 205, 45, 46, 208, 40, 210, - 211, 43, 44, 5, 6, 119, 48, 49, 6, 5, - 6, 3, 4, 5, 6, 45, 46, 33, 34, 35, - 214, 72, 73, 39, 40, 3, 4, 5, 6, 211, - 1107, 82, 214, 84, 43, 44, 87, 49, 50, 51, - 52, 4, 1119, 191, 1121, 211, 130, 211, 214, 100, - 101, 102, 33, 34, 35, 106, 1133, 211, 39, 40, - 43, 44, 45, 46, 148, 149, 150, 151, 1145, 153, - 211, 1148, 156, 214, 211, 211, 211, 214, 214, 214, - 72, 73, 133, 134, 135, 77, 613, 21, 211, 64, - 82, 214, 84, 837, 838, 3, 4, 5, 6, 211, - 211, 66, 214, 214, 155, 194, 195, 196, 100, 101, - 102, 205, 206, 207, 106, 632, 200, 201, 202, 203, - 204, 205, 206, 207, 72, 211, 3, 178, 214, 180, - 3, 182, 89, 90, 91, 92, 93, 61, 210, 96, - 97, 133, 134, 135, 73, 3, 103, 104, 105, 3, - 3, 3, 203, 204, 205, 211, 65, 208, 214, 210, - 4, 3, 119, 155, 72, 73, 211, 211, 211, 214, - 214, 3, 211, 3, 82, 214, 84, 4, 163, 3, - 4, 5, 6, 6, 211, 210, 178, 214, 180, 3, - 182, 6, 100, 101, 102, 4, 211, 211, 106, 214, - 214, 33, 34, 54, 36, 211, 934, 4, 214, 41, - 42, 203, 204, 205, 211, 52, 208, 214, 210, 67, - 3, 4, 5, 6, 73, 133, 134, 135, 7, 933, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 132, - 3, 61, 200, 77, 23, 24, 25, 155, 72, 73, - 29, 30, 31, 4, 210, 77, 210, 210, 82, 4, - 84, 55, 56, 57, 58, 59, 60, 4, 62, 63, - 178, 4, 180, 210, 182, 6, 100, 101, 102, 210, - 210, 3, 106, 6, 212, 47, 1014, 47, 76, 72, - 77, 4, 6, 211, 211, 203, 204, 205, 77, 82, - 208, 84, 210, 68, 4, 54, 210, 210, 210, 133, - 134, 135, 210, 210, 4, 210, 77, 100, 101, 102, - 210, 210, 210, 106, 72, 4, 4, 159, 160, 161, - 162, 155, 164, 165, 215, 211, 168, 169, 170, 3, - 72, 173, 174, 175, 210, 208, 76, 6, 180, 181, - 133, 134, 135, 6, 178, 6, 180, 72, 182, 74, - 5, 193, 43, 210, 210, 197, 3, 210, 6, 75, - 211, 163, 155, 163, 214, 127, 3, 210, 3, 203, - 204, 205, 130, 214, 208, 156, 210, 75, 167, 4, - 211, 210, 6, 129, 153, 178, 214, 180, 130, 182, - 148, 149, 150, 151, 215, 184, 6, 215, 156, 3, - 3, 214, 210, 4, 6, 130, 148, 149, 150, 151, - 203, 204, 205, 4, 156, 208, 4, 210, 210, 210, - 177, 210, 210, 148, 149, 150, 151, 152, 210, 6, - 210, 156, 210, 210, 32, 211, 210, 4, 6, 3, - 6, 4, 200, 201, 202, 203, 204, 205, 206, 207, - 214, 211, 6, 211, 77, 211, 5, 211, 200, 201, - 202, 203, 204, 205, 206, 207, 50, 47, 6, 200, - 214, 129, 6, 127, 131, 200, 201, 202, 203, 204, - 205, 206, 207, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 132, 106, 107, 108, 109, 110, 111, 210, 4, 114, - 163, 210, 117, 118, 211, 208, 121, 122, 123, 124, - 89, 90, 91, 92, 93, 208, 6, 96, 97, 214, - 211, 211, 6, 56, 103, 104, 105, 89, 90, 91, - 92, 93, 56, 3, 96, 97, 214, 51, 214, 214, - 119, 103, 104, 105, 89, 90, 91, 92, 93, 91, - 91, 96, 97, 214, 214, 214, 91, 119, 103, 104, - 105, 89, 90, 91, 92, 93, 214, 4, 96, 97, - 214, 214, 91, 214, 119, 103, 104, 105, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 214, 119, 214, 214, 91, 214, 214, 214, 214, 91, - 132, 132, 3, 65, 214, 214, 6, 214, 214, 214, - 214, 214, 214, 52, 214, 214, 6, 214, 214, 214, - 53, 214, 214, 214, 6, 214, 214, 6, 214, 214, - 214, 214, 214, 214, 214, 6, 6, 6, 6, 214, - 6, 6, 214, 214, 214, 214, 214, 214, 214, 214, - 6, 214, 6, 214, 214, 6, 6, 214, 214, 214, - 214, 214, 214, 214, 214, 214, 6, 214, 214, 6, - 6, 211, 210, 6, 6, 214, 6, 6, 214, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 214, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 214, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 214, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 214, 4, 4, 4, 4, 211, 4, - 6, 211, 211, 61, 211, 211, 211, 211, 211, 211, - 211, 6, 211, 211, 211, 211, 211, 211, 211, 6, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 6, 211, 211, 211, 211, 211, - 211, 211, 6, 211, 6, 211, 211, 211, 6, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 4, - 4, 4, 214, 214, 214, 211, 211, 211, 211, 211, - 6, 6, 211, 211, 211, 6, 6, 211, 214, 214, - 211, 6, 48, 211, 211, 40, 40, 210, 40, 40, - 3, 211, 210, 3, 211, 117, 60, 575, 653, 594, - 203, 337, 655, 20, 192, 704, 535, 835, 840, 361, - 387, 479, 794, 683, 670, 172, 683, 800, -1, -1, - -1, 237, 309, -1, 701, -1, -1, -1, -1, 412, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 414 + 228, 8, 206, 20, 588, 255, 701, 226, 538, 479, + 237, 148, 240, 3, 8, 3, 655, 61, 4, 5, + 6, 5, 6, 5, 6, 252, 253, 3, 256, 655, + 539, 4, 655, 6, 655, 655, 77, 37, 655, 20, + 177, 22, 81, 16, 54, 65, 77, 28, 77, 3, + 3, 5, 6, 60, 0, 54, 74, 54, 83, 126, + 590, 7, 6, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 75, 76, 47, 153, 154, 23, 24, 25, + 4, 170, 55, 29, 30, 31, 3, 34, 5, 6, + 4, 3, 3, 72, 125, 7, 125, 9, 10, 11, + 12, 13, 14, 76, 16, 164, 165, 61, 336, 337, + 169, 23, 24, 25, 100, 101, 102, 29, 30, 31, + 106, 65, 350, 96, 97, 98, 99, 198, 153, 154, + 201, 77, 163, 828, 163, 202, 214, 3, 156, 5, + 6, 65, 369, 673, 61, 373, 374, 133, 134, 135, + 129, 65, 356, 75, 153, 154, 153, 154, 34, 132, + 133, 134, 20, 10, 22, 77, 0, 140, 141, 142, + 28, 215, 213, 83, 424, 403, 404, 38, 217, 26, + 27, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 61, 8, 217, 69, 70, + 217, 174, 6, 213, 7, 86, 715, 8, 8, 12, + 213, 14, 166, 16, 8, 126, 77, 128, 857, 213, + 208, 167, 87, 213, 34, 211, 8, 211, 212, 457, + 212, 857, 208, 214, 857, 86, 857, 857, 184, 256, + 857, 40, 215, 153, 154, 67, 68, 451, 60, 166, + 49, 153, 154, 153, 154, 167, 78, 79, 80, 60, + 60, 65, 490, 491, 72, 493, 60, 213, 496, 473, + 8, 34, 153, 154, 132, 72, 480, 3, 60, 216, + 77, 508, 153, 154, 8, 3, 184, 185, 153, 154, + 7, 189, 9, 10, 11, 12, 13, 14, 3, 16, + 166, 213, 153, 154, 8, 509, 23, 24, 25, 61, + 8, 8, 29, 30, 31, 217, 8, 217, 126, 71, + 128, 129, 60, 131, 552, 157, 158, 159, 54, 126, + 1025, 128, 129, 1028, 341, 7, 60, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 20, 215, 22, 217, + 934, 23, 24, 25, 28, 372, 60, 29, 30, 31, + 77, 183, 60, 60, 167, 502, 33, 212, 60, 839, + 40, 3, 217, 43, 44, 42, 349, 214, 48, 49, + 217, 33, 34, 35, 612, 188, 614, 39, 40, 192, + 617, 8, 195, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 77, 212, 214, 635, 130, + 217, 217, 3, 4, 5, 6, 71, 118, 948, 120, + 697, 122, 123, 700, 71, 1120, 630, 212, 1123, 150, + 151, 212, 217, 186, 187, 40, 217, 656, 43, 44, + 1135, 212, 1137, 48, 49, 214, 217, 215, 217, 699, + 167, 14, 3, 4, 5, 6, 33, 34, 35, 171, + 172, 468, 39, 40, 171, 172, 483, 695, 83, 34, + 85, 36, 87, 64, 702, 83, 680, 85, 3, 87, + 3, 72, 73, 204, 205, 206, 207, 208, 209, 210, + 3, 82, 509, 84, 213, 167, 213, 55, 56, 57, + 58, 59, 60, 214, 62, 63, 217, 153, 154, 100, + 101, 102, 184, 3, 178, 106, 180, 6, 182, 54, + 214, 72, 73, 217, 3, 4, 5, 6, 3, 214, + 174, 82, 217, 84, 214, 214, 87, 217, 217, 6, + 1124, 213, 133, 134, 135, 49, 50, 51, 52, 100, + 101, 102, 1136, 6, 1138, 106, 43, 44, 45, 46, + 214, 45, 46, 217, 155, 214, 1150, 217, 217, 4, + 3, 4, 5, 6, 214, 75, 214, 217, 1162, 217, + 193, 1165, 133, 134, 135, 214, 193, 178, 217, 180, + 214, 182, 214, 217, 214, 217, 214, 217, 214, 217, + 214, 217, 214, 217, 155, 217, 3, 4, 5, 6, + 193, 214, 191, 630, 217, 206, 207, 208, 5, 6, + 211, 214, 213, 214, 197, 198, 199, 178, 214, 180, + 21, 182, 208, 209, 210, 5, 6, 45, 46, 72, + 73, 64, 649, 72, 77, 43, 44, 854, 855, 82, + 66, 84, 3, 3, 61, 206, 207, 208, 213, 73, + 211, 3, 213, 3, 4, 5, 6, 100, 101, 102, + 3, 3, 3, 106, 4, 72, 73, 65, 158, 3, + 214, 3, 213, 4, 4, 82, 163, 84, 168, 3, + 6, 171, 172, 6, 174, 175, 176, 4, 4, 4, + 133, 134, 135, 100, 101, 102, 54, 4, 193, 106, + 190, 191, 67, 193, 194, 52, 73, 132, 3, 77, + 61, 203, 155, 951, 77, 213, 4, 3, 4, 5, + 6, 4, 72, 73, 4, 213, 133, 134, 135, 213, + 4, 6, 82, 213, 84, 178, 950, 180, 213, 182, + 213, 215, 3, 6, 47, 72, 47, 76, 155, 77, + 100, 101, 102, 4, 6, 76, 106, 4, 214, 214, + 68, 4, 54, 206, 207, 208, 213, 213, 211, 213, + 213, 178, 213, 180, 4, 182, 213, 77, 213, 3, + 218, 213, 213, 133, 134, 135, 72, 214, 4, 4, + 213, 76, 3, 1031, 213, 211, 82, 6, 84, 206, + 207, 208, 6, 130, 211, 155, 213, 6, 5, 33, + 34, 43, 36, 213, 100, 101, 102, 41, 42, 213, + 106, 148, 149, 150, 151, 3, 213, 6, 178, 156, + 180, 72, 182, 74, 4, 214, 89, 90, 91, 92, + 93, 163, 75, 96, 97, 163, 217, 133, 134, 135, + 103, 104, 105, 3, 127, 72, 206, 207, 208, 213, + 3, 211, 217, 213, 4, 156, 119, 75, 214, 155, + 129, 153, 217, 6, 213, 6, 203, 204, 205, 206, + 207, 208, 209, 210, 3, 218, 3, 214, 6, 130, + 4, 4, 178, 218, 180, 4, 182, 217, 177, 213, + 213, 72, 213, 213, 213, 32, 6, 148, 149, 150, + 151, 152, 214, 130, 213, 156, 213, 213, 6, 213, + 206, 207, 208, 4, 6, 211, 3, 213, 217, 4, + 214, 148, 149, 150, 151, 159, 160, 161, 162, 156, + 164, 165, 214, 77, 168, 169, 170, 214, 6, 173, + 174, 175, 5, 50, 47, 203, 180, 181, 6, 130, + 217, 6, 203, 204, 205, 206, 207, 208, 209, 210, + 129, 127, 196, 131, 213, 132, 200, 148, 149, 150, + 151, 130, 153, 163, 211, 156, 203, 204, 205, 206, + 207, 208, 209, 210, 214, 4, 217, 211, 6, 148, + 149, 150, 151, 6, 214, 56, 213, 156, 214, 56, + 89, 90, 91, 92, 93, 3, 217, 96, 97, 51, + 91, 217, 217, 217, 103, 104, 105, 217, 217, 217, + 217, 217, 203, 204, 205, 206, 207, 208, 209, 210, + 119, 217, 217, 217, 217, 217, 132, 91, 217, 217, + 217, 217, 217, 217, 203, 204, 205, 206, 207, 208, + 209, 210, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 217, + 106, 107, 108, 109, 110, 111, 91, 217, 114, 217, + 91, 117, 118, 217, 217, 121, 122, 123, 124, 89, + 90, 91, 92, 93, 91, 217, 96, 97, 91, 217, + 217, 217, 217, 103, 104, 105, 89, 90, 91, 92, + 93, 217, 217, 96, 97, 217, 217, 217, 217, 119, + 103, 104, 105, 89, 90, 91, 92, 93, 132, 217, + 96, 97, 4, 217, 217, 217, 119, 103, 104, 105, + 89, 90, 91, 92, 93, 217, 217, 96, 97, 3, + 217, 217, 217, 119, 103, 104, 105, 217, 217, 65, + 6, 217, 52, 6, 217, 217, 217, 217, 217, 217, + 119, 217, 217, 217, 217, 53, 217, 217, 217, 217, + 217, 214, 217, 217, 213, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 217, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 217, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 217, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 217, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 217, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 217, + 6, 4, 4, 4, 214, 4, 4, 214, 214, 6, + 61, 214, 214, 214, 214, 6, 214, 214, 214, 214, + 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, + 6, 214, 214, 214, 214, 214, 214, 214, 214, 214, + 214, 6, 214, 214, 214, 214, 214, 214, 214, 214, + 214, 214, 6, 214, 214, 214, 214, 214, 6, 214, + 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, + 214, 214, 214, 214, 6, 214, 4, 4, 4, 217, + 217, 217, 214, 214, 214, 214, 6, 214, 214, 214, + 214, 6, 6, 6, 217, 214, 217, 214, 6, 48, + 214, 214, 40, 40, 213, 40, 40, 3, 213, 3, + 60, 214, 214, 592, 121, 611, 213, 670, 20, 351, + 202, 852, 672, 721, 401, 857, 375, 247, 700, 552, + 811, 495, -1, -1, 700, 319, 176, 817, -1, 718, + 687, -1, -1, -1, 426, -1, -1, 428 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1590,176 +1598,178 @@ static const yytype_int16 yystos[] = { 0, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 23, 24, 25, 29, 30, 31, 77, 167, 184, - 210, 217, 218, 219, 221, 232, 233, 235, 236, 239, - 240, 241, 242, 243, 267, 272, 273, 274, 275, 276, - 277, 278, 33, 34, 35, 39, 40, 37, 33, 34, - 35, 39, 40, 3, 265, 75, 265, 164, 165, 169, - 3, 220, 221, 232, 233, 236, 239, 240, 241, 272, - 273, 274, 275, 276, 3, 33, 34, 36, 41, 42, + 213, 220, 221, 222, 224, 235, 236, 238, 239, 242, + 243, 244, 245, 246, 270, 275, 276, 277, 278, 279, + 280, 281, 33, 34, 35, 39, 40, 37, 33, 34, + 35, 39, 40, 3, 268, 75, 268, 164, 165, 169, + 3, 223, 224, 235, 236, 239, 242, 243, 244, 275, + 276, 277, 278, 279, 3, 33, 34, 36, 41, 42, 159, 160, 161, 162, 164, 165, 168, 169, 170, 173, - 174, 175, 180, 181, 193, 197, 34, 34, 34, 34, - 157, 158, 159, 3, 3, 265, 3, 268, 269, 170, - 14, 16, 188, 192, 242, 243, 0, 213, 325, 20, - 22, 28, 261, 8, 244, 246, 71, 324, 324, 324, - 324, 324, 326, 265, 71, 323, 323, 323, 323, 323, - 212, 14, 265, 75, 76, 210, 3, 3, 3, 220, - 210, 3, 265, 6, 171, 172, 171, 172, 3, 174, - 6, 194, 195, 196, 195, 198, 265, 265, 265, 265, - 61, 54, 214, 6, 184, 185, 189, 158, 168, 171, - 172, 174, 175, 176, 190, 191, 4, 191, 211, 211, - 219, 21, 210, 245, 246, 64, 253, 66, 247, 72, - 3, 265, 265, 265, 3, 61, 210, 234, 73, 3, - 265, 265, 265, 3, 3, 3, 237, 238, 65, 258, - 4, 322, 322, 3, 4, 5, 6, 72, 73, 82, + 174, 175, 180, 181, 196, 200, 34, 34, 34, 34, + 157, 158, 159, 3, 3, 268, 3, 271, 272, 170, + 7, 12, 14, 16, 167, 188, 192, 195, 245, 246, + 0, 216, 328, 20, 22, 28, 264, 8, 247, 249, + 71, 327, 327, 327, 327, 327, 329, 268, 71, 326, + 326, 326, 326, 326, 215, 14, 268, 75, 76, 213, + 3, 3, 3, 223, 213, 3, 268, 6, 171, 172, + 171, 172, 3, 174, 6, 197, 198, 199, 198, 201, + 268, 268, 268, 268, 61, 54, 217, 6, 193, 193, + 184, 185, 189, 158, 168, 171, 172, 174, 175, 176, + 190, 191, 193, 194, 193, 4, 191, 75, 214, 214, + 222, 21, 213, 248, 249, 64, 256, 66, 250, 72, + 3, 268, 268, 268, 3, 61, 213, 237, 73, 3, + 268, 268, 268, 3, 3, 3, 240, 241, 65, 261, + 4, 325, 325, 3, 4, 5, 6, 72, 73, 82, 84, 100, 101, 102, 106, 133, 134, 135, 155, 178, - 180, 182, 203, 204, 205, 208, 210, 279, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 292, 293, 294, - 295, 296, 298, 299, 300, 301, 302, 304, 305, 306, - 307, 308, 309, 310, 311, 314, 315, 316, 317, 318, - 319, 3, 5, 6, 61, 166, 3, 5, 6, 61, - 166, 3, 5, 6, 61, 166, 211, 40, 43, 44, - 48, 49, 3, 3, 4, 10, 26, 27, 265, 210, - 269, 322, 163, 6, 3, 6, 4, 54, 4, 245, - 246, 279, 52, 67, 251, 73, 132, 54, 210, 234, - 265, 3, 231, 38, 243, 61, 200, 214, 258, 282, - 77, 77, 210, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 72, 73, 283, 210, 210, - 87, 282, 297, 4, 4, 4, 4, 6, 319, 210, - 118, 120, 122, 123, 210, 210, 283, 283, 5, 6, - 209, 302, 312, 313, 243, 282, 211, 214, 54, 153, - 154, 72, 74, 130, 148, 149, 150, 151, 152, 156, - 200, 201, 202, 203, 204, 205, 206, 207, 212, 209, - 214, 209, 214, 209, 214, 209, 214, 209, 214, 3, - 6, 47, 47, 76, 77, 327, 244, 4, 40, 49, - 6, 186, 187, 211, 211, 81, 254, 248, 249, 282, - 282, 68, 252, 4, 241, 3, 126, 128, 222, 224, - 225, 230, 54, 210, 331, 211, 214, 210, 280, 265, - 282, 238, 210, 210, 64, 211, 279, 210, 72, 243, - 282, 282, 297, 83, 85, 87, 4, 210, 210, 210, - 210, 4, 4, 215, 211, 211, 76, 281, 3, 282, - 282, 74, 156, 210, 72, 129, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 3, 205, 302, 6, 312, 6, 313, 6, 5, 43, - 45, 46, 210, 210, 3, 210, 211, 6, 33, 42, - 163, 163, 279, 75, 255, 214, 69, 70, 250, 282, - 132, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, - 108, 109, 110, 111, 114, 117, 118, 121, 122, 123, - 124, 226, 127, 210, 211, 214, 241, 3, 3, 279, - 214, 67, 68, 78, 79, 80, 183, 320, 321, 320, - 279, 211, 243, 211, 54, 86, 83, 85, 282, 282, - 75, 282, 4, 3, 300, 282, 214, 257, 211, 214, - 5, 6, 322, 210, 283, 243, 279, 129, 153, 215, - 215, 6, 6, 231, 223, 225, 3, 329, 330, 6, - 4, 4, 210, 262, 263, 264, 265, 270, 177, 256, - 249, 4, 210, 210, 210, 210, 210, 210, 210, 72, - 126, 128, 129, 227, 228, 327, 210, 231, 32, 328, - 224, 211, 211, 210, 6, 6, 4, 3, 6, 211, - 214, 211, 211, 211, 226, 282, 282, 83, 86, 283, - 214, 214, 214, 214, 4, 65, 211, 4, 77, 243, - 279, 211, 211, 283, 50, 47, 211, 211, 214, 200, - 211, 214, 6, 241, 214, 55, 57, 58, 59, 60, - 62, 63, 271, 3, 54, 266, 284, 285, 286, 287, - 288, 289, 290, 291, 258, 6, 89, 90, 91, 92, + 180, 182, 206, 207, 208, 211, 213, 282, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 295, 296, 297, + 298, 299, 301, 302, 303, 304, 305, 307, 308, 309, + 310, 311, 312, 313, 314, 317, 318, 319, 320, 321, + 322, 3, 5, 6, 61, 166, 3, 5, 6, 61, + 166, 3, 5, 6, 61, 166, 214, 40, 43, 44, + 48, 49, 3, 3, 4, 10, 26, 27, 268, 213, + 272, 325, 4, 163, 6, 3, 6, 4, 4, 4, + 54, 4, 193, 248, 249, 282, 52, 67, 254, 73, + 132, 54, 213, 237, 268, 3, 234, 38, 246, 61, + 203, 217, 261, 285, 77, 77, 213, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 72, + 73, 286, 213, 213, 87, 285, 300, 4, 4, 4, + 4, 6, 322, 213, 118, 120, 122, 123, 213, 213, + 286, 286, 5, 6, 212, 305, 315, 316, 246, 285, + 214, 217, 54, 153, 154, 72, 74, 130, 148, 149, + 150, 151, 152, 156, 203, 204, 205, 206, 207, 208, + 209, 210, 215, 212, 217, 212, 217, 212, 217, 212, + 217, 212, 217, 3, 6, 47, 47, 76, 77, 330, + 247, 4, 40, 49, 6, 76, 186, 187, 4, 214, + 214, 81, 257, 251, 252, 285, 285, 68, 255, 4, + 244, 3, 126, 128, 225, 227, 228, 233, 54, 213, + 334, 214, 217, 213, 283, 268, 285, 241, 213, 213, + 64, 214, 282, 213, 72, 246, 285, 285, 300, 83, + 85, 87, 4, 213, 213, 213, 213, 4, 4, 218, + 214, 214, 76, 284, 3, 285, 285, 74, 156, 213, + 72, 129, 286, 286, 286, 286, 286, 286, 286, 286, + 286, 286, 286, 286, 286, 286, 3, 208, 305, 6, + 315, 6, 316, 6, 5, 43, 45, 46, 213, 213, + 3, 213, 214, 6, 33, 42, 4, 163, 163, 282, + 75, 258, 217, 69, 70, 253, 285, 132, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, + 111, 114, 117, 118, 121, 122, 123, 124, 229, 127, + 213, 214, 217, 244, 3, 3, 282, 217, 67, 68, + 78, 79, 80, 183, 323, 324, 323, 282, 214, 246, + 214, 54, 86, 83, 85, 285, 285, 75, 285, 4, + 3, 303, 285, 217, 260, 214, 217, 5, 6, 325, + 213, 286, 246, 282, 129, 153, 218, 218, 6, 6, + 234, 226, 228, 3, 332, 333, 6, 4, 4, 213, + 265, 266, 267, 268, 273, 177, 259, 252, 4, 213, + 213, 213, 213, 213, 213, 213, 72, 126, 128, 129, + 230, 231, 330, 213, 234, 32, 331, 227, 214, 214, + 213, 6, 6, 4, 3, 6, 214, 217, 214, 214, + 214, 229, 285, 285, 83, 86, 286, 217, 217, 217, + 217, 4, 65, 214, 4, 77, 246, 282, 214, 214, + 286, 50, 47, 214, 214, 217, 203, 214, 217, 6, + 244, 217, 55, 57, 58, 59, 60, 62, 63, 274, + 3, 54, 269, 287, 288, 289, 290, 291, 292, 293, + 294, 261, 6, 89, 90, 91, 92, 93, 96, 97, + 103, 104, 105, 119, 89, 90, 91, 92, 93, 96, + 97, 103, 104, 105, 119, 89, 90, 91, 92, 93, + 96, 97, 103, 104, 105, 119, 89, 90, 91, 92, 93, 96, 97, 103, 104, 105, 119, 89, 90, 91, 92, 93, 96, 97, 103, 104, 105, 119, 89, 90, - 91, 92, 93, 96, 97, 103, 104, 105, 119, 89, - 90, 91, 92, 93, 96, 97, 103, 104, 105, 119, - 89, 90, 91, 92, 93, 96, 97, 103, 104, 105, - 119, 89, 90, 91, 92, 93, 96, 97, 103, 104, - 105, 119, 129, 127, 131, 228, 229, 229, 231, 211, - 210, 132, 163, 279, 321, 211, 83, 282, 211, 208, - 314, 4, 302, 208, 303, 306, 311, 314, 214, 257, - 282, 211, 210, 211, 211, 6, 6, 225, 3, 4, - 5, 6, 330, 34, 36, 211, 263, 56, 56, 3, - 214, 51, 260, 211, 214, 214, 214, 214, 214, 214, - 214, 214, 214, 214, 91, 214, 214, 214, 214, 214, - 214, 214, 214, 214, 214, 91, 214, 214, 214, 214, - 214, 214, 214, 214, 214, 214, 91, 214, 214, 214, - 214, 214, 214, 214, 214, 214, 214, 91, 214, 214, - 214, 214, 214, 214, 214, 214, 214, 214, 91, 214, - 214, 214, 214, 214, 214, 214, 214, 214, 214, 91, - 214, 301, 132, 132, 211, 329, 4, 3, 211, 6, - 214, 214, 257, 214, 214, 211, 320, 6, 266, 264, - 264, 210, 290, 52, 53, 259, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 214, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 214, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 214, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 214, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 214, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 214, 6, 4, 4, 211, 327, 4, 4, 211, - 4, 4, 211, 6, 61, 231, 279, 282, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 6, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 6, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 6, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 6, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 6, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 6, 211, 214, 257, 214, 214, 257, - 40, 43, 44, 48, 49, 282, 211, 211, 211, 211, - 211, 211, 211, 4, 211, 4, 6, 211, 6, 6, - 214, 257, 214, 257, 327, 6, 45, 46, 6, 211, - 4, 211, 43, 44, 6, 257, 327, 257, 125, 163, - 327, 6, 48, 211, 211, 40, 40, 125, 163, 327, - 210, 40, 40, 3, 210, 211, 3, 327, 211, 327 + 91, 92, 93, 96, 97, 103, 104, 105, 119, 129, + 127, 131, 231, 232, 232, 234, 214, 213, 132, 163, + 282, 324, 214, 83, 285, 214, 211, 317, 4, 305, + 211, 306, 309, 314, 317, 217, 260, 285, 214, 213, + 214, 214, 6, 6, 228, 3, 4, 5, 6, 333, + 34, 36, 214, 266, 56, 56, 3, 217, 51, 263, + 214, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 91, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 91, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 91, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 91, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 91, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 91, 217, 304, 132, + 132, 214, 332, 4, 3, 214, 6, 217, 217, 260, + 217, 217, 214, 323, 6, 269, 267, 267, 213, 293, + 52, 53, 262, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 217, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 217, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 217, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 217, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 217, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 217, 6, + 4, 4, 214, 330, 4, 4, 214, 4, 4, 214, + 6, 61, 234, 282, 285, 214, 214, 214, 214, 214, + 214, 214, 214, 214, 214, 6, 214, 214, 214, 214, + 214, 214, 214, 214, 214, 214, 6, 214, 214, 214, + 214, 214, 214, 214, 214, 214, 214, 6, 214, 214, + 214, 214, 214, 214, 214, 214, 214, 214, 6, 214, + 214, 214, 214, 214, 214, 214, 214, 214, 214, 6, + 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, + 6, 214, 217, 260, 217, 217, 260, 40, 43, 44, + 48, 49, 285, 214, 214, 214, 214, 214, 214, 214, + 4, 214, 4, 6, 214, 6, 6, 217, 260, 217, + 260, 330, 6, 45, 46, 6, 214, 4, 214, 43, + 44, 6, 260, 330, 260, 125, 163, 330, 6, 48, + 214, 214, 40, 40, 125, 163, 330, 213, 40, 40, + 3, 213, 214, 3, 330, 214, 330 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { - 0, 216, 217, 218, 218, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, - 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 222, 222, 223, 223, 224, 224, 225, 225, 225, - 225, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 227, 227, 228, 228, 228, 228, 229, - 229, 230, 230, 231, 231, 232, 233, 233, 234, 234, - 235, 235, 236, 237, 237, 238, 239, 239, 239, 239, - 239, 240, 240, 240, 241, 241, 241, 241, 242, 242, - 243, 244, 245, 245, 246, 247, 247, 248, 248, 249, - 250, 250, 250, 251, 251, 252, 252, 253, 253, 254, - 254, 255, 255, 256, 256, 257, 257, 258, 258, 259, - 259, 260, 260, 261, 261, 261, 261, 262, 262, 263, - 263, 264, 264, 265, 265, 266, 266, 266, 266, 267, - 267, 268, 268, 269, 270, 270, 271, 271, 271, 271, - 271, 271, 271, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 273, 273, 273, 274, 274, 275, 275, 275, 275, + 0, 219, 220, 221, 221, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 224, 224, 224, 224, 224, 224, 224, 224, + 224, 225, 225, 226, 226, 227, 227, 228, 228, 228, + 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 230, 230, 231, 231, 231, 231, 232, + 232, 233, 233, 234, 234, 235, 236, 236, 237, 237, + 238, 238, 239, 240, 240, 241, 242, 242, 242, 242, + 242, 243, 243, 243, 244, 244, 244, 244, 245, 245, + 246, 247, 248, 248, 249, 250, 250, 251, 251, 252, + 253, 253, 253, 254, 254, 255, 255, 256, 256, 257, + 257, 258, 258, 259, 259, 260, 260, 261, 261, 262, + 262, 263, 263, 264, 264, 264, 264, 265, 265, 266, + 266, 267, 267, 268, 268, 269, 269, 269, 269, 270, + 270, 271, 271, 272, 273, 273, 274, 274, 274, 274, + 274, 274, 274, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 276, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, 278, 278, - 278, 279, 279, 280, 280, 281, 281, 282, 282, 282, - 282, 282, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 284, 285, 285, 285, 285, - 286, 286, 286, 286, 287, 287, 288, 288, 289, 289, - 290, 290, 290, 290, 290, 290, 291, 291, 292, 292, - 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, - 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, - 292, 293, 293, 294, 295, 295, 296, 296, 296, 296, - 297, 297, 298, 299, 299, 299, 299, 300, 300, 300, - 300, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 302, 302, 302, 302, 303, 303, 303, - 304, 305, 305, 306, 306, 307, 308, 308, 309, 310, - 310, 311, 312, 313, 314, 314, 315, 316, 316, 317, - 318, 318, 319, 319, 319, 319, 319, 319, 319, 319, - 319, 319, 319, 319, 320, 320, 321, 321, 321, 321, - 321, 321, 322, 323, 323, 324, 324, 325, 325, 326, - 326, 327, 327, 328, 328, 329, 329, 330, 330, 330, - 330, 330, 331, 331 + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 276, 276, 276, 277, 277, 278, 278, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, + 278, 278, 278, 278, 278, 279, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 281, 281, 281, 282, 282, 283, + 283, 284, 284, 285, 285, 285, 285, 285, 286, 286, + 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, + 286, 287, 288, 288, 288, 288, 289, 289, 289, 289, + 290, 290, 291, 291, 292, 292, 293, 293, 293, 293, + 293, 293, 294, 294, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 296, 296, 297, + 298, 298, 299, 299, 299, 299, 300, 300, 301, 302, + 302, 302, 302, 303, 303, 303, 303, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 305, + 305, 305, 305, 306, 306, 306, 307, 308, 308, 309, + 309, 310, 311, 311, 312, 313, 313, 314, 315, 316, + 317, 317, 318, 319, 319, 320, 321, 321, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 323, 323, 324, 324, 324, 324, 324, 324, 325, 326, + 326, 327, 327, 328, 328, 329, 329, 330, 330, 331, + 331, 332, 332, 333, 333, 333, 333, 333, 334, 334 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1798,25 +1808,25 @@ static const yytype_int8 yyr2[] = 4, 4, 4, 3, 3, 3, 3, 4, 6, 7, 9, 10, 12, 12, 13, 14, 15, 16, 12, 13, 15, 16, 3, 4, 5, 6, 3, 3, 4, 3, - 4, 3, 4, 3, 3, 5, 7, 7, 6, 8, - 8, 1, 3, 3, 5, 3, 1, 1, 1, 1, - 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 14, 20, 16, 15, 13, - 18, 14, 13, 11, 8, 10, 5, 7, 4, 6, - 1, 1, 1, 1, 1, 1, 1, 3, 3, 4, - 5, 4, 3, 2, 2, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, - 4, 3, 3, 5, 5, 6, 4, 6, 3, 5, - 4, 5, 6, 4, 5, 5, 6, 1, 3, 1, - 3, 1, 1, 1, 1, 1, 2, 2, 2, 2, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 3, 1, 1, 2, 2, 3, 2, 2, - 3, 2, 3, 3, 1, 1, 2, 2, 3, 2, - 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 1, 3, 2, 2, 1, 2, - 2, 2, 1, 2, 0, 3, 0, 1, 0, 2, - 0, 4, 0, 4, 0, 1, 3, 1, 3, 3, - 3, 3, 6, 3 + 3, 4, 4, 6, 5, 3, 4, 3, 4, 3, + 3, 5, 7, 7, 6, 8, 8, 1, 3, 3, + 5, 3, 1, 1, 1, 1, 1, 1, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 14, 20, 16, 15, 13, 18, 14, 13, 11, + 8, 10, 5, 7, 4, 6, 1, 1, 1, 1, + 1, 1, 1, 3, 3, 4, 5, 4, 3, 2, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 6, 3, 4, 3, 3, 5, + 5, 6, 4, 6, 3, 5, 4, 5, 6, 4, + 5, 5, 6, 1, 3, 1, 3, 1, 1, 1, + 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 2, 3, 1, + 1, 2, 2, 3, 2, 2, 3, 2, 3, 3, + 1, 1, 2, 2, 3, 2, 2, 3, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 3, 2, 2, 1, 2, 2, 2, 1, 2, + 0, 3, 0, 1, 0, 2, 0, 4, 0, 4, + 0, 1, 3, 1, 3, 3, 3, 3, 6, 3 }; @@ -2384,7 +2394,7 @@ yydestruct (const char *yymsg, { free(((*yyvaluep).str_value)); } -#line 2388 "parser.cpp" +#line 2398 "parser.cpp" break; case YYSYMBOL_STRING: /* STRING */ @@ -2392,7 +2402,7 @@ yydestruct (const char *yymsg, { free(((*yyvaluep).str_value)); } -#line 2396 "parser.cpp" +#line 2406 "parser.cpp" break; case YYSYMBOL_statement_list: /* statement_list */ @@ -2406,7 +2416,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).stmt_array)); } } -#line 2410 "parser.cpp" +#line 2420 "parser.cpp" break; case YYSYMBOL_table_element_array: /* table_element_array */ @@ -2420,7 +2430,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).table_element_array_t)); } } -#line 2424 "parser.cpp" +#line 2434 "parser.cpp" break; case YYSYMBOL_column_def_array: /* column_def_array */ @@ -2434,7 +2444,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).column_def_array_t)); } } -#line 2438 "parser.cpp" +#line 2448 "parser.cpp" break; case YYSYMBOL_column_constraints: /* column_constraints */ @@ -2445,7 +2455,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).column_constraints_t)); } } -#line 2449 "parser.cpp" +#line 2459 "parser.cpp" break; case YYSYMBOL_default_expr: /* default_expr */ @@ -2453,7 +2463,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 2457 "parser.cpp" +#line 2467 "parser.cpp" break; case YYSYMBOL_identifier_array: /* identifier_array */ @@ -2462,7 +2472,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy identifier array\n"); delete (((*yyvaluep).identifier_array_t)); } -#line 2466 "parser.cpp" +#line 2476 "parser.cpp" break; case YYSYMBOL_optional_identifier_array: /* optional_identifier_array */ @@ -2471,7 +2481,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy identifier array\n"); delete (((*yyvaluep).identifier_array_t)); } -#line 2475 "parser.cpp" +#line 2485 "parser.cpp" break; case YYSYMBOL_update_expr_array: /* update_expr_array */ @@ -2485,7 +2495,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).update_expr_array_t)); } } -#line 2489 "parser.cpp" +#line 2499 "parser.cpp" break; case YYSYMBOL_update_expr: /* update_expr */ @@ -2496,7 +2506,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).update_expr_t); } } -#line 2500 "parser.cpp" +#line 2510 "parser.cpp" break; case YYSYMBOL_select_statement: /* select_statement */ @@ -2506,7 +2516,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2510 "parser.cpp" +#line 2520 "parser.cpp" break; case YYSYMBOL_select_with_paren: /* select_with_paren */ @@ -2516,7 +2526,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2520 "parser.cpp" +#line 2530 "parser.cpp" break; case YYSYMBOL_select_without_paren: /* select_without_paren */ @@ -2526,7 +2536,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2530 "parser.cpp" +#line 2540 "parser.cpp" break; case YYSYMBOL_select_clause_with_modifier: /* select_clause_with_modifier */ @@ -2536,7 +2546,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2540 "parser.cpp" +#line 2550 "parser.cpp" break; case YYSYMBOL_select_clause_without_modifier_paren: /* select_clause_without_modifier_paren */ @@ -2546,7 +2556,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2550 "parser.cpp" +#line 2560 "parser.cpp" break; case YYSYMBOL_select_clause_without_modifier: /* select_clause_without_modifier */ @@ -2556,7 +2566,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2560 "parser.cpp" +#line 2570 "parser.cpp" break; case YYSYMBOL_order_by_clause: /* order_by_clause */ @@ -2570,7 +2580,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).order_by_expr_list_t)); } } -#line 2574 "parser.cpp" +#line 2584 "parser.cpp" break; case YYSYMBOL_order_by_expr_list: /* order_by_expr_list */ @@ -2584,7 +2594,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).order_by_expr_list_t)); } } -#line 2588 "parser.cpp" +#line 2598 "parser.cpp" break; case YYSYMBOL_order_by_expr: /* order_by_expr */ @@ -2594,7 +2604,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).order_by_expr_t)->expr_; delete ((*yyvaluep).order_by_expr_t); } -#line 2598 "parser.cpp" +#line 2608 "parser.cpp" break; case YYSYMBOL_limit_expr: /* limit_expr */ @@ -2602,7 +2612,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2606 "parser.cpp" +#line 2616 "parser.cpp" break; case YYSYMBOL_offset_expr: /* offset_expr */ @@ -2610,7 +2620,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2614 "parser.cpp" +#line 2624 "parser.cpp" break; case YYSYMBOL_highlight_clause: /* highlight_clause */ @@ -2624,7 +2634,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).expr_array_t)); } } -#line 2628 "parser.cpp" +#line 2638 "parser.cpp" break; case YYSYMBOL_from_clause: /* from_clause */ @@ -2633,7 +2643,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table reference\n"); delete (((*yyvaluep).table_reference_t)); } -#line 2637 "parser.cpp" +#line 2647 "parser.cpp" break; case YYSYMBOL_search_clause: /* search_clause */ @@ -2641,7 +2651,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2645 "parser.cpp" +#line 2655 "parser.cpp" break; case YYSYMBOL_optional_search_filter_expr: /* optional_search_filter_expr */ @@ -2649,7 +2659,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2653 "parser.cpp" +#line 2663 "parser.cpp" break; case YYSYMBOL_where_clause: /* where_clause */ @@ -2657,7 +2667,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2661 "parser.cpp" +#line 2671 "parser.cpp" break; case YYSYMBOL_having_clause: /* having_clause */ @@ -2665,7 +2675,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2669 "parser.cpp" +#line 2679 "parser.cpp" break; case YYSYMBOL_group_by_clause: /* group_by_clause */ @@ -2679,7 +2689,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).expr_array_t)); } } -#line 2683 "parser.cpp" +#line 2693 "parser.cpp" break; case YYSYMBOL_table_reference: /* table_reference */ @@ -2688,7 +2698,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table reference\n"); delete (((*yyvaluep).table_reference_t)); } -#line 2692 "parser.cpp" +#line 2702 "parser.cpp" break; case YYSYMBOL_table_reference_unit: /* table_reference_unit */ @@ -2697,7 +2707,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table reference\n"); delete (((*yyvaluep).table_reference_t)); } -#line 2701 "parser.cpp" +#line 2711 "parser.cpp" break; case YYSYMBOL_table_reference_name: /* table_reference_name */ @@ -2706,7 +2716,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table reference\n"); delete (((*yyvaluep).table_reference_t)); } -#line 2710 "parser.cpp" +#line 2720 "parser.cpp" break; case YYSYMBOL_table_name: /* table_name */ @@ -2719,7 +2729,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).table_name_t)); } } -#line 2723 "parser.cpp" +#line 2733 "parser.cpp" break; case YYSYMBOL_table_alias: /* table_alias */ @@ -2728,7 +2738,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table alias\n"); delete (((*yyvaluep).table_alias_t)); } -#line 2732 "parser.cpp" +#line 2742 "parser.cpp" break; case YYSYMBOL_with_clause: /* with_clause */ @@ -2742,7 +2752,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).with_expr_list_t)); } } -#line 2746 "parser.cpp" +#line 2756 "parser.cpp" break; case YYSYMBOL_with_expr_list: /* with_expr_list */ @@ -2756,7 +2766,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).with_expr_list_t)); } } -#line 2760 "parser.cpp" +#line 2770 "parser.cpp" break; case YYSYMBOL_with_expr: /* with_expr */ @@ -2766,7 +2776,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).with_expr_t)->select_; delete ((*yyvaluep).with_expr_t); } -#line 2770 "parser.cpp" +#line 2780 "parser.cpp" break; case YYSYMBOL_join_clause: /* join_clause */ @@ -2775,7 +2785,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table reference\n"); delete (((*yyvaluep).table_reference_t)); } -#line 2779 "parser.cpp" +#line 2789 "parser.cpp" break; case YYSYMBOL_expr_array: /* expr_array */ @@ -2789,7 +2799,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).expr_array_t)); } } -#line 2793 "parser.cpp" +#line 2803 "parser.cpp" break; case YYSYMBOL_insert_row_list: /* insert_row_list */ @@ -2803,7 +2813,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).insert_row_list_t)); } } -#line 2807 "parser.cpp" +#line 2817 "parser.cpp" break; case YYSYMBOL_expr_alias: /* expr_alias */ @@ -2811,7 +2821,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2815 "parser.cpp" +#line 2825 "parser.cpp" break; case YYSYMBOL_expr: /* expr */ @@ -2819,7 +2829,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2823 "parser.cpp" +#line 2833 "parser.cpp" break; case YYSYMBOL_operand: /* operand */ @@ -2827,7 +2837,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2831 "parser.cpp" +#line 2841 "parser.cpp" break; case YYSYMBOL_match_tensor_expr: /* match_tensor_expr */ @@ -2835,7 +2845,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2839 "parser.cpp" +#line 2849 "parser.cpp" break; case YYSYMBOL_match_vector_expr: /* match_vector_expr */ @@ -2843,7 +2853,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2847 "parser.cpp" +#line 2857 "parser.cpp" break; case YYSYMBOL_match_sparse_expr: /* match_sparse_expr */ @@ -2851,7 +2861,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2855 "parser.cpp" +#line 2865 "parser.cpp" break; case YYSYMBOL_match_text_expr: /* match_text_expr */ @@ -2859,7 +2869,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2863 "parser.cpp" +#line 2873 "parser.cpp" break; case YYSYMBOL_query_expr: /* query_expr */ @@ -2867,7 +2877,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2871 "parser.cpp" +#line 2881 "parser.cpp" break; case YYSYMBOL_fusion_expr: /* fusion_expr */ @@ -2875,7 +2885,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2879 "parser.cpp" +#line 2889 "parser.cpp" break; case YYSYMBOL_sub_search: /* sub_search */ @@ -2883,7 +2893,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2887 "parser.cpp" +#line 2897 "parser.cpp" break; case YYSYMBOL_sub_search_array: /* sub_search_array */ @@ -2897,7 +2907,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).expr_array_t)); } } -#line 2901 "parser.cpp" +#line 2911 "parser.cpp" break; case YYSYMBOL_function_expr: /* function_expr */ @@ -2905,7 +2915,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2909 "parser.cpp" +#line 2919 "parser.cpp" break; case YYSYMBOL_conjunction_expr: /* conjunction_expr */ @@ -2913,7 +2923,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2917 "parser.cpp" +#line 2927 "parser.cpp" break; case YYSYMBOL_between_expr: /* between_expr */ @@ -2921,7 +2931,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2925 "parser.cpp" +#line 2935 "parser.cpp" break; case YYSYMBOL_in_expr: /* in_expr */ @@ -2929,7 +2939,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2933 "parser.cpp" +#line 2943 "parser.cpp" break; case YYSYMBOL_case_expr: /* case_expr */ @@ -2937,7 +2947,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2941 "parser.cpp" +#line 2951 "parser.cpp" break; case YYSYMBOL_case_check_array: /* case_check_array */ @@ -2950,7 +2960,7 @@ yydestruct (const char *yymsg, } } } -#line 2954 "parser.cpp" +#line 2964 "parser.cpp" break; case YYSYMBOL_cast_expr: /* cast_expr */ @@ -2958,7 +2968,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2962 "parser.cpp" +#line 2972 "parser.cpp" break; case YYSYMBOL_subquery_expr: /* subquery_expr */ @@ -2966,7 +2976,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2970 "parser.cpp" +#line 2980 "parser.cpp" break; case YYSYMBOL_column_expr: /* column_expr */ @@ -2974,7 +2984,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2978 "parser.cpp" +#line 2988 "parser.cpp" break; case YYSYMBOL_constant_expr: /* constant_expr */ @@ -2982,7 +2992,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 2986 "parser.cpp" +#line 2996 "parser.cpp" break; case YYSYMBOL_common_array_expr: /* common_array_expr */ @@ -2990,7 +3000,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 2994 "parser.cpp" +#line 3004 "parser.cpp" break; case YYSYMBOL_common_sparse_array_expr: /* common_sparse_array_expr */ @@ -2998,7 +3008,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3002 "parser.cpp" +#line 3012 "parser.cpp" break; case YYSYMBOL_subarray_array_expr: /* subarray_array_expr */ @@ -3006,7 +3016,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3010 "parser.cpp" +#line 3020 "parser.cpp" break; case YYSYMBOL_unclosed_subarray_array_expr: /* unclosed_subarray_array_expr */ @@ -3014,7 +3024,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3018 "parser.cpp" +#line 3028 "parser.cpp" break; case YYSYMBOL_sparse_array_expr: /* sparse_array_expr */ @@ -3022,7 +3032,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3026 "parser.cpp" +#line 3036 "parser.cpp" break; case YYSYMBOL_long_sparse_array_expr: /* long_sparse_array_expr */ @@ -3030,7 +3040,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3034 "parser.cpp" +#line 3044 "parser.cpp" break; case YYSYMBOL_unclosed_long_sparse_array_expr: /* unclosed_long_sparse_array_expr */ @@ -3038,7 +3048,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3042 "parser.cpp" +#line 3052 "parser.cpp" break; case YYSYMBOL_double_sparse_array_expr: /* double_sparse_array_expr */ @@ -3046,7 +3056,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3050 "parser.cpp" +#line 3060 "parser.cpp" break; case YYSYMBOL_unclosed_double_sparse_array_expr: /* unclosed_double_sparse_array_expr */ @@ -3054,7 +3064,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3058 "parser.cpp" +#line 3068 "parser.cpp" break; case YYSYMBOL_empty_array_expr: /* empty_array_expr */ @@ -3062,7 +3072,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3066 "parser.cpp" +#line 3076 "parser.cpp" break; case YYSYMBOL_int_sparse_ele: /* int_sparse_ele */ @@ -3070,7 +3080,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).int_sparse_ele_t)); } -#line 3074 "parser.cpp" +#line 3084 "parser.cpp" break; case YYSYMBOL_float_sparse_ele: /* float_sparse_ele */ @@ -3078,7 +3088,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).float_sparse_ele_t)); } -#line 3082 "parser.cpp" +#line 3092 "parser.cpp" break; case YYSYMBOL_array_expr: /* array_expr */ @@ -3086,7 +3096,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3090 "parser.cpp" +#line 3100 "parser.cpp" break; case YYSYMBOL_long_array_expr: /* long_array_expr */ @@ -3094,7 +3104,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3098 "parser.cpp" +#line 3108 "parser.cpp" break; case YYSYMBOL_unclosed_long_array_expr: /* unclosed_long_array_expr */ @@ -3102,7 +3112,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3106 "parser.cpp" +#line 3116 "parser.cpp" break; case YYSYMBOL_double_array_expr: /* double_array_expr */ @@ -3110,7 +3120,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3114 "parser.cpp" +#line 3124 "parser.cpp" break; case YYSYMBOL_unclosed_double_array_expr: /* unclosed_double_array_expr */ @@ -3118,7 +3128,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3122 "parser.cpp" +#line 3132 "parser.cpp" break; case YYSYMBOL_interval_expr: /* interval_expr */ @@ -3126,7 +3136,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3130 "parser.cpp" +#line 3140 "parser.cpp" break; case YYSYMBOL_file_path: /* file_path */ @@ -3134,7 +3144,7 @@ yydestruct (const char *yymsg, { free(((*yyvaluep).str_value)); } -#line 3138 "parser.cpp" +#line 3148 "parser.cpp" break; case YYSYMBOL_if_not_exists_info: /* if_not_exists_info */ @@ -3145,7 +3155,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).if_not_exists_info_t)); } } -#line 3149 "parser.cpp" +#line 3159 "parser.cpp" break; case YYSYMBOL_with_index_param_list: /* with_index_param_list */ @@ -3159,7 +3169,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).with_index_param_list_t)); } } -#line 3163 "parser.cpp" +#line 3173 "parser.cpp" break; case YYSYMBOL_optional_table_properties_list: /* optional_table_properties_list */ @@ -3173,7 +3183,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).with_index_param_list_t)); } } -#line 3177 "parser.cpp" +#line 3187 "parser.cpp" break; case YYSYMBOL_index_info: /* index_info */ @@ -3184,7 +3194,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).index_info_t)); } } -#line 3188 "parser.cpp" +#line 3198 "parser.cpp" break; default: @@ -3292,7 +3302,7 @@ YYLTYPE yylloc = yyloc_default; yylloc.string_length = 0; } -#line 3296 "parser.cpp" +#line 3306 "parser.cpp" yylsp[0] = yylloc; goto yysetstate; @@ -3507,7 +3517,7 @@ YYLTYPE yylloc = yyloc_default; { result->statements_ptr_ = (yyvsp[-1].stmt_array); } -#line 3511 "parser.cpp" +#line 3521 "parser.cpp" break; case 3: /* statement_list: statement */ @@ -3518,7 +3528,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.stmt_array) = new std::vector(); (yyval.stmt_array)->push_back((yyvsp[0].base_stmt)); } -#line 3522 "parser.cpp" +#line 3532 "parser.cpp" break; case 4: /* statement_list: statement_list ';' statement */ @@ -3529,169 +3539,169 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-2].stmt_array)->push_back((yyvsp[0].base_stmt)); (yyval.stmt_array) = (yyvsp[-2].stmt_array); } -#line 3533 "parser.cpp" +#line 3543 "parser.cpp" break; case 5: /* statement: create_statement */ #line 520 "parser.y" { (yyval.base_stmt) = (yyvsp[0].create_stmt); } -#line 3539 "parser.cpp" +#line 3549 "parser.cpp" break; case 6: /* statement: drop_statement */ #line 521 "parser.y" { (yyval.base_stmt) = (yyvsp[0].drop_stmt); } -#line 3545 "parser.cpp" +#line 3555 "parser.cpp" break; case 7: /* statement: copy_statement */ #line 522 "parser.y" { (yyval.base_stmt) = (yyvsp[0].copy_stmt); } -#line 3551 "parser.cpp" +#line 3561 "parser.cpp" break; case 8: /* statement: show_statement */ #line 523 "parser.y" { (yyval.base_stmt) = (yyvsp[0].show_stmt); } -#line 3557 "parser.cpp" +#line 3567 "parser.cpp" break; case 9: /* statement: select_statement */ #line 524 "parser.y" { (yyval.base_stmt) = (yyvsp[0].select_stmt); } -#line 3563 "parser.cpp" +#line 3573 "parser.cpp" break; case 10: /* statement: delete_statement */ #line 525 "parser.y" { (yyval.base_stmt) = (yyvsp[0].delete_stmt); } -#line 3569 "parser.cpp" +#line 3579 "parser.cpp" break; case 11: /* statement: update_statement */ #line 526 "parser.y" { (yyval.base_stmt) = (yyvsp[0].update_stmt); } -#line 3575 "parser.cpp" +#line 3585 "parser.cpp" break; case 12: /* statement: insert_statement */ #line 527 "parser.y" { (yyval.base_stmt) = (yyvsp[0].insert_stmt); } -#line 3581 "parser.cpp" +#line 3591 "parser.cpp" break; case 13: /* statement: explain_statement */ #line 528 "parser.y" { (yyval.base_stmt) = (yyvsp[0].explain_stmt); } -#line 3587 "parser.cpp" +#line 3597 "parser.cpp" break; case 14: /* statement: flush_statement */ #line 529 "parser.y" { (yyval.base_stmt) = (yyvsp[0].flush_stmt); } -#line 3593 "parser.cpp" +#line 3603 "parser.cpp" break; case 15: /* statement: optimize_statement */ #line 530 "parser.y" { (yyval.base_stmt) = (yyvsp[0].optimize_stmt); } -#line 3599 "parser.cpp" +#line 3609 "parser.cpp" break; case 16: /* statement: command_statement */ #line 531 "parser.y" { (yyval.base_stmt) = (yyvsp[0].command_stmt); } -#line 3605 "parser.cpp" +#line 3615 "parser.cpp" break; case 17: /* statement: compact_statement */ #line 532 "parser.y" { (yyval.base_stmt) = (yyvsp[0].compact_stmt); } -#line 3611 "parser.cpp" +#line 3621 "parser.cpp" break; case 18: /* statement: admin_statement */ #line 533 "parser.y" { (yyval.base_stmt) = (yyvsp[0].admin_stmt); } -#line 3617 "parser.cpp" +#line 3627 "parser.cpp" break; case 19: /* statement: alter_statement */ #line 534 "parser.y" { (yyval.base_stmt) = (yyvsp[0].alter_stmt); } -#line 3623 "parser.cpp" +#line 3633 "parser.cpp" break; case 20: /* explainable_statement: create_statement */ #line 536 "parser.y" { (yyval.base_stmt) = (yyvsp[0].create_stmt); } -#line 3629 "parser.cpp" +#line 3639 "parser.cpp" break; case 21: /* explainable_statement: drop_statement */ #line 537 "parser.y" { (yyval.base_stmt) = (yyvsp[0].drop_stmt); } -#line 3635 "parser.cpp" +#line 3645 "parser.cpp" break; case 22: /* explainable_statement: copy_statement */ #line 538 "parser.y" { (yyval.base_stmt) = (yyvsp[0].copy_stmt); } -#line 3641 "parser.cpp" +#line 3651 "parser.cpp" break; case 23: /* explainable_statement: show_statement */ #line 539 "parser.y" { (yyval.base_stmt) = (yyvsp[0].show_stmt); } -#line 3647 "parser.cpp" +#line 3657 "parser.cpp" break; case 24: /* explainable_statement: select_statement */ #line 540 "parser.y" { (yyval.base_stmt) = (yyvsp[0].select_stmt); } -#line 3653 "parser.cpp" +#line 3663 "parser.cpp" break; case 25: /* explainable_statement: delete_statement */ #line 541 "parser.y" { (yyval.base_stmt) = (yyvsp[0].delete_stmt); } -#line 3659 "parser.cpp" +#line 3669 "parser.cpp" break; case 26: /* explainable_statement: update_statement */ #line 542 "parser.y" { (yyval.base_stmt) = (yyvsp[0].update_stmt); } -#line 3665 "parser.cpp" +#line 3675 "parser.cpp" break; case 27: /* explainable_statement: insert_statement */ #line 543 "parser.y" { (yyval.base_stmt) = (yyvsp[0].insert_stmt); } -#line 3671 "parser.cpp" +#line 3681 "parser.cpp" break; case 28: /* explainable_statement: flush_statement */ #line 544 "parser.y" { (yyval.base_stmt) = (yyvsp[0].flush_stmt); } -#line 3677 "parser.cpp" +#line 3687 "parser.cpp" break; case 29: /* explainable_statement: optimize_statement */ #line 545 "parser.y" { (yyval.base_stmt) = (yyvsp[0].optimize_stmt); } -#line 3683 "parser.cpp" +#line 3693 "parser.cpp" break; case 30: /* explainable_statement: command_statement */ #line 546 "parser.y" { (yyval.base_stmt) = (yyvsp[0].command_stmt); } -#line 3689 "parser.cpp" +#line 3699 "parser.cpp" break; case 31: /* explainable_statement: compact_statement */ #line 547 "parser.y" { (yyval.base_stmt) = (yyvsp[0].compact_stmt); } -#line 3695 "parser.cpp" +#line 3705 "parser.cpp" break; case 32: /* create_statement: CREATE DATABASE if_not_exists IDENTIFIER COMMENT STRING */ @@ -3713,7 +3723,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.create_stmt)->create_info_->comment_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 3717 "parser.cpp" +#line 3727 "parser.cpp" break; case 33: /* create_statement: CREATE DATABASE if_not_exists IDENTIFIER */ @@ -3733,7 +3743,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.create_stmt)->create_info_ = create_schema_info; (yyval.create_stmt)->create_info_->conflict_type_ = (yyvsp[-1].bool_value) ? infinity::ConflictType::kIgnore : infinity::ConflictType::kError; } -#line 3737 "parser.cpp" +#line 3747 "parser.cpp" break; case 34: /* create_statement: CREATE COLLECTION if_not_exists table_name */ @@ -3751,7 +3761,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.create_stmt)->create_info_->conflict_type_ = (yyvsp[-1].bool_value) ? infinity::ConflictType::kIgnore : infinity::ConflictType::kError; delete (yyvsp[0].table_name_t); } -#line 3755 "parser.cpp" +#line 3765 "parser.cpp" break; case 35: /* create_statement: CREATE TABLE if_not_exists table_name '(' table_element_array ')' optional_table_properties_list */ @@ -3784,7 +3794,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.create_stmt)->create_info_ = create_table_info; (yyval.create_stmt)->create_info_->conflict_type_ = (yyvsp[-5].bool_value) ? infinity::ConflictType::kIgnore : infinity::ConflictType::kError; } -#line 3788 "parser.cpp" +#line 3798 "parser.cpp" break; case 36: /* create_statement: CREATE TABLE if_not_exists table_name AS select_statement */ @@ -3804,7 +3814,7 @@ YYLTYPE yylloc = yyloc_default; create_table_info->select_ = (yyvsp[0].select_stmt); (yyval.create_stmt)->create_info_ = create_table_info; } -#line 3808 "parser.cpp" +#line 3818 "parser.cpp" break; case 37: /* create_statement: CREATE TABLE if_not_exists table_name '(' table_element_array ')' optional_table_properties_list COMMENT STRING */ @@ -3840,7 +3850,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.create_stmt)->create_info_ = create_table_info; (yyval.create_stmt)->create_info_->conflict_type_ = (yyvsp[-7].bool_value) ? infinity::ConflictType::kIgnore : infinity::ConflictType::kError; } -#line 3844 "parser.cpp" +#line 3854 "parser.cpp" break; case 38: /* create_statement: CREATE TABLE if_not_exists table_name AS select_statement COMMENT STRING */ @@ -3862,7 +3872,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].str_value)); (yyval.create_stmt)->create_info_ = create_table_info; } -#line 3866 "parser.cpp" +#line 3876 "parser.cpp" break; case 39: /* create_statement: CREATE VIEW if_not_exists table_name optional_identifier_array AS select_statement */ @@ -3883,7 +3893,7 @@ YYLTYPE yylloc = yyloc_default; create_view_info->conflict_type_ = (yyvsp[-4].bool_value) ? infinity::ConflictType::kIgnore : infinity::ConflictType::kError; (yyval.create_stmt)->create_info_ = create_view_info; } -#line 3887 "parser.cpp" +#line 3897 "parser.cpp" break; case 40: /* create_statement: CREATE INDEX if_not_exists_info ON table_name index_info */ @@ -3916,7 +3926,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.create_stmt) = new infinity::CreateStatement(); (yyval.create_stmt)->create_info_ = create_index_info; } -#line 3920 "parser.cpp" +#line 3930 "parser.cpp" break; case 41: /* table_element_array: table_element */ @@ -3925,7 +3935,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.table_element_array_t) = new std::vector(); (yyval.table_element_array_t)->push_back((yyvsp[0].table_element_t)); } -#line 3929 "parser.cpp" +#line 3939 "parser.cpp" break; case 42: /* table_element_array: table_element_array ',' table_element */ @@ -3934,7 +3944,7 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-2].table_element_array_t)->push_back((yyvsp[0].table_element_t)); (yyval.table_element_array_t) = (yyvsp[-2].table_element_array_t); } -#line 3938 "parser.cpp" +#line 3948 "parser.cpp" break; case 43: /* column_def_array: table_column */ @@ -3943,7 +3953,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.column_def_array_t) = new std::vector(); (yyval.column_def_array_t)->push_back((yyvsp[0].table_column_t)); } -#line 3947 "parser.cpp" +#line 3957 "parser.cpp" break; case 44: /* column_def_array: column_def_array ',' table_column */ @@ -3952,7 +3962,7 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-2].column_def_array_t)->push_back((yyvsp[0].table_column_t)); (yyval.column_def_array_t) = (yyvsp[-2].column_def_array_t); } -#line 3956 "parser.cpp" +#line 3966 "parser.cpp" break; case 45: /* table_element: table_column */ @@ -3960,7 +3970,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_element_t) = (yyvsp[0].table_column_t); } -#line 3964 "parser.cpp" +#line 3974 "parser.cpp" break; case 46: /* table_element: table_constraint */ @@ -3968,7 +3978,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_element_t) = (yyvsp[0].table_constraint_t); } -#line 3972 "parser.cpp" +#line 3982 "parser.cpp" break; case 47: /* table_column: IDENTIFIER column_type with_index_param_list default_expr */ @@ -4024,7 +4034,7 @@ YYLTYPE yylloc = yyloc_default; } */ } -#line 4028 "parser.cpp" +#line 4038 "parser.cpp" break; case 48: /* table_column: IDENTIFIER column_type column_constraints default_expr */ @@ -4066,7 +4076,7 @@ YYLTYPE yylloc = yyloc_default; } */ } -#line 4070 "parser.cpp" +#line 4080 "parser.cpp" break; case 49: /* table_column: IDENTIFIER column_type with_index_param_list default_expr COMMENT STRING */ @@ -4123,7 +4133,7 @@ YYLTYPE yylloc = yyloc_default; } */ } -#line 4127 "parser.cpp" +#line 4137 "parser.cpp" break; case 50: /* table_column: IDENTIFIER column_type column_constraints default_expr COMMENT STRING */ @@ -4166,559 +4176,559 @@ YYLTYPE yylloc = yyloc_default; } */ } -#line 4170 "parser.cpp" +#line 4180 "parser.cpp" break; case 51: /* column_type: BOOLEAN */ #line 954 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kBoolean, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4176 "parser.cpp" +#line 4186 "parser.cpp" break; case 52: /* column_type: TINYINT */ #line 955 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTinyInt, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4182 "parser.cpp" +#line 4192 "parser.cpp" break; case 53: /* column_type: SMALLINT */ #line 956 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSmallInt, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4188 "parser.cpp" +#line 4198 "parser.cpp" break; case 54: /* column_type: INTEGER */ #line 957 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kInteger, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4194 "parser.cpp" +#line 4204 "parser.cpp" break; case 55: /* column_type: INT */ #line 958 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kInteger, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4200 "parser.cpp" +#line 4210 "parser.cpp" break; case 56: /* column_type: BIGINT */ #line 959 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kBigInt, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4206 "parser.cpp" +#line 4216 "parser.cpp" break; case 57: /* column_type: HUGEINT */ #line 960 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kHugeInt, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4212 "parser.cpp" +#line 4222 "parser.cpp" break; case 58: /* column_type: FLOAT */ #line 961 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kFloat, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4218 "parser.cpp" +#line 4228 "parser.cpp" break; case 59: /* column_type: REAL */ #line 962 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kFloat, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4224 "parser.cpp" +#line 4234 "parser.cpp" break; case 60: /* column_type: DOUBLE */ #line 963 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDouble, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4230 "parser.cpp" +#line 4240 "parser.cpp" break; case 61: /* column_type: FLOAT16 */ #line 964 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kFloat16, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4236 "parser.cpp" +#line 4246 "parser.cpp" break; case 62: /* column_type: BFLOAT16 */ #line 965 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kBFloat16, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4242 "parser.cpp" +#line 4252 "parser.cpp" break; case 63: /* column_type: DATE */ #line 966 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDate, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4248 "parser.cpp" +#line 4258 "parser.cpp" break; case 64: /* column_type: TIME */ #line 967 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTime, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4254 "parser.cpp" +#line 4264 "parser.cpp" break; case 65: /* column_type: DATETIME */ #line 968 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDateTime, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4260 "parser.cpp" +#line 4270 "parser.cpp" break; case 66: /* column_type: TIMESTAMP */ #line 969 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTimestamp, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4266 "parser.cpp" +#line 4276 "parser.cpp" break; case 67: /* column_type: UUID */ #line 970 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kUuid, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4272 "parser.cpp" +#line 4282 "parser.cpp" break; case 68: /* column_type: POINT */ #line 971 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kPoint, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4278 "parser.cpp" +#line 4288 "parser.cpp" break; case 69: /* column_type: LINE */ #line 972 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kLine, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4284 "parser.cpp" +#line 4294 "parser.cpp" break; case 70: /* column_type: LSEG */ #line 973 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kLineSeg, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4290 "parser.cpp" +#line 4300 "parser.cpp" break; case 71: /* column_type: BOX */ #line 974 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kBox, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4296 "parser.cpp" +#line 4306 "parser.cpp" break; case 72: /* column_type: CIRCLE */ #line 977 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kCircle, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4302 "parser.cpp" +#line 4312 "parser.cpp" break; case 73: /* column_type: VARCHAR */ #line 979 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kVarchar, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4308 "parser.cpp" +#line 4318 "parser.cpp" break; case 74: /* column_type: DECIMAL '(' LONG_VALUE ',' LONG_VALUE ')' */ #line 980 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDecimal, 0, (yyvsp[-3].long_value), (yyvsp[-1].long_value), infinity::EmbeddingDataType::kElemInvalid}; } -#line 4314 "parser.cpp" +#line 4324 "parser.cpp" break; case 75: /* column_type: DECIMAL '(' LONG_VALUE ')' */ #line 981 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDecimal, 0, (yyvsp[-1].long_value), 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4320 "parser.cpp" +#line 4330 "parser.cpp" break; case 76: /* column_type: DECIMAL */ #line 982 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDecimal, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4326 "parser.cpp" +#line 4336 "parser.cpp" break; case 77: /* column_type: EMBEDDING '(' BIT ',' LONG_VALUE ')' */ #line 985 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4332 "parser.cpp" +#line 4342 "parser.cpp" break; case 78: /* column_type: EMBEDDING '(' TINYINT ',' LONG_VALUE ')' */ #line 986 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4338 "parser.cpp" +#line 4348 "parser.cpp" break; case 79: /* column_type: EMBEDDING '(' SMALLINT ',' LONG_VALUE ')' */ #line 987 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4344 "parser.cpp" +#line 4354 "parser.cpp" break; case 80: /* column_type: EMBEDDING '(' INTEGER ',' LONG_VALUE ')' */ #line 988 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4350 "parser.cpp" +#line 4360 "parser.cpp" break; case 81: /* column_type: EMBEDDING '(' INT ',' LONG_VALUE ')' */ #line 989 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4356 "parser.cpp" +#line 4366 "parser.cpp" break; case 82: /* column_type: EMBEDDING '(' BIGINT ',' LONG_VALUE ')' */ #line 990 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4362 "parser.cpp" +#line 4372 "parser.cpp" break; case 83: /* column_type: EMBEDDING '(' FLOAT ',' LONG_VALUE ')' */ #line 991 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4368 "parser.cpp" +#line 4378 "parser.cpp" break; case 84: /* column_type: EMBEDDING '(' DOUBLE ',' LONG_VALUE ')' */ #line 992 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4374 "parser.cpp" +#line 4384 "parser.cpp" break; case 85: /* column_type: EMBEDDING '(' FLOAT16 ',' LONG_VALUE ')' */ #line 993 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4380 "parser.cpp" +#line 4390 "parser.cpp" break; case 86: /* column_type: EMBEDDING '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 994 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4386 "parser.cpp" +#line 4396 "parser.cpp" break; case 87: /* column_type: EMBEDDING '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 995 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4392 "parser.cpp" +#line 4402 "parser.cpp" break; case 88: /* column_type: MULTIVECTOR '(' BIT ',' LONG_VALUE ')' */ #line 996 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4398 "parser.cpp" +#line 4408 "parser.cpp" break; case 89: /* column_type: MULTIVECTOR '(' TINYINT ',' LONG_VALUE ')' */ #line 997 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4404 "parser.cpp" +#line 4414 "parser.cpp" break; case 90: /* column_type: MULTIVECTOR '(' SMALLINT ',' LONG_VALUE ')' */ #line 998 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4410 "parser.cpp" +#line 4420 "parser.cpp" break; case 91: /* column_type: MULTIVECTOR '(' INTEGER ',' LONG_VALUE ')' */ #line 999 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4416 "parser.cpp" +#line 4426 "parser.cpp" break; case 92: /* column_type: MULTIVECTOR '(' INT ',' LONG_VALUE ')' */ #line 1000 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4422 "parser.cpp" +#line 4432 "parser.cpp" break; case 93: /* column_type: MULTIVECTOR '(' BIGINT ',' LONG_VALUE ')' */ #line 1001 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4428 "parser.cpp" +#line 4438 "parser.cpp" break; case 94: /* column_type: MULTIVECTOR '(' FLOAT ',' LONG_VALUE ')' */ #line 1002 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4434 "parser.cpp" +#line 4444 "parser.cpp" break; case 95: /* column_type: MULTIVECTOR '(' DOUBLE ',' LONG_VALUE ')' */ #line 1003 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4440 "parser.cpp" +#line 4450 "parser.cpp" break; case 96: /* column_type: MULTIVECTOR '(' FLOAT16 ',' LONG_VALUE ')' */ #line 1004 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4446 "parser.cpp" +#line 4456 "parser.cpp" break; case 97: /* column_type: MULTIVECTOR '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 1005 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4452 "parser.cpp" +#line 4462 "parser.cpp" break; case 98: /* column_type: MULTIVECTOR '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 1006 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4458 "parser.cpp" +#line 4468 "parser.cpp" break; case 99: /* column_type: TENSOR '(' BIT ',' LONG_VALUE ')' */ #line 1007 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4464 "parser.cpp" +#line 4474 "parser.cpp" break; case 100: /* column_type: TENSOR '(' TINYINT ',' LONG_VALUE ')' */ #line 1008 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4470 "parser.cpp" +#line 4480 "parser.cpp" break; case 101: /* column_type: TENSOR '(' SMALLINT ',' LONG_VALUE ')' */ #line 1009 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4476 "parser.cpp" +#line 4486 "parser.cpp" break; case 102: /* column_type: TENSOR '(' INTEGER ',' LONG_VALUE ')' */ #line 1010 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4482 "parser.cpp" +#line 4492 "parser.cpp" break; case 103: /* column_type: TENSOR '(' INT ',' LONG_VALUE ')' */ #line 1011 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4488 "parser.cpp" +#line 4498 "parser.cpp" break; case 104: /* column_type: TENSOR '(' BIGINT ',' LONG_VALUE ')' */ #line 1012 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4494 "parser.cpp" +#line 4504 "parser.cpp" break; case 105: /* column_type: TENSOR '(' FLOAT ',' LONG_VALUE ')' */ #line 1013 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4500 "parser.cpp" +#line 4510 "parser.cpp" break; case 106: /* column_type: TENSOR '(' DOUBLE ',' LONG_VALUE ')' */ #line 1014 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4506 "parser.cpp" +#line 4516 "parser.cpp" break; case 107: /* column_type: TENSOR '(' FLOAT16 ',' LONG_VALUE ')' */ #line 1015 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4512 "parser.cpp" +#line 4522 "parser.cpp" break; case 108: /* column_type: TENSOR '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 1016 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4518 "parser.cpp" +#line 4528 "parser.cpp" break; case 109: /* column_type: TENSOR '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 1017 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4524 "parser.cpp" +#line 4534 "parser.cpp" break; case 110: /* column_type: TENSORARRAY '(' BIT ',' LONG_VALUE ')' */ #line 1018 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4530 "parser.cpp" +#line 4540 "parser.cpp" break; case 111: /* column_type: TENSORARRAY '(' TINYINT ',' LONG_VALUE ')' */ #line 1019 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4536 "parser.cpp" +#line 4546 "parser.cpp" break; case 112: /* column_type: TENSORARRAY '(' SMALLINT ',' LONG_VALUE ')' */ #line 1020 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4542 "parser.cpp" +#line 4552 "parser.cpp" break; case 113: /* column_type: TENSORARRAY '(' INTEGER ',' LONG_VALUE ')' */ #line 1021 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4548 "parser.cpp" +#line 4558 "parser.cpp" break; case 114: /* column_type: TENSORARRAY '(' INT ',' LONG_VALUE ')' */ #line 1022 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4554 "parser.cpp" +#line 4564 "parser.cpp" break; case 115: /* column_type: TENSORARRAY '(' BIGINT ',' LONG_VALUE ')' */ #line 1023 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4560 "parser.cpp" +#line 4570 "parser.cpp" break; case 116: /* column_type: TENSORARRAY '(' FLOAT ',' LONG_VALUE ')' */ #line 1024 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4566 "parser.cpp" +#line 4576 "parser.cpp" break; case 117: /* column_type: TENSORARRAY '(' DOUBLE ',' LONG_VALUE ')' */ #line 1025 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4572 "parser.cpp" +#line 4582 "parser.cpp" break; case 118: /* column_type: TENSORARRAY '(' FLOAT16 ',' LONG_VALUE ')' */ #line 1026 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4578 "parser.cpp" +#line 4588 "parser.cpp" break; case 119: /* column_type: TENSORARRAY '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 1027 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4584 "parser.cpp" +#line 4594 "parser.cpp" break; case 120: /* column_type: TENSORARRAY '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 1028 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4590 "parser.cpp" +#line 4600 "parser.cpp" break; case 121: /* column_type: VECTOR '(' BIT ',' LONG_VALUE ')' */ #line 1029 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4596 "parser.cpp" +#line 4606 "parser.cpp" break; case 122: /* column_type: VECTOR '(' TINYINT ',' LONG_VALUE ')' */ #line 1030 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4602 "parser.cpp" +#line 4612 "parser.cpp" break; case 123: /* column_type: VECTOR '(' SMALLINT ',' LONG_VALUE ')' */ #line 1031 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4608 "parser.cpp" +#line 4618 "parser.cpp" break; case 124: /* column_type: VECTOR '(' INTEGER ',' LONG_VALUE ')' */ #line 1032 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4614 "parser.cpp" +#line 4624 "parser.cpp" break; case 125: /* column_type: VECTOR '(' INT ',' LONG_VALUE ')' */ #line 1033 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4620 "parser.cpp" +#line 4630 "parser.cpp" break; case 126: /* column_type: VECTOR '(' BIGINT ',' LONG_VALUE ')' */ #line 1034 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4626 "parser.cpp" +#line 4636 "parser.cpp" break; case 127: /* column_type: VECTOR '(' FLOAT ',' LONG_VALUE ')' */ #line 1035 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4632 "parser.cpp" +#line 4642 "parser.cpp" break; case 128: /* column_type: VECTOR '(' DOUBLE ',' LONG_VALUE ')' */ #line 1036 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4638 "parser.cpp" +#line 4648 "parser.cpp" break; case 129: /* column_type: VECTOR '(' FLOAT16 ',' LONG_VALUE ')' */ #line 1037 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4644 "parser.cpp" +#line 4654 "parser.cpp" break; case 130: /* column_type: VECTOR '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 1038 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4650 "parser.cpp" +#line 4660 "parser.cpp" break; case 131: /* column_type: VECTOR '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 1039 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4656 "parser.cpp" +#line 4666 "parser.cpp" break; case 132: /* column_type: SPARSE '(' BIT ',' LONG_VALUE ')' */ #line 1040 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4662 "parser.cpp" +#line 4672 "parser.cpp" break; case 133: /* column_type: SPARSE '(' TINYINT ',' LONG_VALUE ')' */ #line 1041 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4668 "parser.cpp" +#line 4678 "parser.cpp" break; case 134: /* column_type: SPARSE '(' SMALLINT ',' LONG_VALUE ')' */ #line 1042 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4674 "parser.cpp" +#line 4684 "parser.cpp" break; case 135: /* column_type: SPARSE '(' INTEGER ',' LONG_VALUE ')' */ #line 1043 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4680 "parser.cpp" +#line 4690 "parser.cpp" break; case 136: /* column_type: SPARSE '(' INT ',' LONG_VALUE ')' */ #line 1044 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4686 "parser.cpp" +#line 4696 "parser.cpp" break; case 137: /* column_type: SPARSE '(' BIGINT ',' LONG_VALUE ')' */ #line 1045 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4692 "parser.cpp" +#line 4702 "parser.cpp" break; case 138: /* column_type: SPARSE '(' FLOAT ',' LONG_VALUE ')' */ #line 1046 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4698 "parser.cpp" +#line 4708 "parser.cpp" break; case 139: /* column_type: SPARSE '(' DOUBLE ',' LONG_VALUE ')' */ #line 1047 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4704 "parser.cpp" +#line 4714 "parser.cpp" break; case 140: /* column_type: SPARSE '(' FLOAT16 ',' LONG_VALUE ')' */ #line 1048 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4710 "parser.cpp" +#line 4720 "parser.cpp" break; case 141: /* column_type: SPARSE '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 1049 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4716 "parser.cpp" +#line 4726 "parser.cpp" break; case 142: /* column_type: SPARSE '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 1050 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4722 "parser.cpp" +#line 4732 "parser.cpp" break; case 143: /* column_constraints: column_constraint */ @@ -4727,7 +4737,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.column_constraints_t) = new std::set(); (yyval.column_constraints_t)->insert((yyvsp[0].column_constraint_t)); } -#line 4731 "parser.cpp" +#line 4741 "parser.cpp" break; case 144: /* column_constraints: column_constraints column_constraint */ @@ -4741,7 +4751,7 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-1].column_constraints_t)->insert((yyvsp[0].column_constraint_t)); (yyval.column_constraints_t) = (yyvsp[-1].column_constraints_t); } -#line 4745 "parser.cpp" +#line 4755 "parser.cpp" break; case 145: /* column_constraint: PRIMARY KEY */ @@ -4749,7 +4759,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.column_constraint_t) = infinity::ConstraintType::kPrimaryKey; } -#line 4753 "parser.cpp" +#line 4763 "parser.cpp" break; case 146: /* column_constraint: UNIQUE */ @@ -4757,7 +4767,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.column_constraint_t) = infinity::ConstraintType::kUnique; } -#line 4761 "parser.cpp" +#line 4771 "parser.cpp" break; case 147: /* column_constraint: NULLABLE */ @@ -4765,7 +4775,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.column_constraint_t) = infinity::ConstraintType::kNull; } -#line 4769 "parser.cpp" +#line 4779 "parser.cpp" break; case 148: /* column_constraint: NOT NULLABLE */ @@ -4773,7 +4783,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.column_constraint_t) = infinity::ConstraintType::kNotNull; } -#line 4777 "parser.cpp" +#line 4787 "parser.cpp" break; case 149: /* default_expr: DEFAULT constant_expr */ @@ -4781,7 +4791,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 4785 "parser.cpp" +#line 4795 "parser.cpp" break; case 150: /* default_expr: %empty */ @@ -4789,7 +4799,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.const_expr_t) = nullptr; } -#line 4793 "parser.cpp" +#line 4803 "parser.cpp" break; case 151: /* table_constraint: PRIMARY KEY '(' identifier_array ')' */ @@ -4799,7 +4809,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.table_constraint_t)->names_ptr_ = (yyvsp[-1].identifier_array_t); (yyval.table_constraint_t)->constraint_ = infinity::ConstraintType::kPrimaryKey; } -#line 4803 "parser.cpp" +#line 4813 "parser.cpp" break; case 152: /* table_constraint: UNIQUE '(' identifier_array ')' */ @@ -4809,7 +4819,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.table_constraint_t)->names_ptr_ = (yyvsp[-1].identifier_array_t); (yyval.table_constraint_t)->constraint_ = infinity::ConstraintType::kUnique; } -#line 4813 "parser.cpp" +#line 4823 "parser.cpp" break; case 153: /* identifier_array: IDENTIFIER */ @@ -4820,7 +4830,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.identifier_array_t)->emplace_back((yyvsp[0].str_value)); free((yyvsp[0].str_value)); } -#line 4824 "parser.cpp" +#line 4834 "parser.cpp" break; case 154: /* identifier_array: identifier_array ',' IDENTIFIER */ @@ -4831,7 +4841,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].str_value)); (yyval.identifier_array_t) = (yyvsp[-2].identifier_array_t); } -#line 4835 "parser.cpp" +#line 4845 "parser.cpp" break; case 155: /* delete_statement: DELETE FROM table_name where_clause */ @@ -4848,7 +4858,7 @@ YYLTYPE yylloc = yyloc_default; delete (yyvsp[-1].table_name_t); (yyval.delete_stmt)->where_expr_ = (yyvsp[0].expr_t); } -#line 4852 "parser.cpp" +#line 4862 "parser.cpp" break; case 156: /* insert_statement: INSERT INTO table_name optional_identifier_array VALUES insert_row_list */ @@ -4891,7 +4901,7 @@ YYLTYPE yylloc = yyloc_default; delete (yyvsp[-2].identifier_array_t); delete (yyvsp[0].insert_row_list_t); } -#line 4895 "parser.cpp" +#line 4905 "parser.cpp" break; case 157: /* insert_statement: INSERT INTO table_name optional_identifier_array select_without_paren */ @@ -4911,7 +4921,7 @@ YYLTYPE yylloc = yyloc_default; } (yyval.insert_stmt)->select_.reset((yyvsp[0].select_stmt)); } -#line 4915 "parser.cpp" +#line 4925 "parser.cpp" break; case 158: /* optional_identifier_array: '(' identifier_array ')' */ @@ -4919,7 +4929,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.identifier_array_t) = (yyvsp[-1].identifier_array_t); } -#line 4923 "parser.cpp" +#line 4933 "parser.cpp" break; case 159: /* optional_identifier_array: %empty */ @@ -4927,7 +4937,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.identifier_array_t) = nullptr; } -#line 4931 "parser.cpp" +#line 4941 "parser.cpp" break; case 160: /* explain_statement: EXPLAIN IDENTIFIER explainable_statement */ @@ -4945,7 +4955,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].str_value)); (yyval.explain_stmt)->statement_ = (yyvsp[0].base_stmt); } -#line 4949 "parser.cpp" +#line 4959 "parser.cpp" break; case 161: /* explain_statement: EXPLAIN explainable_statement */ @@ -4955,7 +4965,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.explain_stmt)->type_ =infinity::ExplainType::kPhysical; (yyval.explain_stmt)->statement_ = (yyvsp[0].base_stmt); } -#line 4959 "parser.cpp" +#line 4969 "parser.cpp" break; case 162: /* update_statement: UPDATE table_name SET update_expr_array where_clause */ @@ -4972,7 +4982,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.update_stmt)->where_expr_ = (yyvsp[0].expr_t); (yyval.update_stmt)->update_expr_array_ = (yyvsp[-1].update_expr_array_t); } -#line 4976 "parser.cpp" +#line 4986 "parser.cpp" break; case 163: /* update_expr_array: update_expr */ @@ -4981,7 +4991,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.update_expr_array_t) = new std::vector(); (yyval.update_expr_array_t)->emplace_back((yyvsp[0].update_expr_t)); } -#line 4985 "parser.cpp" +#line 4995 "parser.cpp" break; case 164: /* update_expr_array: update_expr_array ',' update_expr */ @@ -4990,7 +5000,7 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-2].update_expr_array_t)->emplace_back((yyvsp[0].update_expr_t)); (yyval.update_expr_array_t) = (yyvsp[-2].update_expr_array_t); } -#line 4994 "parser.cpp" +#line 5004 "parser.cpp" break; case 165: /* update_expr: IDENTIFIER '=' expr */ @@ -5002,7 +5012,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-2].str_value)); (yyval.update_expr_t)->value = (yyvsp[0].expr_t); } -#line 5006 "parser.cpp" +#line 5016 "parser.cpp" break; case 166: /* drop_statement: DROP DATABASE if_exists IDENTIFIER */ @@ -5018,7 +5028,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.drop_stmt)->drop_info_ = drop_schema_info; (yyval.drop_stmt)->drop_info_->conflict_type_ = (yyvsp[-1].bool_value) ? infinity::ConflictType::kIgnore : infinity::ConflictType::kError; } -#line 5022 "parser.cpp" +#line 5032 "parser.cpp" break; case 167: /* drop_statement: DROP COLLECTION if_exists table_name */ @@ -5036,7 +5046,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.drop_stmt)->drop_info_->conflict_type_ = (yyvsp[-1].bool_value) ? infinity::ConflictType::kIgnore : infinity::ConflictType::kError; delete (yyvsp[0].table_name_t); } -#line 5040 "parser.cpp" +#line 5050 "parser.cpp" break; case 168: /* drop_statement: DROP TABLE if_exists table_name */ @@ -5054,7 +5064,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.drop_stmt)->drop_info_->conflict_type_ = (yyvsp[-1].bool_value) ? infinity::ConflictType::kIgnore : infinity::ConflictType::kError; delete (yyvsp[0].table_name_t); } -#line 5058 "parser.cpp" +#line 5068 "parser.cpp" break; case 169: /* drop_statement: DROP VIEW if_exists table_name */ @@ -5072,7 +5082,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.drop_stmt)->drop_info_->conflict_type_ = (yyvsp[-1].bool_value) ? infinity::ConflictType::kIgnore : infinity::ConflictType::kError; delete (yyvsp[0].table_name_t); } -#line 5076 "parser.cpp" +#line 5086 "parser.cpp" break; case 170: /* drop_statement: DROP INDEX if_exists IDENTIFIER ON table_name */ @@ -5095,7 +5105,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].table_name_t)->table_name_ptr_); delete (yyvsp[0].table_name_t); } -#line 5099 "parser.cpp" +#line 5109 "parser.cpp" break; case 171: /* copy_statement: COPY table_name TO file_path WITH '(' copy_option_list ')' */ @@ -5153,7 +5163,7 @@ YYLTYPE yylloc = yyloc_default; } delete (yyvsp[-1].copy_option_array); } -#line 5157 "parser.cpp" +#line 5167 "parser.cpp" break; case 172: /* copy_statement: COPY table_name '(' expr_array ')' TO file_path WITH '(' copy_option_list ')' */ @@ -5213,7 +5223,7 @@ YYLTYPE yylloc = yyloc_default; } delete (yyvsp[-1].copy_option_array); } -#line 5217 "parser.cpp" +#line 5227 "parser.cpp" break; case 173: /* copy_statement: COPY table_name FROM file_path WITH '(' copy_option_list ')' */ @@ -5265,7 +5275,7 @@ YYLTYPE yylloc = yyloc_default; } delete (yyvsp[-1].copy_option_array); } -#line 5269 "parser.cpp" +#line 5279 "parser.cpp" break; case 174: /* select_statement: select_without_paren */ @@ -5273,7 +5283,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[0].select_stmt); } -#line 5277 "parser.cpp" +#line 5287 "parser.cpp" break; case 175: /* select_statement: select_with_paren */ @@ -5281,7 +5291,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[0].select_stmt); } -#line 5285 "parser.cpp" +#line 5295 "parser.cpp" break; case 176: /* select_statement: select_statement set_operator select_clause_without_modifier_paren */ @@ -5295,7 +5305,7 @@ YYLTYPE yylloc = yyloc_default; node->nested_select_ = (yyvsp[0].select_stmt); (yyval.select_stmt) = (yyvsp[-2].select_stmt); } -#line 5299 "parser.cpp" +#line 5309 "parser.cpp" break; case 177: /* select_statement: select_statement set_operator select_clause_without_modifier */ @@ -5309,7 +5319,7 @@ YYLTYPE yylloc = yyloc_default; node->nested_select_ = (yyvsp[0].select_stmt); (yyval.select_stmt) = (yyvsp[-2].select_stmt); } -#line 5313 "parser.cpp" +#line 5323 "parser.cpp" break; case 178: /* select_with_paren: '(' select_without_paren ')' */ @@ -5317,7 +5327,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 5321 "parser.cpp" +#line 5331 "parser.cpp" break; case 179: /* select_with_paren: '(' select_with_paren ')' */ @@ -5325,7 +5335,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 5329 "parser.cpp" +#line 5339 "parser.cpp" break; case 180: /* select_without_paren: with_clause select_clause_with_modifier */ @@ -5334,7 +5344,7 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[0].select_stmt)->with_exprs_ = (yyvsp[-1].with_expr_list_t); (yyval.select_stmt) = (yyvsp[0].select_stmt); } -#line 5338 "parser.cpp" +#line 5348 "parser.cpp" break; case 181: /* select_clause_with_modifier: select_clause_without_modifier order_by_clause limit_expr offset_expr */ @@ -5365,7 +5375,7 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-3].select_stmt)->offset_expr_ = (yyvsp[0].expr_t); (yyval.select_stmt) = (yyvsp[-3].select_stmt); } -#line 5369 "parser.cpp" +#line 5379 "parser.cpp" break; case 182: /* select_clause_without_modifier_paren: '(' select_clause_without_modifier ')' */ @@ -5373,7 +5383,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 5377 "parser.cpp" +#line 5387 "parser.cpp" break; case 183: /* select_clause_without_modifier_paren: '(' select_clause_without_modifier_paren ')' */ @@ -5381,7 +5391,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 5385 "parser.cpp" +#line 5395 "parser.cpp" break; case 184: /* select_clause_without_modifier: SELECT distinct expr_array highlight_clause from_clause search_clause where_clause group_by_clause having_clause */ @@ -5402,7 +5412,7 @@ YYLTYPE yylloc = yyloc_default; YYERROR; } } -#line 5406 "parser.cpp" +#line 5416 "parser.cpp" break; case 185: /* order_by_clause: ORDER BY order_by_expr_list */ @@ -5410,7 +5420,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.order_by_expr_list_t) = (yyvsp[0].order_by_expr_list_t); } -#line 5414 "parser.cpp" +#line 5424 "parser.cpp" break; case 186: /* order_by_clause: %empty */ @@ -5418,7 +5428,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.order_by_expr_list_t) = nullptr; } -#line 5422 "parser.cpp" +#line 5432 "parser.cpp" break; case 187: /* order_by_expr_list: order_by_expr */ @@ -5427,7 +5437,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.order_by_expr_list_t) = new std::vector(); (yyval.order_by_expr_list_t)->emplace_back((yyvsp[0].order_by_expr_t)); } -#line 5431 "parser.cpp" +#line 5441 "parser.cpp" break; case 188: /* order_by_expr_list: order_by_expr_list ',' order_by_expr */ @@ -5436,7 +5446,7 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-2].order_by_expr_list_t)->emplace_back((yyvsp[0].order_by_expr_t)); (yyval.order_by_expr_list_t) = (yyvsp[-2].order_by_expr_list_t); } -#line 5440 "parser.cpp" +#line 5450 "parser.cpp" break; case 189: /* order_by_expr: expr order_by_type */ @@ -5446,7 +5456,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.order_by_expr_t)->expr_ = (yyvsp[-1].expr_t); (yyval.order_by_expr_t)->type_ = (yyvsp[0].order_by_type_t); } -#line 5450 "parser.cpp" +#line 5460 "parser.cpp" break; case 190: /* order_by_type: ASC */ @@ -5454,7 +5464,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.order_by_type_t) = infinity::kAsc; } -#line 5458 "parser.cpp" +#line 5468 "parser.cpp" break; case 191: /* order_by_type: DESC */ @@ -5462,7 +5472,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.order_by_type_t) = infinity::kDesc; } -#line 5466 "parser.cpp" +#line 5476 "parser.cpp" break; case 192: /* order_by_type: %empty */ @@ -5470,7 +5480,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.order_by_type_t) = infinity::kAsc; } -#line 5474 "parser.cpp" +#line 5484 "parser.cpp" break; case 193: /* limit_expr: LIMIT expr */ @@ -5478,13 +5488,13 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 5482 "parser.cpp" +#line 5492 "parser.cpp" break; case 194: /* limit_expr: %empty */ #line 1633 "parser.y" { (yyval.expr_t) = nullptr; } -#line 5488 "parser.cpp" +#line 5498 "parser.cpp" break; case 195: /* offset_expr: OFFSET expr */ @@ -5492,13 +5502,13 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 5496 "parser.cpp" +#line 5506 "parser.cpp" break; case 196: /* offset_expr: %empty */ #line 1639 "parser.y" { (yyval.expr_t) = nullptr; } -#line 5502 "parser.cpp" +#line 5512 "parser.cpp" break; case 197: /* distinct: DISTINCT */ @@ -5506,7 +5516,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.bool_value) = true; } -#line 5510 "parser.cpp" +#line 5520 "parser.cpp" break; case 198: /* distinct: %empty */ @@ -5514,7 +5524,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.bool_value) = false; } -#line 5518 "parser.cpp" +#line 5528 "parser.cpp" break; case 199: /* highlight_clause: HIGHLIGHT expr_array */ @@ -5522,7 +5532,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_array_t) = (yyvsp[0].expr_array_t); } -#line 5526 "parser.cpp" +#line 5536 "parser.cpp" break; case 200: /* highlight_clause: %empty */ @@ -5530,7 +5540,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_array_t) = nullptr; } -#line 5534 "parser.cpp" +#line 5544 "parser.cpp" break; case 201: /* from_clause: FROM table_reference */ @@ -5538,7 +5548,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_reference_t) = (yyvsp[0].table_reference_t); } -#line 5542 "parser.cpp" +#line 5552 "parser.cpp" break; case 202: /* from_clause: %empty */ @@ -5546,7 +5556,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_reference_t) = nullptr; } -#line 5550 "parser.cpp" +#line 5560 "parser.cpp" break; case 203: /* search_clause: SEARCH sub_search_array */ @@ -5556,7 +5566,7 @@ YYLTYPE yylloc = yyloc_default; search_expr->SetExprs((yyvsp[0].expr_array_t)); (yyval.expr_t) = search_expr; } -#line 5560 "parser.cpp" +#line 5570 "parser.cpp" break; case 204: /* search_clause: %empty */ @@ -5564,7 +5574,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = nullptr; } -#line 5568 "parser.cpp" +#line 5578 "parser.cpp" break; case 205: /* optional_search_filter_expr: ',' WHERE expr */ @@ -5572,7 +5582,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 5576 "parser.cpp" +#line 5586 "parser.cpp" break; case 206: /* optional_search_filter_expr: %empty */ @@ -5580,7 +5590,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = nullptr; } -#line 5584 "parser.cpp" +#line 5594 "parser.cpp" break; case 207: /* where_clause: WHERE expr */ @@ -5588,7 +5598,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 5592 "parser.cpp" +#line 5602 "parser.cpp" break; case 208: /* where_clause: %empty */ @@ -5596,7 +5606,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = nullptr; } -#line 5600 "parser.cpp" +#line 5610 "parser.cpp" break; case 209: /* having_clause: HAVING expr */ @@ -5604,7 +5614,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 5608 "parser.cpp" +#line 5618 "parser.cpp" break; case 210: /* having_clause: %empty */ @@ -5612,7 +5622,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = nullptr; } -#line 5616 "parser.cpp" +#line 5626 "parser.cpp" break; case 211: /* group_by_clause: GROUP BY expr_array */ @@ -5620,7 +5630,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_array_t) = (yyvsp[0].expr_array_t); } -#line 5624 "parser.cpp" +#line 5634 "parser.cpp" break; case 212: /* group_by_clause: %empty */ @@ -5628,7 +5638,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_array_t) = nullptr; } -#line 5632 "parser.cpp" +#line 5642 "parser.cpp" break; case 213: /* set_operator: UNION */ @@ -5636,7 +5646,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.set_operator_t) = infinity::SetOperatorType::kUnion; } -#line 5640 "parser.cpp" +#line 5650 "parser.cpp" break; case 214: /* set_operator: UNION ALL */ @@ -5644,7 +5654,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.set_operator_t) = infinity::SetOperatorType::kUnionAll; } -#line 5648 "parser.cpp" +#line 5658 "parser.cpp" break; case 215: /* set_operator: INTERSECT */ @@ -5652,7 +5662,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.set_operator_t) = infinity::SetOperatorType::kIntersect; } -#line 5656 "parser.cpp" +#line 5666 "parser.cpp" break; case 216: /* set_operator: EXCEPT */ @@ -5660,7 +5670,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.set_operator_t) = infinity::SetOperatorType::kExcept; } -#line 5664 "parser.cpp" +#line 5674 "parser.cpp" break; case 217: /* table_reference: table_reference_unit */ @@ -5668,7 +5678,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_reference_t) = (yyvsp[0].table_reference_t); } -#line 5672 "parser.cpp" +#line 5682 "parser.cpp" break; case 218: /* table_reference: table_reference ',' table_reference_unit */ @@ -5686,7 +5696,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.table_reference_t) = cross_product_ref; } -#line 5690 "parser.cpp" +#line 5700 "parser.cpp" break; case 221: /* table_reference_name: table_name table_alias */ @@ -5704,7 +5714,7 @@ YYLTYPE yylloc = yyloc_default; table_ref->alias_ = (yyvsp[0].table_alias_t); (yyval.table_reference_t) = table_ref; } -#line 5708 "parser.cpp" +#line 5718 "parser.cpp" break; case 222: /* table_reference_name: '(' select_statement ')' table_alias */ @@ -5715,7 +5725,7 @@ YYLTYPE yylloc = yyloc_default; subquery_reference->alias_ = (yyvsp[0].table_alias_t); (yyval.table_reference_t) = subquery_reference; } -#line 5719 "parser.cpp" +#line 5729 "parser.cpp" break; case 223: /* table_name: IDENTIFIER */ @@ -5725,7 +5735,7 @@ YYLTYPE yylloc = yyloc_default; ParserHelper::ToLower((yyvsp[0].str_value)); (yyval.table_name_t)->table_name_ptr_ = (yyvsp[0].str_value); } -#line 5729 "parser.cpp" +#line 5739 "parser.cpp" break; case 224: /* table_name: IDENTIFIER '.' IDENTIFIER */ @@ -5737,7 +5747,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.table_name_t)->schema_name_ptr_ = (yyvsp[-2].str_value); (yyval.table_name_t)->table_name_ptr_ = (yyvsp[0].str_value); } -#line 5741 "parser.cpp" +#line 5751 "parser.cpp" break; case 225: /* table_alias: AS IDENTIFIER */ @@ -5747,7 +5757,7 @@ YYLTYPE yylloc = yyloc_default; ParserHelper::ToLower((yyvsp[0].str_value)); (yyval.table_alias_t)->alias_ = (yyvsp[0].str_value); } -#line 5751 "parser.cpp" +#line 5761 "parser.cpp" break; case 226: /* table_alias: IDENTIFIER */ @@ -5757,7 +5767,7 @@ YYLTYPE yylloc = yyloc_default; ParserHelper::ToLower((yyvsp[0].str_value)); (yyval.table_alias_t)->alias_ = (yyvsp[0].str_value); } -#line 5761 "parser.cpp" +#line 5771 "parser.cpp" break; case 227: /* table_alias: AS IDENTIFIER '(' identifier_array ')' */ @@ -5768,7 +5778,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.table_alias_t)->alias_ = (yyvsp[-3].str_value); (yyval.table_alias_t)->column_alias_array_ = (yyvsp[-1].identifier_array_t); } -#line 5772 "parser.cpp" +#line 5782 "parser.cpp" break; case 228: /* table_alias: %empty */ @@ -5776,7 +5786,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_alias_t) = nullptr; } -#line 5780 "parser.cpp" +#line 5790 "parser.cpp" break; case 229: /* with_clause: WITH with_expr_list */ @@ -5784,7 +5794,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.with_expr_list_t) = (yyvsp[0].with_expr_list_t); } -#line 5788 "parser.cpp" +#line 5798 "parser.cpp" break; case 230: /* with_clause: %empty */ @@ -5792,7 +5802,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.with_expr_list_t) = nullptr; } -#line 5796 "parser.cpp" +#line 5806 "parser.cpp" break; case 231: /* with_expr_list: with_expr */ @@ -5801,7 +5811,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.with_expr_list_t) = new std::vector(); (yyval.with_expr_list_t)->emplace_back((yyvsp[0].with_expr_t)); } -#line 5805 "parser.cpp" +#line 5815 "parser.cpp" break; case 232: /* with_expr_list: with_expr_list ',' with_expr */ @@ -5810,7 +5820,7 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-2].with_expr_list_t)->emplace_back((yyvsp[0].with_expr_t)); (yyval.with_expr_list_t) = (yyvsp[-2].with_expr_list_t); } -#line 5814 "parser.cpp" +#line 5824 "parser.cpp" break; case 233: /* with_expr: IDENTIFIER AS '(' select_clause_with_modifier ')' */ @@ -5822,7 +5832,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-4].str_value)); (yyval.with_expr_t)->select_ = (yyvsp[-1].select_stmt); } -#line 5826 "parser.cpp" +#line 5836 "parser.cpp" break; case 234: /* join_clause: table_reference_unit NATURAL JOIN table_reference_name */ @@ -5834,7 +5844,7 @@ YYLTYPE yylloc = yyloc_default; join_reference->join_type_ = infinity::JoinType::kNatural; (yyval.table_reference_t) = join_reference; } -#line 5838 "parser.cpp" +#line 5848 "parser.cpp" break; case 235: /* join_clause: table_reference_unit join_type JOIN table_reference_name ON expr */ @@ -5847,7 +5857,7 @@ YYLTYPE yylloc = yyloc_default; join_reference->condition_ = (yyvsp[0].expr_t); (yyval.table_reference_t) = join_reference; } -#line 5851 "parser.cpp" +#line 5861 "parser.cpp" break; case 236: /* join_type: INNER */ @@ -5855,7 +5865,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kInner; } -#line 5859 "parser.cpp" +#line 5869 "parser.cpp" break; case 237: /* join_type: LEFT */ @@ -5863,7 +5873,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kLeft; } -#line 5867 "parser.cpp" +#line 5877 "parser.cpp" break; case 238: /* join_type: RIGHT */ @@ -5871,7 +5881,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kRight; } -#line 5875 "parser.cpp" +#line 5885 "parser.cpp" break; case 239: /* join_type: OUTER */ @@ -5879,7 +5889,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kFull; } -#line 5883 "parser.cpp" +#line 5893 "parser.cpp" break; case 240: /* join_type: FULL */ @@ -5887,7 +5897,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kFull; } -#line 5891 "parser.cpp" +#line 5901 "parser.cpp" break; case 241: /* join_type: CROSS */ @@ -5895,14 +5905,14 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kCross; } -#line 5899 "parser.cpp" +#line 5909 "parser.cpp" break; case 242: /* join_type: %empty */ #line 1862 "parser.y" { } -#line 5906 "parser.cpp" +#line 5916 "parser.cpp" break; case 243: /* show_statement: SHOW DATABASES */ @@ -5911,7 +5921,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kDatabases; } -#line 5915 "parser.cpp" +#line 5925 "parser.cpp" break; case 244: /* show_statement: SHOW TABLES */ @@ -5920,7 +5930,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kTables; } -#line 5924 "parser.cpp" +#line 5934 "parser.cpp" break; case 245: /* show_statement: SHOW VIEWS */ @@ -5929,7 +5939,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kViews; } -#line 5933 "parser.cpp" +#line 5943 "parser.cpp" break; case 246: /* show_statement: SHOW CONFIGS */ @@ -5938,7 +5948,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kConfigs; } -#line 5942 "parser.cpp" +#line 5952 "parser.cpp" break; case 247: /* show_statement: SHOW CONFIG IDENTIFIER */ @@ -5950,7 +5960,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->var_name_ = std::string((yyvsp[0].str_value)); free((yyvsp[0].str_value)); } -#line 5954 "parser.cpp" +#line 5964 "parser.cpp" break; case 248: /* show_statement: SHOW PROFILES */ @@ -5959,7 +5969,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kProfiles; } -#line 5963 "parser.cpp" +#line 5973 "parser.cpp" break; case 249: /* show_statement: SHOW BUFFER */ @@ -5968,7 +5978,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kBuffer; } -#line 5972 "parser.cpp" +#line 5982 "parser.cpp" break; case 250: /* show_statement: SHOW MEMINDEX */ @@ -5977,7 +5987,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kMemIndex; } -#line 5981 "parser.cpp" +#line 5991 "parser.cpp" break; case 251: /* show_statement: SHOW QUERIES */ @@ -5986,7 +5996,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kQueries; } -#line 5990 "parser.cpp" +#line 6000 "parser.cpp" break; case 252: /* show_statement: SHOW QUERY LONG_VALUE */ @@ -5996,7 +6006,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kQuery; (yyval.show_stmt)->session_id_ = (yyvsp[0].long_value); } -#line 6000 "parser.cpp" +#line 6010 "parser.cpp" break; case 253: /* show_statement: SHOW TRANSACTIONS */ @@ -6005,7 +6015,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kTransactions; } -#line 6009 "parser.cpp" +#line 6019 "parser.cpp" break; case 254: /* show_statement: SHOW TRANSACTION LONG_VALUE */ @@ -6015,7 +6025,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kTransaction; (yyval.show_stmt)->txn_id_ = (yyvsp[0].long_value); } -#line 6019 "parser.cpp" +#line 6029 "parser.cpp" break; case 255: /* show_statement: SHOW SESSION VARIABLES */ @@ -6024,7 +6034,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kSessionVariables; } -#line 6028 "parser.cpp" +#line 6038 "parser.cpp" break; case 256: /* show_statement: SHOW GLOBAL VARIABLES */ @@ -6033,7 +6043,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kGlobalVariables; } -#line 6037 "parser.cpp" +#line 6047 "parser.cpp" break; case 257: /* show_statement: SHOW SESSION VARIABLE IDENTIFIER */ @@ -6044,7 +6054,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->var_name_ = std::string((yyvsp[0].str_value)); free((yyvsp[0].str_value)); } -#line 6048 "parser.cpp" +#line 6058 "parser.cpp" break; case 258: /* show_statement: SHOW GLOBAL VARIABLE IDENTIFIER */ @@ -6055,7 +6065,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->var_name_ = std::string((yyvsp[0].str_value)); free((yyvsp[0].str_value)); } -#line 6059 "parser.cpp" +#line 6069 "parser.cpp" break; case 259: /* show_statement: SHOW DATABASE IDENTIFIER */ @@ -6066,7 +6076,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->schema_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 6070 "parser.cpp" +#line 6080 "parser.cpp" break; case 260: /* show_statement: SHOW TABLE table_name */ @@ -6082,7 +6092,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].table_name_t)->table_name_ptr_); delete (yyvsp[0].table_name_t); } -#line 6086 "parser.cpp" +#line 6096 "parser.cpp" break; case 261: /* show_statement: SHOW TABLE table_name COLUMNS */ @@ -6098,7 +6108,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].table_name_t)->table_name_ptr_); delete (yyvsp[-1].table_name_t); } -#line 6102 "parser.cpp" +#line 6112 "parser.cpp" break; case 262: /* show_statement: SHOW TABLE table_name SEGMENTS */ @@ -6114,7 +6124,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].table_name_t)->table_name_ptr_); delete (yyvsp[-1].table_name_t); } -#line 6118 "parser.cpp" +#line 6128 "parser.cpp" break; case 263: /* show_statement: SHOW TABLE table_name SEGMENT LONG_VALUE */ @@ -6131,7 +6141,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->segment_id_ = (yyvsp[0].long_value); delete (yyvsp[-2].table_name_t); } -#line 6135 "parser.cpp" +#line 6145 "parser.cpp" break; case 264: /* show_statement: SHOW TABLE table_name SEGMENT LONG_VALUE BLOCKS */ @@ -6148,7 +6158,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->segment_id_ = (yyvsp[-1].long_value); delete (yyvsp[-3].table_name_t); } -#line 6152 "parser.cpp" +#line 6162 "parser.cpp" break; case 265: /* show_statement: SHOW TABLE table_name SEGMENT LONG_VALUE BLOCK LONG_VALUE */ @@ -6166,7 +6176,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->block_id_ = (yyvsp[0].long_value); delete (yyvsp[-4].table_name_t); } -#line 6170 "parser.cpp" +#line 6180 "parser.cpp" break; case 266: /* show_statement: SHOW TABLE table_name SEGMENT LONG_VALUE BLOCK LONG_VALUE COLUMN LONG_VALUE */ @@ -6185,7 +6195,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->column_id_ = (yyvsp[0].long_value); delete (yyvsp[-6].table_name_t); } -#line 6189 "parser.cpp" +#line 6199 "parser.cpp" break; case 267: /* show_statement: SHOW TABLE table_name INDEXES */ @@ -6201,7 +6211,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].table_name_t)->table_name_ptr_); delete (yyvsp[-1].table_name_t); } -#line 6205 "parser.cpp" +#line 6215 "parser.cpp" break; case 268: /* show_statement: SHOW TABLE table_name INDEX IDENTIFIER */ @@ -6220,7 +6230,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->index_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 6224 "parser.cpp" +#line 6234 "parser.cpp" break; case 269: /* show_statement: SHOW TABLE table_name INDEX IDENTIFIER SEGMENT LONG_VALUE */ @@ -6241,7 +6251,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->segment_id_ = (yyvsp[0].long_value); } -#line 6245 "parser.cpp" +#line 6255 "parser.cpp" break; case 270: /* show_statement: SHOW TABLE table_name INDEX IDENTIFIER SEGMENT LONG_VALUE CHUNK LONG_VALUE */ @@ -6263,7 +6273,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->segment_id_ = (yyvsp[-2].long_value); (yyval.show_stmt)->chunk_id_ = (yyvsp[0].long_value); } -#line 6267 "parser.cpp" +#line 6277 "parser.cpp" break; case 271: /* show_statement: SHOW LOGS */ @@ -6272,7 +6282,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kLogs; } -#line 6276 "parser.cpp" +#line 6286 "parser.cpp" break; case 272: /* show_statement: SHOW DELTA LOGS */ @@ -6281,7 +6291,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kDeltaLogs; } -#line 6285 "parser.cpp" +#line 6295 "parser.cpp" break; case 273: /* show_statement: SHOW CATALOGS */ @@ -6290,7 +6300,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kCatalogs; } -#line 6294 "parser.cpp" +#line 6304 "parser.cpp" break; case 274: /* show_statement: SHOW PERSISTENCE FILES */ @@ -6299,7 +6309,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kPersistenceFiles; } -#line 6303 "parser.cpp" +#line 6313 "parser.cpp" break; case 275: /* show_statement: SHOW PERSISTENCE OBJECTS */ @@ -6308,7 +6318,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kPersistenceObjects; } -#line 6312 "parser.cpp" +#line 6322 "parser.cpp" break; case 276: /* show_statement: SHOW PERSISTENCE OBJECT STRING */ @@ -6319,7 +6329,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->file_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 6323 "parser.cpp" +#line 6333 "parser.cpp" break; case 277: /* show_statement: SHOW MEMORY */ @@ -6328,7 +6338,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kMemory; } -#line 6332 "parser.cpp" +#line 6342 "parser.cpp" break; case 278: /* show_statement: SHOW MEMORY OBJECTS */ @@ -6337,7 +6347,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kMemoryObjects; } -#line 6341 "parser.cpp" +#line 6351 "parser.cpp" break; case 279: /* show_statement: SHOW MEMORY ALLOCATION */ @@ -6346,7 +6356,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kMemoryAllocation; } -#line 6350 "parser.cpp" +#line 6360 "parser.cpp" break; case 280: /* show_statement: SHOW IDENTIFIER '(' ')' */ @@ -6357,7 +6367,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->function_name_ = (yyvsp[-2].str_value); free((yyvsp[-2].str_value)); } -#line 6361 "parser.cpp" +#line 6371 "parser.cpp" break; case 281: /* flush_statement: FLUSH DATA */ @@ -6366,7 +6376,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.flush_stmt) = new infinity::FlushStatement(); (yyval.flush_stmt)->type_ = infinity::FlushType::kData; } -#line 6370 "parser.cpp" +#line 6380 "parser.cpp" break; case 282: /* flush_statement: FLUSH LOG */ @@ -6375,7 +6385,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.flush_stmt) = new infinity::FlushStatement(); (yyval.flush_stmt)->type_ = infinity::FlushType::kLog; } -#line 6379 "parser.cpp" +#line 6389 "parser.cpp" break; case 283: /* flush_statement: FLUSH BUFFER */ @@ -6384,7 +6394,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.flush_stmt) = new infinity::FlushStatement(); (yyval.flush_stmt)->type_ = infinity::FlushType::kBuffer; } -#line 6388 "parser.cpp" +#line 6398 "parser.cpp" break; case 284: /* optimize_statement: OPTIMIZE table_name */ @@ -6399,7 +6409,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].table_name_t)->table_name_ptr_); delete (yyvsp[0].table_name_t); } -#line 6403 "parser.cpp" +#line 6413 "parser.cpp" break; case 285: /* optimize_statement: OPTIMIZE IDENTIFIER ON table_name with_index_param_list */ @@ -6423,7 +6433,7 @@ YYLTYPE yylloc = yyloc_default; } delete (yyvsp[0].with_index_param_list_t); } -#line 6427 "parser.cpp" +#line 6437 "parser.cpp" break; case 286: /* command_statement: USE IDENTIFIER */ @@ -6434,7 +6444,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared((yyvsp[0].str_value)); free((yyvsp[0].str_value)); } -#line 6438 "parser.cpp" +#line 6448 "parser.cpp" break; case 287: /* command_statement: EXPORT PROFILES LONG_VALUE file_path */ @@ -6444,7 +6454,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared((yyvsp[0].str_value), infinity::ExportType::kProfileRecord, (yyvsp[-1].long_value)); free((yyvsp[0].str_value)); } -#line 6448 "parser.cpp" +#line 6458 "parser.cpp" break; case 288: /* command_statement: SET SESSION IDENTIFIER ON */ @@ -6455,7 +6465,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kSession, infinity::SetVarType::kBool, (yyvsp[-1].str_value), true); free((yyvsp[-1].str_value)); } -#line 6459 "parser.cpp" +#line 6469 "parser.cpp" break; case 289: /* command_statement: SET SESSION IDENTIFIER OFF */ @@ -6466,7 +6476,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kSession, infinity::SetVarType::kBool, (yyvsp[-1].str_value), false); free((yyvsp[-1].str_value)); } -#line 6470 "parser.cpp" +#line 6480 "parser.cpp" break; case 290: /* command_statement: SET SESSION IDENTIFIER IDENTIFIER */ @@ -6479,7 +6489,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].str_value)); free((yyvsp[0].str_value)); } -#line 6483 "parser.cpp" +#line 6493 "parser.cpp" break; case 291: /* command_statement: SET SESSION IDENTIFIER LONG_VALUE */ @@ -6490,7 +6500,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kSession, infinity::SetVarType::kInteger, (yyvsp[-1].str_value), (yyvsp[0].long_value)); free((yyvsp[-1].str_value)); } -#line 6494 "parser.cpp" +#line 6504 "parser.cpp" break; case 292: /* command_statement: SET SESSION IDENTIFIER DOUBLE_VALUE */ @@ -6501,7 +6511,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kSession, infinity::SetVarType::kDouble, (yyvsp[-1].str_value), (yyvsp[0].double_value)); free((yyvsp[-1].str_value)); } -#line 6505 "parser.cpp" +#line 6515 "parser.cpp" break; case 293: /* command_statement: SET GLOBAL IDENTIFIER ON */ @@ -6512,7 +6522,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kGlobal, infinity::SetVarType::kBool, (yyvsp[-1].str_value), true); free((yyvsp[-1].str_value)); } -#line 6516 "parser.cpp" +#line 6526 "parser.cpp" break; case 294: /* command_statement: SET GLOBAL IDENTIFIER OFF */ @@ -6523,7 +6533,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kGlobal, infinity::SetVarType::kBool, (yyvsp[-1].str_value), false); free((yyvsp[-1].str_value)); } -#line 6527 "parser.cpp" +#line 6537 "parser.cpp" break; case 295: /* command_statement: SET GLOBAL IDENTIFIER IDENTIFIER */ @@ -6536,7 +6546,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].str_value)); free((yyvsp[0].str_value)); } -#line 6540 "parser.cpp" +#line 6550 "parser.cpp" break; case 296: /* command_statement: SET GLOBAL IDENTIFIER LONG_VALUE */ @@ -6547,7 +6557,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kGlobal, infinity::SetVarType::kInteger, (yyvsp[-1].str_value), (yyvsp[0].long_value)); free((yyvsp[-1].str_value)); } -#line 6551 "parser.cpp" +#line 6561 "parser.cpp" break; case 297: /* command_statement: SET GLOBAL IDENTIFIER DOUBLE_VALUE */ @@ -6558,7 +6568,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kGlobal, infinity::SetVarType::kDouble, (yyvsp[-1].str_value), (yyvsp[0].double_value)); free((yyvsp[-1].str_value)); } -#line 6562 "parser.cpp" +#line 6572 "parser.cpp" break; case 298: /* command_statement: SET CONFIG IDENTIFIER ON */ @@ -6569,7 +6579,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kConfig, infinity::SetVarType::kBool, (yyvsp[-1].str_value), true); free((yyvsp[-1].str_value)); } -#line 6573 "parser.cpp" +#line 6583 "parser.cpp" break; case 299: /* command_statement: SET CONFIG IDENTIFIER OFF */ @@ -6580,7 +6590,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kConfig, infinity::SetVarType::kBool, (yyvsp[-1].str_value), false); free((yyvsp[-1].str_value)); } -#line 6584 "parser.cpp" +#line 6594 "parser.cpp" break; case 300: /* command_statement: SET CONFIG IDENTIFIER IDENTIFIER */ @@ -6593,7 +6603,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].str_value)); free((yyvsp[0].str_value)); } -#line 6597 "parser.cpp" +#line 6607 "parser.cpp" break; case 301: /* command_statement: SET CONFIG IDENTIFIER LONG_VALUE */ @@ -6604,7 +6614,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kConfig, infinity::SetVarType::kInteger, (yyvsp[-1].str_value), (yyvsp[0].long_value)); free((yyvsp[-1].str_value)); } -#line 6608 "parser.cpp" +#line 6618 "parser.cpp" break; case 302: /* command_statement: SET CONFIG IDENTIFIER DOUBLE_VALUE */ @@ -6615,7 +6625,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.command_stmt)->command_info_ = std::make_shared(infinity::SetScope::kConfig, infinity::SetVarType::kDouble, (yyvsp[-1].str_value), (yyvsp[0].double_value)); free((yyvsp[-1].str_value)); } -#line 6619 "parser.cpp" +#line 6629 "parser.cpp" break; case 303: /* command_statement: LOCK TABLE table_name */ @@ -6629,7 +6639,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].table_name_t)->table_name_ptr_); delete (yyvsp[0].table_name_t); } -#line 6633 "parser.cpp" +#line 6643 "parser.cpp" break; case 304: /* command_statement: UNLOCK TABLE table_name */ @@ -6643,7 +6653,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].table_name_t)->table_name_ptr_); delete (yyvsp[0].table_name_t); } -#line 6647 "parser.cpp" +#line 6657 "parser.cpp" break; case 305: /* compact_statement: COMPACT TABLE table_name */ @@ -6660,7 +6670,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.compact_stmt) = new infinity::ManualCompactStatement(std::move(schema_name), std::move(table_name)); delete (yyvsp[0].table_name_t); } -#line 6664 "parser.cpp" +#line 6674 "parser.cpp" break; case 306: /* admin_statement: ADMIN SHOW CATALOGS */ @@ -6669,7 +6679,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListCatalogs; } -#line 6673 "parser.cpp" +#line 6683 "parser.cpp" break; case 307: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE */ @@ -6679,7 +6689,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowCatalog; (yyval.admin_stmt)->catalog_file_index_ = (yyvsp[0].long_value); } -#line 6683 "parser.cpp" +#line 6693 "parser.cpp" break; case 308: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASES */ @@ -6690,7 +6700,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->catalog_file_start_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->catalog_file_end_index_ = (yyvsp[-1].long_value); } -#line 6694 "parser.cpp" +#line 6704 "parser.cpp" break; case 309: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE */ @@ -6702,7 +6712,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->catalog_file_end_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->database_meta_index_ = (yyvsp[0].long_value); } -#line 6706 "parser.cpp" +#line 6716 "parser.cpp" break; case 310: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLES */ @@ -6715,7 +6725,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->database_meta_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->database_entry_index_ = (yyvsp[-1].long_value); } -#line 6719 "parser.cpp" +#line 6729 "parser.cpp" break; case 311: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE */ @@ -6729,7 +6739,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->database_entry_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->table_meta_index_ = (yyvsp[0].long_value); } -#line 6733 "parser.cpp" +#line 6743 "parser.cpp" break; case 312: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE COLUMNS */ @@ -6744,7 +6754,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->table_meta_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->table_entry_index_ = (yyvsp[-1].long_value); } -#line 6748 "parser.cpp" +#line 6758 "parser.cpp" break; case 313: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENTS */ @@ -6759,7 +6769,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->table_meta_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->table_entry_index_ = (yyvsp[-1].long_value); } -#line 6763 "parser.cpp" +#line 6773 "parser.cpp" break; case 314: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENT LONG_VALUE */ @@ -6775,7 +6785,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->table_entry_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->segment_index_ = (yyvsp[0].long_value); } -#line 6779 "parser.cpp" +#line 6789 "parser.cpp" break; case 315: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENT LONG_VALUE BLOCKS */ @@ -6791,7 +6801,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->table_entry_index_ = (yyvsp[-3].long_value); (yyval.admin_stmt)->segment_index_ = (yyvsp[-1].long_value); } -#line 6795 "parser.cpp" +#line 6805 "parser.cpp" break; case 316: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENT LONG_VALUE BLOCK LONG_VALUE */ @@ -6808,7 +6818,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->segment_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->block_index_ = (yyvsp[0].long_value); } -#line 6812 "parser.cpp" +#line 6822 "parser.cpp" break; case 317: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENT LONG_VALUE BLOCK LONG_VALUE COLUMNS */ @@ -6825,7 +6835,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->segment_index_ = (yyvsp[-3].long_value); (yyval.admin_stmt)->block_index_ = (yyvsp[-1].long_value); } -#line 6829 "parser.cpp" +#line 6839 "parser.cpp" break; case 318: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE INDEXES */ @@ -6840,7 +6850,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->table_meta_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->table_entry_index_ = (yyvsp[-1].long_value); } -#line 6844 "parser.cpp" +#line 6854 "parser.cpp" break; case 319: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE INDEX LONG_VALUE */ @@ -6856,7 +6866,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->table_entry_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->index_meta_index_ = (yyvsp[0].long_value); } -#line 6860 "parser.cpp" +#line 6870 "parser.cpp" break; case 320: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE INDEX LONG_VALUE LONG_VALUE SEGMENTS */ @@ -6873,7 +6883,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->index_meta_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->index_entry_index_ = (yyvsp[-1].long_value); } -#line 6877 "parser.cpp" +#line 6887 "parser.cpp" break; case 321: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE INDEX LONG_VALUE LONG_VALUE SEGMENT LONG_VALUE */ @@ -6891,7 +6901,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->index_entry_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->segment_index_ = (yyvsp[0].long_value); } -#line 6895 "parser.cpp" +#line 6905 "parser.cpp" break; case 322: /* admin_statement: ADMIN SHOW LOGS */ @@ -6900,7 +6910,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListLogFiles; } -#line 6904 "parser.cpp" +#line 6914 "parser.cpp" break; case 323: /* admin_statement: ADMIN SHOW LOG LONG_VALUE */ @@ -6910,7 +6920,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowLogFile; (yyval.admin_stmt)->log_file_index_ = (yyvsp[0].long_value); } -#line 6914 "parser.cpp" +#line 6924 "parser.cpp" break; case 324: /* admin_statement: ADMIN SHOW LOG LONG_VALUE INDEXES */ @@ -6920,7 +6930,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListLogIndexes; (yyval.admin_stmt)->log_file_index_ = (yyvsp[-1].long_value); } -#line 6924 "parser.cpp" +#line 6934 "parser.cpp" break; case 325: /* admin_statement: ADMIN SHOW LOG LONG_VALUE INDEX LONG_VALUE */ @@ -6931,7 +6941,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->log_file_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->log_index_in_file_ = (yyvsp[0].long_value); } -#line 6935 "parser.cpp" +#line 6945 "parser.cpp" break; case 326: /* admin_statement: ADMIN SHOW CONFIGS */ @@ -6940,7 +6950,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListConfigs; } -#line 6944 "parser.cpp" +#line 6954 "parser.cpp" break; case 327: /* admin_statement: ADMIN SHOW VARIABLES */ @@ -6949,7 +6959,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListVariables; } -#line 6953 "parser.cpp" +#line 6963 "parser.cpp" break; case 328: /* admin_statement: ADMIN SHOW VARIABLE IDENTIFIER */ @@ -6960,71 +6970,135 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->variable_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 6964 "parser.cpp" +#line 6974 "parser.cpp" break; - case 329: /* admin_statement: ADMIN SHOW NODES */ + case 329: /* admin_statement: ADMIN CREATE SNAPSHOT */ #line 2511 "parser.y" + { + (yyval.admin_stmt) = new infinity::AdminStatement(); + (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kCreateSnapshot; +} +#line 6983 "parser.cpp" + break; + + case 330: /* admin_statement: ADMIN SHOW SNAPSHOTS */ +#line 2515 "parser.y" + { + (yyval.admin_stmt) = new infinity::AdminStatement(); + (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListSnapshots; +} +#line 6992 "parser.cpp" + break; + + case 331: /* admin_statement: ADMIN SHOW SNAPSHOT STRING */ +#line 2519 "parser.y" + { + (yyval.admin_stmt) = new infinity::AdminStatement(); + (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowSnapshot; + (yyval.admin_stmt)->snapshot_name_ = (yyvsp[0].str_value); + free((yyvsp[0].str_value)); +} +#line 7003 "parser.cpp" + break; + + case 332: /* admin_statement: ADMIN DELETE SNAPSHOT STRING */ +#line 2525 "parser.y" + { + (yyval.admin_stmt) = new infinity::AdminStatement(); + (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kDeleteSnapshot; + (yyval.admin_stmt)->snapshot_name_ = (yyvsp[0].str_value); + free((yyvsp[0].str_value)); +} +#line 7014 "parser.cpp" + break; + + case 333: /* admin_statement: ADMIN EXPORT SNAPSHOT STRING TO STRING */ +#line 2531 "parser.y" + { + (yyval.admin_stmt) = new infinity::AdminStatement(); + (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kExportSnapshot; + (yyval.admin_stmt)->snapshot_name_ = (yyvsp[-2].str_value); + (yyval.admin_stmt)->export_path_ = (yyvsp[0].str_value); + free((yyvsp[-2].str_value)); + free((yyvsp[0].str_value)); +} +#line 7027 "parser.cpp" + break; + + case 334: /* admin_statement: ADMIN RECOVER FROM SNAPSHOT STRING */ +#line 2539 "parser.y" + { + (yyval.admin_stmt) = new infinity::AdminStatement(); + (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kRecoverFromSnapshot; + (yyval.admin_stmt)->snapshot_name_ = (yyvsp[0].str_value); + free((yyvsp[0].str_value)); +} +#line 7038 "parser.cpp" + break; + + case 335: /* admin_statement: ADMIN SHOW NODES */ +#line 2545 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListNodes; } -#line 6973 "parser.cpp" +#line 7047 "parser.cpp" break; - case 330: /* admin_statement: ADMIN SHOW NODE STRING */ -#line 2515 "parser.y" + case 336: /* admin_statement: ADMIN SHOW NODE STRING */ +#line 2549 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowNode; (yyval.admin_stmt)->node_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 6984 "parser.cpp" +#line 7058 "parser.cpp" break; - case 331: /* admin_statement: ADMIN SHOW NODE */ -#line 2521 "parser.y" + case 337: /* admin_statement: ADMIN SHOW NODE */ +#line 2555 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowCurrentNode; } -#line 6993 "parser.cpp" +#line 7067 "parser.cpp" break; - case 332: /* admin_statement: ADMIN REMOVE NODE STRING */ -#line 2525 "parser.y" + case 338: /* admin_statement: ADMIN REMOVE NODE STRING */ +#line 2559 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kRemoveNode; (yyval.admin_stmt)->node_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 7004 "parser.cpp" +#line 7078 "parser.cpp" break; - case 333: /* admin_statement: ADMIN SET ADMIN */ -#line 2531 "parser.y" + case 339: /* admin_statement: ADMIN SET ADMIN */ +#line 2565 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kSetRole; (yyval.admin_stmt)->node_role_ = infinity::NodeRole::kAdmin; } -#line 7014 "parser.cpp" +#line 7088 "parser.cpp" break; - case 334: /* admin_statement: ADMIN SET STANDALONE */ -#line 2536 "parser.y" + case 340: /* admin_statement: ADMIN SET STANDALONE */ +#line 2570 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kSetRole; (yyval.admin_stmt)->node_role_ = infinity::NodeRole::kStandalone; } -#line 7024 "parser.cpp" +#line 7098 "parser.cpp" break; - case 335: /* admin_statement: ADMIN SET LEADER USING STRING */ -#line 2541 "parser.y" + case 341: /* admin_statement: ADMIN SET LEADER USING STRING */ +#line 2575 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kSetRole; @@ -7032,11 +7106,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->node_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 7036 "parser.cpp" +#line 7110 "parser.cpp" break; - case 336: /* admin_statement: ADMIN CONNECT STRING AS FOLLOWER USING STRING */ -#line 2548 "parser.y" + case 342: /* admin_statement: ADMIN CONNECT STRING AS FOLLOWER USING STRING */ +#line 2582 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kSetRole; @@ -7046,11 +7120,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-4].str_value)); free((yyvsp[0].str_value)); } -#line 7050 "parser.cpp" +#line 7124 "parser.cpp" break; - case 337: /* admin_statement: ADMIN CONNECT STRING AS LEARNER USING STRING */ -#line 2557 "parser.y" + case 343: /* admin_statement: ADMIN CONNECT STRING AS LEARNER USING STRING */ +#line 2591 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kSetRole; @@ -7060,11 +7134,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-4].str_value)); free((yyvsp[0].str_value)); } -#line 7064 "parser.cpp" +#line 7138 "parser.cpp" break; - case 338: /* alter_statement: ALTER TABLE table_name RENAME TO IDENTIFIER */ -#line 2567 "parser.y" + case 344: /* alter_statement: ALTER TABLE table_name RENAME TO IDENTIFIER */ +#line 2601 "parser.y" { auto *ret = new infinity::RenameTableStatement((yyvsp[-3].table_name_t)->schema_name_ptr_, (yyvsp[-3].table_name_t)->table_name_ptr_); (yyval.alter_stmt) = ret; @@ -7074,11 +7148,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-3].table_name_t)->table_name_ptr_); delete (yyvsp[-3].table_name_t); } -#line 7078 "parser.cpp" +#line 7152 "parser.cpp" break; - case 339: /* alter_statement: ALTER TABLE table_name ADD COLUMN '(' column_def_array ')' */ -#line 2576 "parser.y" + case 345: /* alter_statement: ALTER TABLE table_name ADD COLUMN '(' column_def_array ')' */ +#line 2610 "parser.y" { auto *ret = new infinity::AddColumnsStatement((yyvsp[-5].table_name_t)->schema_name_ptr_, (yyvsp[-5].table_name_t)->table_name_ptr_); (yyval.alter_stmt) = ret; @@ -7091,11 +7165,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-5].table_name_t)->table_name_ptr_); delete (yyvsp[-5].table_name_t); } -#line 7095 "parser.cpp" +#line 7169 "parser.cpp" break; - case 340: /* alter_statement: ALTER TABLE table_name DROP COLUMN '(' identifier_array ')' */ -#line 2588 "parser.y" + case 346: /* alter_statement: ALTER TABLE table_name DROP COLUMN '(' identifier_array ')' */ +#line 2622 "parser.y" { auto *ret = new infinity::DropColumnsStatement((yyvsp[-5].table_name_t)->schema_name_ptr_, (yyvsp[-5].table_name_t)->table_name_ptr_); (yyval.alter_stmt) = ret; @@ -7107,29 +7181,29 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-5].table_name_t)->table_name_ptr_); delete (yyvsp[-5].table_name_t); } -#line 7111 "parser.cpp" +#line 7185 "parser.cpp" break; - case 341: /* expr_array: expr_alias */ -#line 2604 "parser.y" + case 347: /* expr_array: expr_alias */ +#line 2638 "parser.y" { (yyval.expr_array_t) = new std::vector(); (yyval.expr_array_t)->emplace_back((yyvsp[0].expr_t)); } -#line 7120 "parser.cpp" +#line 7194 "parser.cpp" break; - case 342: /* expr_array: expr_array ',' expr_alias */ -#line 2608 "parser.y" + case 348: /* expr_array: expr_array ',' expr_alias */ +#line 2642 "parser.y" { (yyvsp[-2].expr_array_t)->emplace_back((yyvsp[0].expr_t)); (yyval.expr_array_t) = (yyvsp[-2].expr_array_t); } -#line 7129 "parser.cpp" +#line 7203 "parser.cpp" break; - case 343: /* insert_row_list: '(' expr_array ')' */ -#line 2613 "parser.y" + case 349: /* insert_row_list: '(' expr_array ')' */ +#line 2647 "parser.y" { auto res = std::make_unique(); for (auto* &expr : *(yyvsp[-1].expr_array_t)) { @@ -7140,11 +7214,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.insert_row_list_t) = new std::vector(); (yyval.insert_row_list_t)->emplace_back(res.release()); } -#line 7144 "parser.cpp" +#line 7218 "parser.cpp" break; - case 344: /* insert_row_list: insert_row_list ',' '(' expr_array ')' */ -#line 2623 "parser.y" + case 350: /* insert_row_list: insert_row_list ',' '(' expr_array ')' */ +#line 2657 "parser.y" { (yyval.insert_row_list_t) = (yyvsp[-4].insert_row_list_t); auto res = std::make_unique(); @@ -7155,57 +7229,57 @@ YYLTYPE yylloc = yyloc_default; delete (yyvsp[-1].expr_array_t); (yyval.insert_row_list_t)->emplace_back(res.release()); } -#line 7159 "parser.cpp" +#line 7233 "parser.cpp" break; - case 345: /* expr_alias: expr AS IDENTIFIER */ -#line 2645 "parser.y" + case 351: /* expr_alias: expr AS IDENTIFIER */ +#line 2679 "parser.y" { (yyval.expr_t) = (yyvsp[-2].expr_t); ParserHelper::ToLower((yyvsp[0].str_value)); (yyval.expr_t)->alias_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 7170 "parser.cpp" +#line 7244 "parser.cpp" break; - case 346: /* expr_alias: expr */ -#line 2651 "parser.y" + case 352: /* expr_alias: expr */ +#line 2685 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7178 "parser.cpp" +#line 7252 "parser.cpp" break; - case 352: /* operand: '(' expr ')' */ -#line 2661 "parser.y" + case 358: /* operand: '(' expr ')' */ +#line 2695 "parser.y" { (yyval.expr_t) = (yyvsp[-1].expr_t); } -#line 7186 "parser.cpp" +#line 7260 "parser.cpp" break; - case 353: /* operand: '(' select_without_paren ')' */ -#line 2664 "parser.y" + case 359: /* operand: '(' select_without_paren ')' */ +#line 2698 "parser.y" { infinity::SubqueryExpr* subquery_expr = new infinity::SubqueryExpr(); subquery_expr->subquery_type_ = infinity::SubqueryType::kScalar; subquery_expr->select_ = (yyvsp[-1].select_stmt); (yyval.expr_t) = subquery_expr; } -#line 7197 "parser.cpp" +#line 7271 "parser.cpp" break; - case 354: /* operand: constant_expr */ -#line 2670 "parser.y" + case 360: /* operand: constant_expr */ +#line 2704 "parser.y" { (yyval.expr_t) = (yyvsp[0].const_expr_t); } -#line 7205 "parser.cpp" +#line 7279 "parser.cpp" break; - case 365: /* match_tensor_expr: MATCH TENSOR '(' column_expr ',' common_array_expr ',' STRING ',' STRING ',' STRING optional_search_filter_expr ')' */ -#line 2686 "parser.y" + case 371: /* match_tensor_expr: MATCH TENSOR '(' column_expr ',' common_array_expr ',' STRING ',' STRING ',' STRING optional_search_filter_expr ')' */ +#line 2720 "parser.y" { auto match_tensor_expr = std::make_unique(); // search column @@ -7221,11 +7295,11 @@ YYLTYPE yylloc = yyloc_default; match_tensor_expr->SetOptionalFilter((yyvsp[-1].expr_t)); (yyval.expr_t) = match_tensor_expr.release(); } -#line 7225 "parser.cpp" +#line 7299 "parser.cpp" break; - case 366: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' USING INDEX '(' IDENTIFIER ')' with_index_param_list */ -#line 2704 "parser.y" + case 372: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' USING INDEX '(' IDENTIFIER ')' with_index_param_list */ +#line 2738 "parser.y" { infinity::KnnExpr* match_vector_expr = new infinity::KnnExpr(); (yyval.expr_t) = match_vector_expr; @@ -7271,11 +7345,11 @@ YYLTYPE yylloc = yyloc_default; Return1: ; } -#line 7275 "parser.cpp" +#line 7349 "parser.cpp" break; - case 367: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' IGNORE INDEX */ -#line 2750 "parser.y" + case 373: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' IGNORE INDEX */ +#line 2784 "parser.y" { infinity::KnnExpr* match_vector_expr = new infinity::KnnExpr(); (yyval.expr_t) = match_vector_expr; @@ -7314,11 +7388,11 @@ YYLTYPE yylloc = yyloc_default; Return2: ; } -#line 7318 "parser.cpp" +#line 7392 "parser.cpp" break; - case 368: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' with_index_param_list */ -#line 2789 "parser.y" + case 374: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' with_index_param_list */ +#line 2823 "parser.y" { infinity::KnnExpr* match_vector_expr = new infinity::KnnExpr(); (yyval.expr_t) = match_vector_expr; @@ -7361,11 +7435,11 @@ YYLTYPE yylloc = yyloc_default; Return3: ; } -#line 7365 "parser.cpp" +#line 7439 "parser.cpp" break; - case 369: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING optional_search_filter_expr ')' with_index_param_list */ -#line 2832 "parser.y" + case 375: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING optional_search_filter_expr ')' with_index_param_list */ +#line 2866 "parser.y" { infinity::KnnExpr* match_vector_expr = new infinity::KnnExpr(); (yyval.expr_t) = match_vector_expr; @@ -7409,11 +7483,11 @@ YYLTYPE yylloc = yyloc_default; Return4: ; } -#line 7413 "parser.cpp" +#line 7487 "parser.cpp" break; - case 370: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' USING INDEX '(' IDENTIFIER ')' with_index_param_list */ -#line 2879 "parser.y" + case 376: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' USING INDEX '(' IDENTIFIER ')' with_index_param_list */ +#line 2913 "parser.y" { auto match_sparse_expr = new infinity::MatchSparseExpr(); (yyval.expr_t) = match_sparse_expr; @@ -7437,11 +7511,11 @@ YYLTYPE yylloc = yyloc_default; match_sparse_expr->index_name_ = (yyvsp[-2].str_value); free((yyvsp[-2].str_value)); } -#line 7441 "parser.cpp" +#line 7515 "parser.cpp" break; - case 371: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' IGNORE INDEX */ -#line 2903 "parser.y" + case 377: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' IGNORE INDEX */ +#line 2937 "parser.y" { auto match_sparse_expr = new infinity::MatchSparseExpr(); (yyval.expr_t) = match_sparse_expr; @@ -7464,11 +7538,11 @@ YYLTYPE yylloc = yyloc_default; match_sparse_expr->ignore_index_ = true; } -#line 7468 "parser.cpp" +#line 7542 "parser.cpp" break; - case 372: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' with_index_param_list */ -#line 2926 "parser.y" + case 378: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' with_index_param_list */ +#line 2960 "parser.y" { auto match_sparse_expr = new infinity::MatchSparseExpr(); (yyval.expr_t) = match_sparse_expr; @@ -7489,11 +7563,11 @@ YYLTYPE yylloc = yyloc_default; // topn and options match_sparse_expr->SetOptParams((yyvsp[-3].long_value), (yyvsp[0].with_index_param_list_t)); } -#line 7493 "parser.cpp" +#line 7567 "parser.cpp" break; - case 373: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING optional_search_filter_expr ')' with_index_param_list */ -#line 2947 "parser.y" + case 379: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING optional_search_filter_expr ')' with_index_param_list */ +#line 2981 "parser.y" { auto match_sparse_expr = new infinity::MatchSparseExpr(); (yyval.expr_t) = match_sparse_expr; @@ -7514,11 +7588,11 @@ YYLTYPE yylloc = yyloc_default; // topn and options match_sparse_expr->SetOptParams(infinity::DEFAULT_MATCH_SPARSE_TOP_N, (yyvsp[0].with_index_param_list_t)); } -#line 7518 "parser.cpp" +#line 7592 "parser.cpp" break; - case 374: /* match_text_expr: MATCH TEXT '(' STRING ',' STRING optional_search_filter_expr ')' */ -#line 2968 "parser.y" + case 380: /* match_text_expr: MATCH TEXT '(' STRING ',' STRING optional_search_filter_expr ')' */ +#line 3002 "parser.y" { infinity::MatchExpr* match_text_expr = new infinity::MatchExpr(); match_text_expr->fields_ = std::string((yyvsp[-4].str_value)); @@ -7528,11 +7602,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-2].str_value)); (yyval.expr_t) = match_text_expr; } -#line 7532 "parser.cpp" +#line 7606 "parser.cpp" break; - case 375: /* match_text_expr: MATCH TEXT '(' STRING ',' STRING ',' STRING optional_search_filter_expr ')' */ -#line 2977 "parser.y" + case 381: /* match_text_expr: MATCH TEXT '(' STRING ',' STRING ',' STRING optional_search_filter_expr ')' */ +#line 3011 "parser.y" { infinity::MatchExpr* match_text_expr = new infinity::MatchExpr(); match_text_expr->fields_ = std::string((yyvsp[-6].str_value)); @@ -7544,11 +7618,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-2].str_value)); (yyval.expr_t) = match_text_expr; } -#line 7548 "parser.cpp" +#line 7622 "parser.cpp" break; - case 376: /* query_expr: QUERY '(' STRING optional_search_filter_expr ')' */ -#line 2989 "parser.y" + case 382: /* query_expr: QUERY '(' STRING optional_search_filter_expr ')' */ +#line 3023 "parser.y" { infinity::MatchExpr* match_text_expr = new infinity::MatchExpr(); match_text_expr->matching_text_ = std::string((yyvsp[-2].str_value)); @@ -7556,11 +7630,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-2].str_value)); (yyval.expr_t) = match_text_expr; } -#line 7560 "parser.cpp" +#line 7634 "parser.cpp" break; - case 377: /* query_expr: QUERY '(' STRING ',' STRING optional_search_filter_expr ')' */ -#line 2996 "parser.y" + case 383: /* query_expr: QUERY '(' STRING ',' STRING optional_search_filter_expr ')' */ +#line 3030 "parser.y" { infinity::MatchExpr* match_text_expr = new infinity::MatchExpr(); match_text_expr->matching_text_ = std::string((yyvsp[-4].str_value)); @@ -7570,22 +7644,22 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-2].str_value)); (yyval.expr_t) = match_text_expr; } -#line 7574 "parser.cpp" +#line 7648 "parser.cpp" break; - case 378: /* fusion_expr: FUSION '(' STRING ')' */ -#line 3006 "parser.y" + case 384: /* fusion_expr: FUSION '(' STRING ')' */ +#line 3040 "parser.y" { infinity::FusionExpr* fusion_expr = new infinity::FusionExpr(); fusion_expr->method_ = std::string((yyvsp[-1].str_value)); free((yyvsp[-1].str_value)); (yyval.expr_t) = fusion_expr; } -#line 7585 "parser.cpp" +#line 7659 "parser.cpp" break; - case 379: /* fusion_expr: FUSION '(' STRING ',' STRING ')' */ -#line 3012 "parser.y" + case 385: /* fusion_expr: FUSION '(' STRING ',' STRING ')' */ +#line 3046 "parser.y" { auto fusion_expr = std::make_unique(); fusion_expr->method_ = std::string((yyvsp[-3].str_value)); @@ -7597,77 +7671,77 @@ YYLTYPE yylloc = yyloc_default; fusion_expr->JobAfterParser(); (yyval.expr_t) = fusion_expr.release(); } -#line 7601 "parser.cpp" +#line 7675 "parser.cpp" break; - case 380: /* sub_search: match_vector_expr */ -#line 3024 "parser.y" + case 386: /* sub_search: match_vector_expr */ +#line 3058 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7609 "parser.cpp" +#line 7683 "parser.cpp" break; - case 381: /* sub_search: match_text_expr */ -#line 3027 "parser.y" + case 387: /* sub_search: match_text_expr */ +#line 3061 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7617 "parser.cpp" +#line 7691 "parser.cpp" break; - case 382: /* sub_search: match_tensor_expr */ -#line 3030 "parser.y" + case 388: /* sub_search: match_tensor_expr */ +#line 3064 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7625 "parser.cpp" +#line 7699 "parser.cpp" break; - case 383: /* sub_search: match_sparse_expr */ -#line 3033 "parser.y" + case 389: /* sub_search: match_sparse_expr */ +#line 3067 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7633 "parser.cpp" +#line 7707 "parser.cpp" break; - case 384: /* sub_search: query_expr */ -#line 3036 "parser.y" + case 390: /* sub_search: query_expr */ +#line 3070 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7641 "parser.cpp" +#line 7715 "parser.cpp" break; - case 385: /* sub_search: fusion_expr */ -#line 3039 "parser.y" + case 391: /* sub_search: fusion_expr */ +#line 3073 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7649 "parser.cpp" +#line 7723 "parser.cpp" break; - case 386: /* sub_search_array: sub_search */ -#line 3043 "parser.y" + case 392: /* sub_search_array: sub_search */ +#line 3077 "parser.y" { (yyval.expr_array_t) = new std::vector(); (yyval.expr_array_t)->emplace_back((yyvsp[0].expr_t)); } -#line 7658 "parser.cpp" +#line 7732 "parser.cpp" break; - case 387: /* sub_search_array: sub_search_array ',' sub_search */ -#line 3047 "parser.y" + case 393: /* sub_search_array: sub_search_array ',' sub_search */ +#line 3081 "parser.y" { (yyvsp[-2].expr_array_t)->emplace_back((yyvsp[0].expr_t)); (yyval.expr_array_t) = (yyvsp[-2].expr_array_t); } -#line 7667 "parser.cpp" +#line 7741 "parser.cpp" break; - case 388: /* function_expr: IDENTIFIER '(' ')' */ -#line 3052 "parser.y" + case 394: /* function_expr: IDENTIFIER '(' ')' */ +#line 3086 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); ParserHelper::ToLower((yyvsp[-2].str_value)); @@ -7676,11 +7750,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_ = nullptr; (yyval.expr_t) = func_expr; } -#line 7680 "parser.cpp" +#line 7754 "parser.cpp" break; - case 389: /* function_expr: IDENTIFIER '(' expr_array ')' */ -#line 3060 "parser.y" + case 395: /* function_expr: IDENTIFIER '(' expr_array ')' */ +#line 3094 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); ParserHelper::ToLower((yyvsp[-3].str_value)); @@ -7689,11 +7763,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_ = (yyvsp[-1].expr_array_t); (yyval.expr_t) = func_expr; } -#line 7693 "parser.cpp" +#line 7767 "parser.cpp" break; - case 390: /* function_expr: IDENTIFIER '(' DISTINCT expr_array ')' */ -#line 3068 "parser.y" + case 396: /* function_expr: IDENTIFIER '(' DISTINCT expr_array ')' */ +#line 3102 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); ParserHelper::ToLower((yyvsp[-4].str_value)); @@ -7703,11 +7777,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->distinct_ = true; (yyval.expr_t) = func_expr; } -#line 7707 "parser.cpp" +#line 7781 "parser.cpp" break; - case 391: /* function_expr: operand IS NOT NULLABLE */ -#line 3077 "parser.y" + case 397: /* function_expr: operand IS NOT NULLABLE */ +#line 3111 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "is_not_null"; @@ -7715,11 +7789,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[-3].expr_t)); (yyval.expr_t) = func_expr; } -#line 7719 "parser.cpp" +#line 7793 "parser.cpp" break; - case 392: /* function_expr: operand IS NULLABLE */ -#line 3084 "parser.y" + case 398: /* function_expr: operand IS NULLABLE */ +#line 3118 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "is_null"; @@ -7727,11 +7801,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[-2].expr_t)); (yyval.expr_t) = func_expr; } -#line 7731 "parser.cpp" +#line 7805 "parser.cpp" break; - case 393: /* function_expr: NOT operand */ -#line 3091 "parser.y" + case 399: /* function_expr: NOT operand */ +#line 3125 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "not"; @@ -7739,11 +7813,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7743 "parser.cpp" +#line 7817 "parser.cpp" break; - case 394: /* function_expr: '-' operand */ -#line 3098 "parser.y" + case 400: /* function_expr: '-' operand */ +#line 3132 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "-"; @@ -7751,11 +7825,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7755 "parser.cpp" +#line 7829 "parser.cpp" break; - case 395: /* function_expr: '+' operand */ -#line 3105 "parser.y" + case 401: /* function_expr: '+' operand */ +#line 3139 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "+"; @@ -7763,11 +7837,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7767 "parser.cpp" +#line 7841 "parser.cpp" break; - case 396: /* function_expr: operand '-' operand */ -#line 3112 "parser.y" + case 402: /* function_expr: operand '-' operand */ +#line 3146 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "-"; @@ -7776,11 +7850,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7780 "parser.cpp" +#line 7854 "parser.cpp" break; - case 397: /* function_expr: operand '+' operand */ -#line 3120 "parser.y" + case 403: /* function_expr: operand '+' operand */ +#line 3154 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "+"; @@ -7789,11 +7863,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7793 "parser.cpp" +#line 7867 "parser.cpp" break; - case 398: /* function_expr: operand '*' operand */ -#line 3128 "parser.y" + case 404: /* function_expr: operand '*' operand */ +#line 3162 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "*"; @@ -7802,11 +7876,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7806 "parser.cpp" +#line 7880 "parser.cpp" break; - case 399: /* function_expr: operand '/' operand */ -#line 3136 "parser.y" + case 405: /* function_expr: operand '/' operand */ +#line 3170 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "/"; @@ -7815,11 +7889,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7819 "parser.cpp" +#line 7893 "parser.cpp" break; - case 400: /* function_expr: operand '%' operand */ -#line 3144 "parser.y" + case 406: /* function_expr: operand '%' operand */ +#line 3178 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "%"; @@ -7828,11 +7902,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7832 "parser.cpp" +#line 7906 "parser.cpp" break; - case 401: /* function_expr: operand '=' operand */ -#line 3152 "parser.y" + case 407: /* function_expr: operand '=' operand */ +#line 3186 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "="; @@ -7841,11 +7915,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7845 "parser.cpp" +#line 7919 "parser.cpp" break; - case 402: /* function_expr: operand EQUAL operand */ -#line 3160 "parser.y" + case 408: /* function_expr: operand EQUAL operand */ +#line 3194 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "="; @@ -7854,11 +7928,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7858 "parser.cpp" +#line 7932 "parser.cpp" break; - case 403: /* function_expr: operand NOT_EQ operand */ -#line 3168 "parser.y" + case 409: /* function_expr: operand NOT_EQ operand */ +#line 3202 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "<>"; @@ -7867,11 +7941,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7871 "parser.cpp" +#line 7945 "parser.cpp" break; - case 404: /* function_expr: operand '<' operand */ -#line 3176 "parser.y" + case 410: /* function_expr: operand '<' operand */ +#line 3210 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "<"; @@ -7880,11 +7954,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7884 "parser.cpp" +#line 7958 "parser.cpp" break; - case 405: /* function_expr: operand '>' operand */ -#line 3184 "parser.y" + case 411: /* function_expr: operand '>' operand */ +#line 3218 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = ">"; @@ -7893,11 +7967,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7897 "parser.cpp" +#line 7971 "parser.cpp" break; - case 406: /* function_expr: operand LESS_EQ operand */ -#line 3192 "parser.y" + case 412: /* function_expr: operand LESS_EQ operand */ +#line 3226 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "<="; @@ -7906,11 +7980,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7910 "parser.cpp" +#line 7984 "parser.cpp" break; - case 407: /* function_expr: operand GREATER_EQ operand */ -#line 3200 "parser.y" + case 413: /* function_expr: operand GREATER_EQ operand */ +#line 3234 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = ">="; @@ -7919,11 +7993,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7923 "parser.cpp" +#line 7997 "parser.cpp" break; - case 408: /* function_expr: EXTRACT '(' STRING FROM operand ')' */ -#line 3208 "parser.y" + case 414: /* function_expr: EXTRACT '(' STRING FROM operand ')' */ +#line 3242 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); ParserHelper::ToLower((yyvsp[-3].str_value)); @@ -7954,11 +8028,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[-1].expr_t)); (yyval.expr_t) = func_expr; } -#line 7958 "parser.cpp" +#line 8032 "parser.cpp" break; - case 409: /* function_expr: operand LIKE operand */ -#line 3238 "parser.y" + case 415: /* function_expr: operand LIKE operand */ +#line 3272 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "like"; @@ -7967,11 +8041,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7971 "parser.cpp" +#line 8045 "parser.cpp" break; - case 410: /* function_expr: operand NOT LIKE operand */ -#line 3246 "parser.y" + case 416: /* function_expr: operand NOT LIKE operand */ +#line 3280 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "not_like"; @@ -7980,11 +8054,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7984 "parser.cpp" +#line 8058 "parser.cpp" break; - case 411: /* conjunction_expr: expr AND expr */ -#line 3255 "parser.y" + case 417: /* conjunction_expr: expr AND expr */ +#line 3289 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "and"; @@ -7993,11 +8067,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7997 "parser.cpp" +#line 8071 "parser.cpp" break; - case 412: /* conjunction_expr: expr OR expr */ -#line 3263 "parser.y" + case 418: /* conjunction_expr: expr OR expr */ +#line 3297 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "or"; @@ -8006,11 +8080,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 8010 "parser.cpp" +#line 8084 "parser.cpp" break; - case 413: /* between_expr: operand BETWEEN operand AND operand */ -#line 3272 "parser.y" + case 419: /* between_expr: operand BETWEEN operand AND operand */ +#line 3306 "parser.y" { infinity::BetweenExpr* between_expr = new infinity::BetweenExpr(); between_expr->value_ = (yyvsp[-4].expr_t); @@ -8018,44 +8092,44 @@ YYLTYPE yylloc = yyloc_default; between_expr->upper_bound_ = (yyvsp[0].expr_t); (yyval.expr_t) = between_expr; } -#line 8022 "parser.cpp" +#line 8096 "parser.cpp" break; - case 414: /* in_expr: operand IN '(' expr_array ')' */ -#line 3280 "parser.y" + case 420: /* in_expr: operand IN '(' expr_array ')' */ +#line 3314 "parser.y" { infinity::InExpr* in_expr = new infinity::InExpr(true); in_expr->left_ = (yyvsp[-4].expr_t); in_expr->arguments_ = (yyvsp[-1].expr_array_t); (yyval.expr_t) = in_expr; } -#line 8033 "parser.cpp" +#line 8107 "parser.cpp" break; - case 415: /* in_expr: operand NOT IN '(' expr_array ')' */ -#line 3286 "parser.y" + case 421: /* in_expr: operand NOT IN '(' expr_array ')' */ +#line 3320 "parser.y" { infinity::InExpr* in_expr = new infinity::InExpr(false); in_expr->left_ = (yyvsp[-5].expr_t); in_expr->arguments_ = (yyvsp[-1].expr_array_t); (yyval.expr_t) = in_expr; } -#line 8044 "parser.cpp" +#line 8118 "parser.cpp" break; - case 416: /* case_expr: CASE expr case_check_array END */ -#line 3293 "parser.y" + case 422: /* case_expr: CASE expr case_check_array END */ +#line 3327 "parser.y" { infinity::CaseExpr* case_expr = new infinity::CaseExpr(); case_expr->expr_ = (yyvsp[-2].expr_t); case_expr->case_check_array_ = (yyvsp[-1].case_check_array_t); (yyval.expr_t) = case_expr; } -#line 8055 "parser.cpp" +#line 8129 "parser.cpp" break; - case 417: /* case_expr: CASE expr case_check_array ELSE expr END */ -#line 3299 "parser.y" + case 423: /* case_expr: CASE expr case_check_array ELSE expr END */ +#line 3333 "parser.y" { infinity::CaseExpr* case_expr = new infinity::CaseExpr(); case_expr->expr_ = (yyvsp[-4].expr_t); @@ -8063,32 +8137,32 @@ YYLTYPE yylloc = yyloc_default; case_expr->else_expr_ = (yyvsp[-1].expr_t); (yyval.expr_t) = case_expr; } -#line 8067 "parser.cpp" +#line 8141 "parser.cpp" break; - case 418: /* case_expr: CASE case_check_array END */ -#line 3306 "parser.y" + case 424: /* case_expr: CASE case_check_array END */ +#line 3340 "parser.y" { infinity::CaseExpr* case_expr = new infinity::CaseExpr(); case_expr->case_check_array_ = (yyvsp[-1].case_check_array_t); (yyval.expr_t) = case_expr; } -#line 8077 "parser.cpp" +#line 8151 "parser.cpp" break; - case 419: /* case_expr: CASE case_check_array ELSE expr END */ -#line 3311 "parser.y" + case 425: /* case_expr: CASE case_check_array ELSE expr END */ +#line 3345 "parser.y" { infinity::CaseExpr* case_expr = new infinity::CaseExpr(); case_expr->case_check_array_ = (yyvsp[-3].case_check_array_t); case_expr->else_expr_ = (yyvsp[-1].expr_t); (yyval.expr_t) = case_expr; } -#line 8088 "parser.cpp" +#line 8162 "parser.cpp" break; - case 420: /* case_check_array: WHEN expr THEN expr */ -#line 3318 "parser.y" + case 426: /* case_check_array: WHEN expr THEN expr */ +#line 3352 "parser.y" { (yyval.case_check_array_t) = new std::vector(); infinity::WhenThen* when_then_ptr = new infinity::WhenThen(); @@ -8096,11 +8170,11 @@ YYLTYPE yylloc = yyloc_default; when_then_ptr->then_ = (yyvsp[0].expr_t); (yyval.case_check_array_t)->emplace_back(when_then_ptr); } -#line 8100 "parser.cpp" +#line 8174 "parser.cpp" break; - case 421: /* case_check_array: case_check_array WHEN expr THEN expr */ -#line 3325 "parser.y" + case 427: /* case_check_array: case_check_array WHEN expr THEN expr */ +#line 3359 "parser.y" { infinity::WhenThen* when_then_ptr = new infinity::WhenThen(); when_then_ptr->when_ = (yyvsp[-2].expr_t); @@ -8108,11 +8182,11 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-4].case_check_array_t)->emplace_back(when_then_ptr); (yyval.case_check_array_t) = (yyvsp[-4].case_check_array_t); } -#line 8112 "parser.cpp" +#line 8186 "parser.cpp" break; - case 422: /* cast_expr: CAST '(' expr AS column_type ')' */ -#line 3333 "parser.y" + case 428: /* cast_expr: CAST '(' expr AS column_type ')' */ +#line 3367 "parser.y" { std::shared_ptr type_info_ptr{nullptr}; switch((yyvsp[-1].column_type_t).logical_type_) { @@ -8139,33 +8213,33 @@ YYLTYPE yylloc = yyloc_default; cast_expr->expr_ = (yyvsp[-3].expr_t); (yyval.expr_t) = cast_expr; } -#line 8143 "parser.cpp" +#line 8217 "parser.cpp" break; - case 423: /* subquery_expr: EXISTS '(' select_without_paren ')' */ -#line 3360 "parser.y" + case 429: /* subquery_expr: EXISTS '(' select_without_paren ')' */ +#line 3394 "parser.y" { infinity::SubqueryExpr* subquery_expr = new infinity::SubqueryExpr(); subquery_expr->subquery_type_ = infinity::SubqueryType::kExists; subquery_expr->select_ = (yyvsp[-1].select_stmt); (yyval.expr_t) = subquery_expr; } -#line 8154 "parser.cpp" +#line 8228 "parser.cpp" break; - case 424: /* subquery_expr: NOT EXISTS '(' select_without_paren ')' */ -#line 3366 "parser.y" + case 430: /* subquery_expr: NOT EXISTS '(' select_without_paren ')' */ +#line 3400 "parser.y" { infinity::SubqueryExpr* subquery_expr = new infinity::SubqueryExpr(); subquery_expr->subquery_type_ = infinity::SubqueryType::kNotExists; subquery_expr->select_ = (yyvsp[-1].select_stmt); (yyval.expr_t) = subquery_expr; } -#line 8165 "parser.cpp" +#line 8239 "parser.cpp" break; - case 425: /* subquery_expr: operand IN '(' select_without_paren ')' */ -#line 3372 "parser.y" + case 431: /* subquery_expr: operand IN '(' select_without_paren ')' */ +#line 3406 "parser.y" { infinity::SubqueryExpr* subquery_expr = new infinity::SubqueryExpr(); subquery_expr->subquery_type_ = infinity::SubqueryType::kIn; @@ -8173,11 +8247,11 @@ YYLTYPE yylloc = yyloc_default; subquery_expr->select_ = (yyvsp[-1].select_stmt); (yyval.expr_t) = subquery_expr; } -#line 8177 "parser.cpp" +#line 8251 "parser.cpp" break; - case 426: /* subquery_expr: operand NOT IN '(' select_without_paren ')' */ -#line 3379 "parser.y" + case 432: /* subquery_expr: operand NOT IN '(' select_without_paren ')' */ +#line 3413 "parser.y" { infinity::SubqueryExpr* subquery_expr = new infinity::SubqueryExpr(); subquery_expr->subquery_type_ = infinity::SubqueryType::kNotIn; @@ -8185,11 +8259,11 @@ YYLTYPE yylloc = yyloc_default; subquery_expr->select_ = (yyvsp[-1].select_stmt); (yyval.expr_t) = subquery_expr; } -#line 8189 "parser.cpp" +#line 8263 "parser.cpp" break; - case 427: /* column_expr: IDENTIFIER */ -#line 3387 "parser.y" + case 433: /* column_expr: IDENTIFIER */ +#line 3421 "parser.y" { infinity::ColumnExpr* column_expr = new infinity::ColumnExpr(); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -8197,11 +8271,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].str_value)); (yyval.expr_t) = column_expr; } -#line 8201 "parser.cpp" +#line 8275 "parser.cpp" break; - case 428: /* column_expr: column_expr '.' IDENTIFIER */ -#line 3394 "parser.y" + case 434: /* column_expr: column_expr '.' IDENTIFIER */ +#line 3428 "parser.y" { infinity::ColumnExpr* column_expr = (infinity::ColumnExpr*)(yyvsp[-2].expr_t); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -8209,21 +8283,21 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].str_value)); (yyval.expr_t) = column_expr; } -#line 8213 "parser.cpp" +#line 8287 "parser.cpp" break; - case 429: /* column_expr: '*' */ -#line 3401 "parser.y" + case 435: /* column_expr: '*' */ +#line 3435 "parser.y" { infinity::ColumnExpr* column_expr = new infinity::ColumnExpr(); column_expr->star_ = true; (yyval.expr_t) = column_expr; } -#line 8223 "parser.cpp" +#line 8297 "parser.cpp" break; - case 430: /* column_expr: column_expr '.' '*' */ -#line 3406 "parser.y" + case 436: /* column_expr: column_expr '.' '*' */ +#line 3440 "parser.y" { infinity::ColumnExpr* column_expr = (infinity::ColumnExpr*)(yyvsp[-2].expr_t); if(column_expr->star_) { @@ -8233,232 +8307,232 @@ YYLTYPE yylloc = yyloc_default; column_expr->star_ = true; (yyval.expr_t) = column_expr; } -#line 8237 "parser.cpp" +#line 8311 "parser.cpp" break; - case 431: /* constant_expr: STRING */ -#line 3416 "parser.y" + case 437: /* constant_expr: STRING */ +#line 3450 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kString); const_expr->str_value_ = (yyvsp[0].str_value); (yyval.const_expr_t) = const_expr; } -#line 8247 "parser.cpp" +#line 8321 "parser.cpp" break; - case 432: /* constant_expr: TRUE */ -#line 3421 "parser.y" + case 438: /* constant_expr: TRUE */ +#line 3455 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kBoolean); const_expr->bool_value_ = true; (yyval.const_expr_t) = const_expr; } -#line 8257 "parser.cpp" +#line 8331 "parser.cpp" break; - case 433: /* constant_expr: FALSE */ -#line 3426 "parser.y" + case 439: /* constant_expr: FALSE */ +#line 3460 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kBoolean); const_expr->bool_value_ = false; (yyval.const_expr_t) = const_expr; } -#line 8267 "parser.cpp" +#line 8341 "parser.cpp" break; - case 434: /* constant_expr: DOUBLE_VALUE */ -#line 3431 "parser.y" + case 440: /* constant_expr: DOUBLE_VALUE */ +#line 3465 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kDouble); const_expr->double_value_ = (yyvsp[0].double_value); (yyval.const_expr_t) = const_expr; } -#line 8277 "parser.cpp" +#line 8351 "parser.cpp" break; - case 435: /* constant_expr: LONG_VALUE */ -#line 3436 "parser.y" + case 441: /* constant_expr: LONG_VALUE */ +#line 3470 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInteger); const_expr->integer_value_ = (yyvsp[0].long_value); (yyval.const_expr_t) = const_expr; } -#line 8287 "parser.cpp" +#line 8361 "parser.cpp" break; - case 436: /* constant_expr: DATE STRING */ -#line 3441 "parser.y" + case 442: /* constant_expr: DATE STRING */ +#line 3475 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kDate); const_expr->date_value_ = (yyvsp[0].str_value); (yyval.const_expr_t) = const_expr; } -#line 8297 "parser.cpp" +#line 8371 "parser.cpp" break; - case 437: /* constant_expr: TIME STRING */ -#line 3446 "parser.y" + case 443: /* constant_expr: TIME STRING */ +#line 3480 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kTime); const_expr->date_value_ = (yyvsp[0].str_value); (yyval.const_expr_t) = const_expr; } -#line 8307 "parser.cpp" +#line 8381 "parser.cpp" break; - case 438: /* constant_expr: DATETIME STRING */ -#line 3451 "parser.y" + case 444: /* constant_expr: DATETIME STRING */ +#line 3485 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kDateTime); const_expr->date_value_ = (yyvsp[0].str_value); (yyval.const_expr_t) = const_expr; } -#line 8317 "parser.cpp" +#line 8391 "parser.cpp" break; - case 439: /* constant_expr: TIMESTAMP STRING */ -#line 3456 "parser.y" + case 445: /* constant_expr: TIMESTAMP STRING */ +#line 3490 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kTimestamp); const_expr->date_value_ = (yyvsp[0].str_value); (yyval.const_expr_t) = const_expr; } -#line 8327 "parser.cpp" +#line 8401 "parser.cpp" break; - case 440: /* constant_expr: INTERVAL interval_expr */ -#line 3461 "parser.y" + case 446: /* constant_expr: INTERVAL interval_expr */ +#line 3495 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8335 "parser.cpp" +#line 8409 "parser.cpp" break; - case 441: /* constant_expr: interval_expr */ -#line 3464 "parser.y" + case 447: /* constant_expr: interval_expr */ +#line 3498 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8343 "parser.cpp" +#line 8417 "parser.cpp" break; - case 442: /* constant_expr: common_array_expr */ -#line 3467 "parser.y" + case 448: /* constant_expr: common_array_expr */ +#line 3501 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8351 "parser.cpp" +#line 8425 "parser.cpp" break; - case 443: /* common_array_expr: array_expr */ -#line 3471 "parser.y" + case 449: /* common_array_expr: array_expr */ +#line 3505 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8359 "parser.cpp" +#line 8433 "parser.cpp" break; - case 444: /* common_array_expr: subarray_array_expr */ -#line 3474 "parser.y" + case 450: /* common_array_expr: subarray_array_expr */ +#line 3508 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8367 "parser.cpp" +#line 8441 "parser.cpp" break; - case 445: /* common_array_expr: sparse_array_expr */ -#line 3477 "parser.y" + case 451: /* common_array_expr: sparse_array_expr */ +#line 3511 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8375 "parser.cpp" +#line 8449 "parser.cpp" break; - case 446: /* common_array_expr: empty_array_expr */ -#line 3480 "parser.y" + case 452: /* common_array_expr: empty_array_expr */ +#line 3514 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8383 "parser.cpp" +#line 8457 "parser.cpp" break; - case 447: /* common_sparse_array_expr: sparse_array_expr */ -#line 3484 "parser.y" + case 453: /* common_sparse_array_expr: sparse_array_expr */ +#line 3518 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8391 "parser.cpp" +#line 8465 "parser.cpp" break; - case 448: /* common_sparse_array_expr: array_expr */ -#line 3487 "parser.y" + case 454: /* common_sparse_array_expr: array_expr */ +#line 3521 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8399 "parser.cpp" +#line 8473 "parser.cpp" break; - case 449: /* common_sparse_array_expr: empty_array_expr */ -#line 3490 "parser.y" + case 455: /* common_sparse_array_expr: empty_array_expr */ +#line 3524 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8407 "parser.cpp" +#line 8481 "parser.cpp" break; - case 450: /* subarray_array_expr: unclosed_subarray_array_expr ']' */ -#line 3494 "parser.y" + case 456: /* subarray_array_expr: unclosed_subarray_array_expr ']' */ +#line 3528 "parser.y" { (yyval.const_expr_t) = (yyvsp[-1].const_expr_t); } -#line 8415 "parser.cpp" +#line 8489 "parser.cpp" break; - case 451: /* unclosed_subarray_array_expr: '[' common_array_expr */ -#line 3498 "parser.y" + case 457: /* unclosed_subarray_array_expr: '[' common_array_expr */ +#line 3532 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kSubArrayArray); const_expr->sub_array_array_.emplace_back((yyvsp[0].const_expr_t)); (yyval.const_expr_t) = const_expr; } -#line 8425 "parser.cpp" +#line 8499 "parser.cpp" break; - case 452: /* unclosed_subarray_array_expr: unclosed_subarray_array_expr ',' common_array_expr */ -#line 3503 "parser.y" + case 458: /* unclosed_subarray_array_expr: unclosed_subarray_array_expr ',' common_array_expr */ +#line 3537 "parser.y" { (yyvsp[-2].const_expr_t)->sub_array_array_.emplace_back((yyvsp[0].const_expr_t)); (yyval.const_expr_t) = (yyvsp[-2].const_expr_t); } -#line 8434 "parser.cpp" +#line 8508 "parser.cpp" break; - case 453: /* sparse_array_expr: long_sparse_array_expr */ -#line 3508 "parser.y" + case 459: /* sparse_array_expr: long_sparse_array_expr */ +#line 3542 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8442 "parser.cpp" +#line 8516 "parser.cpp" break; - case 454: /* sparse_array_expr: double_sparse_array_expr */ -#line 3511 "parser.y" + case 460: /* sparse_array_expr: double_sparse_array_expr */ +#line 3545 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8450 "parser.cpp" +#line 8524 "parser.cpp" break; - case 455: /* long_sparse_array_expr: unclosed_long_sparse_array_expr ']' */ -#line 3515 "parser.y" + case 461: /* long_sparse_array_expr: unclosed_long_sparse_array_expr ']' */ +#line 3549 "parser.y" { (yyval.const_expr_t) = (yyvsp[-1].const_expr_t); } -#line 8458 "parser.cpp" +#line 8532 "parser.cpp" break; - case 456: /* unclosed_long_sparse_array_expr: '[' int_sparse_ele */ -#line 3519 "parser.y" + case 462: /* unclosed_long_sparse_array_expr: '[' int_sparse_ele */ +#line 3553 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kLongSparseArray); const_expr->long_sparse_array_.first.emplace_back((yyvsp[0].int_sparse_ele_t)->first); @@ -8466,30 +8540,30 @@ YYLTYPE yylloc = yyloc_default; delete (yyvsp[0].int_sparse_ele_t); (yyval.const_expr_t) = const_expr; } -#line 8470 "parser.cpp" +#line 8544 "parser.cpp" break; - case 457: /* unclosed_long_sparse_array_expr: unclosed_long_sparse_array_expr ',' int_sparse_ele */ -#line 3526 "parser.y" + case 463: /* unclosed_long_sparse_array_expr: unclosed_long_sparse_array_expr ',' int_sparse_ele */ +#line 3560 "parser.y" { (yyvsp[-2].const_expr_t)->long_sparse_array_.first.emplace_back((yyvsp[0].int_sparse_ele_t)->first); (yyvsp[-2].const_expr_t)->long_sparse_array_.second.emplace_back((yyvsp[0].int_sparse_ele_t)->second); delete (yyvsp[0].int_sparse_ele_t); (yyval.const_expr_t) = (yyvsp[-2].const_expr_t); } -#line 8481 "parser.cpp" +#line 8555 "parser.cpp" break; - case 458: /* double_sparse_array_expr: unclosed_double_sparse_array_expr ']' */ -#line 3533 "parser.y" + case 464: /* double_sparse_array_expr: unclosed_double_sparse_array_expr ']' */ +#line 3567 "parser.y" { (yyval.const_expr_t) = (yyvsp[-1].const_expr_t); } -#line 8489 "parser.cpp" +#line 8563 "parser.cpp" break; - case 459: /* unclosed_double_sparse_array_expr: '[' float_sparse_ele */ -#line 3537 "parser.y" + case 465: /* unclosed_double_sparse_array_expr: '[' float_sparse_ele */ +#line 3571 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kDoubleSparseArray); const_expr->double_sparse_array_.first.emplace_back((yyvsp[0].float_sparse_ele_t)->first); @@ -8497,266 +8571,266 @@ YYLTYPE yylloc = yyloc_default; delete (yyvsp[0].float_sparse_ele_t); (yyval.const_expr_t) = const_expr; } -#line 8501 "parser.cpp" +#line 8575 "parser.cpp" break; - case 460: /* unclosed_double_sparse_array_expr: unclosed_double_sparse_array_expr ',' float_sparse_ele */ -#line 3544 "parser.y" + case 466: /* unclosed_double_sparse_array_expr: unclosed_double_sparse_array_expr ',' float_sparse_ele */ +#line 3578 "parser.y" { (yyvsp[-2].const_expr_t)->double_sparse_array_.first.emplace_back((yyvsp[0].float_sparse_ele_t)->first); (yyvsp[-2].const_expr_t)->double_sparse_array_.second.emplace_back((yyvsp[0].float_sparse_ele_t)->second); delete (yyvsp[0].float_sparse_ele_t); (yyval.const_expr_t) = (yyvsp[-2].const_expr_t); } -#line 8512 "parser.cpp" +#line 8586 "parser.cpp" break; - case 461: /* empty_array_expr: '[' ']' */ -#line 3551 "parser.y" + case 467: /* empty_array_expr: '[' ']' */ +#line 3585 "parser.y" { (yyval.const_expr_t) = new infinity::ConstantExpr(infinity::LiteralType::kEmptyArray); } -#line 8520 "parser.cpp" +#line 8594 "parser.cpp" break; - case 462: /* int_sparse_ele: LONG_VALUE ':' LONG_VALUE */ -#line 3555 "parser.y" + case 468: /* int_sparse_ele: LONG_VALUE ':' LONG_VALUE */ +#line 3589 "parser.y" { (yyval.int_sparse_ele_t) = new std::pair{(yyvsp[-2].long_value), (yyvsp[0].long_value)}; } -#line 8528 "parser.cpp" +#line 8602 "parser.cpp" break; - case 463: /* float_sparse_ele: LONG_VALUE ':' DOUBLE_VALUE */ -#line 3559 "parser.y" + case 469: /* float_sparse_ele: LONG_VALUE ':' DOUBLE_VALUE */ +#line 3593 "parser.y" { (yyval.float_sparse_ele_t) = new std::pair{(yyvsp[-2].long_value), (yyvsp[0].double_value)}; } -#line 8536 "parser.cpp" +#line 8610 "parser.cpp" break; - case 464: /* array_expr: long_array_expr */ -#line 3563 "parser.y" + case 470: /* array_expr: long_array_expr */ +#line 3597 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8544 "parser.cpp" +#line 8618 "parser.cpp" break; - case 465: /* array_expr: double_array_expr */ -#line 3566 "parser.y" + case 471: /* array_expr: double_array_expr */ +#line 3600 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8552 "parser.cpp" +#line 8626 "parser.cpp" break; - case 466: /* long_array_expr: unclosed_long_array_expr ']' */ -#line 3570 "parser.y" + case 472: /* long_array_expr: unclosed_long_array_expr ']' */ +#line 3604 "parser.y" { (yyval.const_expr_t) = (yyvsp[-1].const_expr_t); } -#line 8560 "parser.cpp" +#line 8634 "parser.cpp" break; - case 467: /* unclosed_long_array_expr: '[' LONG_VALUE */ -#line 3574 "parser.y" + case 473: /* unclosed_long_array_expr: '[' LONG_VALUE */ +#line 3608 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kIntegerArray); const_expr->long_array_.emplace_back((yyvsp[0].long_value)); (yyval.const_expr_t) = const_expr; } -#line 8570 "parser.cpp" +#line 8644 "parser.cpp" break; - case 468: /* unclosed_long_array_expr: unclosed_long_array_expr ',' LONG_VALUE */ -#line 3579 "parser.y" + case 474: /* unclosed_long_array_expr: unclosed_long_array_expr ',' LONG_VALUE */ +#line 3613 "parser.y" { (yyvsp[-2].const_expr_t)->long_array_.emplace_back((yyvsp[0].long_value)); (yyval.const_expr_t) = (yyvsp[-2].const_expr_t); } -#line 8579 "parser.cpp" +#line 8653 "parser.cpp" break; - case 469: /* double_array_expr: unclosed_double_array_expr ']' */ -#line 3584 "parser.y" + case 475: /* double_array_expr: unclosed_double_array_expr ']' */ +#line 3618 "parser.y" { (yyval.const_expr_t) = (yyvsp[-1].const_expr_t); } -#line 8587 "parser.cpp" +#line 8661 "parser.cpp" break; - case 470: /* unclosed_double_array_expr: '[' DOUBLE_VALUE */ -#line 3588 "parser.y" + case 476: /* unclosed_double_array_expr: '[' DOUBLE_VALUE */ +#line 3622 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kDoubleArray); const_expr->double_array_.emplace_back((yyvsp[0].double_value)); (yyval.const_expr_t) = const_expr; } -#line 8597 "parser.cpp" +#line 8671 "parser.cpp" break; - case 471: /* unclosed_double_array_expr: unclosed_double_array_expr ',' DOUBLE_VALUE */ -#line 3593 "parser.y" + case 477: /* unclosed_double_array_expr: unclosed_double_array_expr ',' DOUBLE_VALUE */ +#line 3627 "parser.y" { (yyvsp[-2].const_expr_t)->double_array_.emplace_back((yyvsp[0].double_value)); (yyval.const_expr_t) = (yyvsp[-2].const_expr_t); } -#line 8606 "parser.cpp" +#line 8680 "parser.cpp" break; - case 472: /* interval_expr: LONG_VALUE SECONDS */ -#line 3598 "parser.y" + case 478: /* interval_expr: LONG_VALUE SECONDS */ +#line 3632 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kSecond; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8617 "parser.cpp" +#line 8691 "parser.cpp" break; - case 473: /* interval_expr: LONG_VALUE SECOND */ -#line 3604 "parser.y" + case 479: /* interval_expr: LONG_VALUE SECOND */ +#line 3638 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kSecond; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8628 "parser.cpp" +#line 8702 "parser.cpp" break; - case 474: /* interval_expr: LONG_VALUE MINUTES */ -#line 3610 "parser.y" + case 480: /* interval_expr: LONG_VALUE MINUTES */ +#line 3644 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kMinute; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8639 "parser.cpp" +#line 8713 "parser.cpp" break; - case 475: /* interval_expr: LONG_VALUE MINUTE */ -#line 3616 "parser.y" + case 481: /* interval_expr: LONG_VALUE MINUTE */ +#line 3650 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kMinute; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8650 "parser.cpp" +#line 8724 "parser.cpp" break; - case 476: /* interval_expr: LONG_VALUE HOURS */ -#line 3622 "parser.y" + case 482: /* interval_expr: LONG_VALUE HOURS */ +#line 3656 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kHour; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8661 "parser.cpp" +#line 8735 "parser.cpp" break; - case 477: /* interval_expr: LONG_VALUE HOUR */ -#line 3628 "parser.y" + case 483: /* interval_expr: LONG_VALUE HOUR */ +#line 3662 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kHour; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8672 "parser.cpp" +#line 8746 "parser.cpp" break; - case 478: /* interval_expr: LONG_VALUE DAYS */ -#line 3634 "parser.y" + case 484: /* interval_expr: LONG_VALUE DAYS */ +#line 3668 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kDay; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8683 "parser.cpp" +#line 8757 "parser.cpp" break; - case 479: /* interval_expr: LONG_VALUE DAY */ -#line 3640 "parser.y" + case 485: /* interval_expr: LONG_VALUE DAY */ +#line 3674 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kDay; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8694 "parser.cpp" +#line 8768 "parser.cpp" break; - case 480: /* interval_expr: LONG_VALUE MONTHS */ -#line 3646 "parser.y" + case 486: /* interval_expr: LONG_VALUE MONTHS */ +#line 3680 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kMonth; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8705 "parser.cpp" +#line 8779 "parser.cpp" break; - case 481: /* interval_expr: LONG_VALUE MONTH */ -#line 3652 "parser.y" + case 487: /* interval_expr: LONG_VALUE MONTH */ +#line 3686 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kMonth; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8716 "parser.cpp" +#line 8790 "parser.cpp" break; - case 482: /* interval_expr: LONG_VALUE YEARS */ -#line 3658 "parser.y" + case 488: /* interval_expr: LONG_VALUE YEARS */ +#line 3692 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kYear; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8727 "parser.cpp" +#line 8801 "parser.cpp" break; - case 483: /* interval_expr: LONG_VALUE YEAR */ -#line 3664 "parser.y" + case 489: /* interval_expr: LONG_VALUE YEAR */ +#line 3698 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kInterval); const_expr->interval_type_ = infinity::TimeUnit::kYear; const_expr->integer_value_ = (yyvsp[-1].long_value); (yyval.const_expr_t) = const_expr; } -#line 8738 "parser.cpp" +#line 8812 "parser.cpp" break; - case 484: /* copy_option_list: copy_option */ -#line 3675 "parser.y" + case 490: /* copy_option_list: copy_option */ +#line 3709 "parser.y" { (yyval.copy_option_array) = new std::vector(); (yyval.copy_option_array)->push_back((yyvsp[0].copy_option_t)); } -#line 8747 "parser.cpp" +#line 8821 "parser.cpp" break; - case 485: /* copy_option_list: copy_option_list ',' copy_option */ -#line 3679 "parser.y" + case 491: /* copy_option_list: copy_option_list ',' copy_option */ +#line 3713 "parser.y" { (yyvsp[-2].copy_option_array)->push_back((yyvsp[0].copy_option_t)); (yyval.copy_option_array) = (yyvsp[-2].copy_option_array); } -#line 8756 "parser.cpp" +#line 8830 "parser.cpp" break; - case 486: /* copy_option: FORMAT IDENTIFIER */ -#line 3684 "parser.y" + case 492: /* copy_option: FORMAT IDENTIFIER */ +#line 3718 "parser.y" { (yyval.copy_option_t) = new infinity::CopyOption(); (yyval.copy_option_t)->option_type_ = infinity::CopyOptionType::kFormat; @@ -8788,11 +8862,11 @@ YYLTYPE yylloc = yyloc_default; YYERROR; } } -#line 8792 "parser.cpp" +#line 8866 "parser.cpp" break; - case 487: /* copy_option: DELIMITER STRING */ -#line 3715 "parser.y" + case 493: /* copy_option: DELIMITER STRING */ +#line 3749 "parser.y" { (yyval.copy_option_t) = new infinity::CopyOption(); (yyval.copy_option_t)->option_type_ = infinity::CopyOptionType::kDelimiter; @@ -8803,83 +8877,83 @@ YYLTYPE yylloc = yyloc_default; } free((yyvsp[0].str_value)); } -#line 8807 "parser.cpp" +#line 8881 "parser.cpp" break; - case 488: /* copy_option: HEADER */ -#line 3725 "parser.y" + case 494: /* copy_option: HEADER */ +#line 3759 "parser.y" { (yyval.copy_option_t) = new infinity::CopyOption(); (yyval.copy_option_t)->option_type_ = infinity::CopyOptionType::kHeader; (yyval.copy_option_t)->header_ = true; } -#line 8817 "parser.cpp" +#line 8891 "parser.cpp" break; - case 489: /* copy_option: OFFSET LONG_VALUE */ -#line 3730 "parser.y" + case 495: /* copy_option: OFFSET LONG_VALUE */ +#line 3764 "parser.y" { (yyval.copy_option_t) = new infinity::CopyOption(); (yyval.copy_option_t)->option_type_ = infinity::CopyOptionType::kOffset; (yyval.copy_option_t)->offset_ = (yyvsp[0].long_value); } -#line 8827 "parser.cpp" +#line 8901 "parser.cpp" break; - case 490: /* copy_option: LIMIT LONG_VALUE */ -#line 3735 "parser.y" + case 496: /* copy_option: LIMIT LONG_VALUE */ +#line 3769 "parser.y" { (yyval.copy_option_t) = new infinity::CopyOption(); (yyval.copy_option_t)->option_type_ = infinity::CopyOptionType::kLimit; (yyval.copy_option_t)->limit_ = (yyvsp[0].long_value); } -#line 8837 "parser.cpp" +#line 8911 "parser.cpp" break; - case 491: /* copy_option: ROWLIMIT LONG_VALUE */ -#line 3740 "parser.y" + case 497: /* copy_option: ROWLIMIT LONG_VALUE */ +#line 3774 "parser.y" { (yyval.copy_option_t) = new infinity::CopyOption(); (yyval.copy_option_t)->option_type_ = infinity::CopyOptionType::kRowLimit; (yyval.copy_option_t)->row_limit_ = (yyvsp[0].long_value); } -#line 8847 "parser.cpp" +#line 8921 "parser.cpp" break; - case 492: /* file_path: STRING */ -#line 3746 "parser.y" + case 498: /* file_path: STRING */ +#line 3780 "parser.y" { (yyval.str_value) = (yyvsp[0].str_value); } -#line 8855 "parser.cpp" +#line 8929 "parser.cpp" break; - case 493: /* if_exists: IF EXISTS */ -#line 3750 "parser.y" + case 499: /* if_exists: IF EXISTS */ +#line 3784 "parser.y" { (yyval.bool_value) = true; } -#line 8861 "parser.cpp" +#line 8935 "parser.cpp" break; - case 494: /* if_exists: %empty */ -#line 3751 "parser.y" + case 500: /* if_exists: %empty */ +#line 3785 "parser.y" { (yyval.bool_value) = false; } -#line 8867 "parser.cpp" +#line 8941 "parser.cpp" break; - case 495: /* if_not_exists: IF NOT EXISTS */ -#line 3753 "parser.y" + case 501: /* if_not_exists: IF NOT EXISTS */ +#line 3787 "parser.y" { (yyval.bool_value) = true; } -#line 8873 "parser.cpp" +#line 8947 "parser.cpp" break; - case 496: /* if_not_exists: %empty */ -#line 3754 "parser.y" + case 502: /* if_not_exists: %empty */ +#line 3788 "parser.y" { (yyval.bool_value) = false; } -#line 8879 "parser.cpp" +#line 8953 "parser.cpp" break; - case 499: /* if_not_exists_info: if_not_exists IDENTIFIER */ -#line 3769 "parser.y" + case 505: /* if_not_exists_info: if_not_exists IDENTIFIER */ +#line 3803 "parser.y" { (yyval.if_not_exists_info_t) = new infinity::IfNotExistsInfo(); (yyval.if_not_exists_info_t)->exists_ = true; @@ -8888,80 +8962,80 @@ YYLTYPE yylloc = yyloc_default; (yyval.if_not_exists_info_t)->info_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 8892 "parser.cpp" +#line 8966 "parser.cpp" break; - case 500: /* if_not_exists_info: %empty */ -#line 3777 "parser.y" + case 506: /* if_not_exists_info: %empty */ +#line 3811 "parser.y" { (yyval.if_not_exists_info_t) = new infinity::IfNotExistsInfo(); } -#line 8900 "parser.cpp" +#line 8974 "parser.cpp" break; - case 501: /* with_index_param_list: WITH '(' index_param_list ')' */ -#line 3781 "parser.y" + case 507: /* with_index_param_list: WITH '(' index_param_list ')' */ +#line 3815 "parser.y" { (yyval.with_index_param_list_t) = (yyvsp[-1].index_param_list_t); } -#line 8908 "parser.cpp" +#line 8982 "parser.cpp" break; - case 502: /* with_index_param_list: %empty */ -#line 3784 "parser.y" + case 508: /* with_index_param_list: %empty */ +#line 3818 "parser.y" { (yyval.with_index_param_list_t) = new std::vector(); } -#line 8916 "parser.cpp" +#line 8990 "parser.cpp" break; - case 503: /* optional_table_properties_list: PROPERTIES '(' index_param_list ')' */ -#line 3788 "parser.y" + case 509: /* optional_table_properties_list: PROPERTIES '(' index_param_list ')' */ +#line 3822 "parser.y" { (yyval.with_index_param_list_t) = (yyvsp[-1].index_param_list_t); } -#line 8924 "parser.cpp" +#line 8998 "parser.cpp" break; - case 504: /* optional_table_properties_list: %empty */ -#line 3791 "parser.y" + case 510: /* optional_table_properties_list: %empty */ +#line 3825 "parser.y" { (yyval.with_index_param_list_t) = nullptr; } -#line 8932 "parser.cpp" +#line 9006 "parser.cpp" break; - case 505: /* index_param_list: index_param */ -#line 3795 "parser.y" + case 511: /* index_param_list: index_param */ +#line 3829 "parser.y" { (yyval.index_param_list_t) = new std::vector(); (yyval.index_param_list_t)->push_back((yyvsp[0].index_param_t)); } -#line 8941 "parser.cpp" +#line 9015 "parser.cpp" break; - case 506: /* index_param_list: index_param_list ',' index_param */ -#line 3799 "parser.y" + case 512: /* index_param_list: index_param_list ',' index_param */ +#line 3833 "parser.y" { (yyvsp[-2].index_param_list_t)->push_back((yyvsp[0].index_param_t)); (yyval.index_param_list_t) = (yyvsp[-2].index_param_list_t); } -#line 8950 "parser.cpp" +#line 9024 "parser.cpp" break; - case 507: /* index_param: IDENTIFIER */ -#line 3804 "parser.y" + case 513: /* index_param: IDENTIFIER */ +#line 3838 "parser.y" { ParserHelper::ToLower((yyvsp[0].str_value)); (yyval.index_param_t) = new infinity::InitParameter(); (yyval.index_param_t)->param_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 8961 "parser.cpp" +#line 9035 "parser.cpp" break; - case 508: /* index_param: IDENTIFIER '=' IDENTIFIER */ -#line 3810 "parser.y" + case 514: /* index_param: IDENTIFIER '=' IDENTIFIER */ +#line 3844 "parser.y" { ParserHelper::ToLower((yyvsp[-2].str_value)); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -8972,11 +9046,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.index_param_t)->param_value_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 8976 "parser.cpp" +#line 9050 "parser.cpp" break; - case 509: /* index_param: IDENTIFIER '=' STRING */ -#line 3820 "parser.y" + case 515: /* index_param: IDENTIFIER '=' STRING */ +#line 3854 "parser.y" { ParserHelper::ToLower((yyvsp[-2].str_value)); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -8987,11 +9061,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.index_param_t)->param_value_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 8991 "parser.cpp" +#line 9065 "parser.cpp" break; - case 510: /* index_param: IDENTIFIER '=' LONG_VALUE */ -#line 3830 "parser.y" + case 516: /* index_param: IDENTIFIER '=' LONG_VALUE */ +#line 3864 "parser.y" { ParserHelper::ToLower((yyvsp[-2].str_value)); (yyval.index_param_t) = new infinity::InitParameter(); @@ -9000,11 +9074,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.index_param_t)->param_value_ = std::to_string((yyvsp[0].long_value)); } -#line 9004 "parser.cpp" +#line 9078 "parser.cpp" break; - case 511: /* index_param: IDENTIFIER '=' DOUBLE_VALUE */ -#line 3838 "parser.y" + case 517: /* index_param: IDENTIFIER '=' DOUBLE_VALUE */ +#line 3872 "parser.y" { ParserHelper::ToLower((yyvsp[-2].str_value)); (yyval.index_param_t) = new infinity::InitParameter(); @@ -9013,11 +9087,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.index_param_t)->param_value_ = std::to_string((yyvsp[0].double_value)); } -#line 9017 "parser.cpp" +#line 9091 "parser.cpp" break; - case 512: /* index_info: '(' IDENTIFIER ')' USING IDENTIFIER with_index_param_list */ -#line 3849 "parser.y" + case 518: /* index_info: '(' IDENTIFIER ')' USING IDENTIFIER with_index_param_list */ +#line 3883 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); infinity::IndexType index_type = infinity::IndexType::kInvalid; @@ -9049,22 +9123,22 @@ YYLTYPE yylloc = yyloc_default; (yyval.index_info_t)->index_param_list_ = (yyvsp[0].with_index_param_list_t); free((yyvsp[-4].str_value)); } -#line 9053 "parser.cpp" +#line 9127 "parser.cpp" break; - case 513: /* index_info: '(' IDENTIFIER ')' */ -#line 3880 "parser.y" + case 519: /* index_info: '(' IDENTIFIER ')' */ +#line 3914 "parser.y" { (yyval.index_info_t) = new infinity::IndexInfo(); (yyval.index_info_t)->index_type_ = infinity::IndexType::kSecondary; (yyval.index_info_t)->column_name_ = (yyvsp[-1].str_value); free((yyvsp[-1].str_value)); } -#line 9064 "parser.cpp" +#line 9138 "parser.cpp" break; -#line 9068 "parser.cpp" +#line 9142 "parser.cpp" default: break; } @@ -9293,7 +9367,7 @@ YYLTYPE yylloc = yyloc_default; return yyresult; } -#line 3887 "parser.y" +#line 3921 "parser.y" void diff --git a/src/parser/parser.h b/src/parser/parser.h index 2ee462fca5..aaaa0e9972 100644 --- a/src/parser/parser.h +++ b/src/parser/parser.h @@ -318,13 +318,16 @@ struct SQL_LTYPE { NODES = 445, /* NODES */ NODE = 446, /* NODE */ REMOVE = 447, /* REMOVE */ - PERSISTENCE = 448, /* PERSISTENCE */ - OBJECT = 449, /* OBJECT */ - OBJECTS = 450, /* OBJECTS */ - FILES = 451, /* FILES */ - MEMORY = 452, /* MEMORY */ - ALLOCATION = 453, /* ALLOCATION */ - NUMBER = 454 /* NUMBER */ + SNAPSHOT = 448, /* SNAPSHOT */ + SNAPSHOTS = 449, /* SNAPSHOTS */ + RECOVER = 450, /* RECOVER */ + PERSISTENCE = 451, /* PERSISTENCE */ + OBJECT = 452, /* OBJECT */ + OBJECTS = 453, /* OBJECTS */ + FILES = 454, /* FILES */ + MEMORY = 455, /* MEMORY */ + ALLOCATION = 456, /* ALLOCATION */ + NUMBER = 457 /* NUMBER */ }; typedef enum sqltokentype sqltoken_kind_t; #endif @@ -412,7 +415,7 @@ union SQLSTYPE std::pair* int_sparse_ele_t; std::pair* float_sparse_ele_t; -#line 416 "parser.h" +#line 419 "parser.h" }; typedef union SQLSTYPE SQLSTYPE; diff --git a/src/parser/parser.y b/src/parser/parser.y index 4438be7e90..7e388cdfa2 100644 --- a/src/parser/parser.y +++ b/src/parser/parser.y @@ -395,7 +395,7 @@ struct SQL_LTYPE { %token DATA LOG BUFFER TRANSACTIONS TRANSACTION MEMINDEX %token USING SESSION GLOBAL OFF EXPORT CONFIGS CONFIG PROFILES VARIABLES VARIABLE DELTA LOGS CATALOGS CATALOG %token SEARCH MATCH MAXSIM QUERY QUERIES FUSION ROWLIMIT -%token ADMIN LEADER FOLLOWER LEARNER CONNECT STANDALONE NODES NODE REMOVE +%token ADMIN LEADER FOLLOWER LEARNER CONNECT STANDALONE NODES NODE REMOVE SNAPSHOT SNAPSHOTS RECOVER %token PERSISTENCE OBJECT OBJECTS FILES MEMORY ALLOCATION %token NUMBER @@ -2508,6 +2508,40 @@ admin_statement: ADMIN SHOW CATALOGS { $$->variable_name_ = $4; free($4); } +| ADMIN CREATE SNAPSHOT { + $$ = new infinity::AdminStatement(); + $$->admin_type_ = infinity::AdminStmtType::kCreateSnapshot; +} +| ADMIN SHOW SNAPSHOTS { + $$ = new infinity::AdminStatement(); + $$->admin_type_ = infinity::AdminStmtType::kListSnapshots; +} +| ADMIN SHOW SNAPSHOT STRING { + $$ = new infinity::AdminStatement(); + $$->admin_type_ = infinity::AdminStmtType::kShowSnapshot; + $$->snapshot_name_ = $4; + free($4); +} +| ADMIN DELETE SNAPSHOT STRING { + $$ = new infinity::AdminStatement(); + $$->admin_type_ = infinity::AdminStmtType::kDeleteSnapshot; + $$->snapshot_name_ = $4; + free($4); +} +| ADMIN EXPORT SNAPSHOT STRING TO STRING { + $$ = new infinity::AdminStatement(); + $$->admin_type_ = infinity::AdminStmtType::kExportSnapshot; + $$->snapshot_name_ = $4; + $$->export_path_ = $6; + free($4); + free($6); +} +| ADMIN RECOVER FROM SNAPSHOT STRING { + $$ = new infinity::AdminStatement(); + $$->admin_type_ = infinity::AdminStmtType::kRecoverFromSnapshot; + $$->snapshot_name_ = $5; + free($5); +} | ADMIN SHOW NODES { $$ = new infinity::AdminStatement(); $$->admin_type_ = infinity::AdminStmtType::kListNodes; diff --git a/src/parser/statement/admin_statement.cpp b/src/parser/statement/admin_statement.cpp index b44a7e2f88..263dcee42b 100644 --- a/src/parser/statement/admin_statement.cpp +++ b/src/parser/statement/admin_statement.cpp @@ -132,6 +132,30 @@ std::string AdminStatement::ToString() const { ss << "Admin set role"; break; } + case AdminStmtType::kCreateSnapshot: { + ss << "Admin create snapshot"; + break; + } + case AdminStmtType::kListSnapshots: { + ss << "Admin list snapshots"; + break; + } + case AdminStmtType::kShowSnapshot: { + ss << "Admin show snapshot"; + break; + } + case AdminStmtType::kDeleteSnapshot: { + ss << "Admin delete snapshot"; + break; + } + case AdminStmtType::kExportSnapshot: { + ss << "Admin export snapshot"; + break; + } + case AdminStmtType::kRecoverFromSnapshot: { + ss << "Admin recover from snapshot"; + break; + } case AdminStmtType::kInvalid: { ss << "Invalid admin statement"; break; diff --git a/src/parser/statement/admin_statement.h b/src/parser/statement/admin_statement.h index 3252f90cfa..62f74b30a3 100644 --- a/src/parser/statement/admin_statement.h +++ b/src/parser/statement/admin_statement.h @@ -47,6 +47,12 @@ enum class AdminStmtType { kShowCurrentNode, kRemoveNode, kSetRole, + kCreateSnapshot, + kListSnapshots, + kShowSnapshot, + kDeleteSnapshot, + kExportSnapshot, + kRecoverFromSnapshot, kInvalid, }; @@ -86,6 +92,8 @@ class AdminStatement : public BaseStatement { std::optional leader_address_{}; std::optional variable_name_{}; std::optional node_name_{}; + std::optional snapshot_name_{}; + std::optional export_path_{}; }; } // namespace infinity