diff --git a/src/executor/explain_physical_plan.cpp b/src/executor/explain_physical_plan.cpp index 20071d1fde..da65a1bbe9 100644 --- a/src/executor/explain_physical_plan.cpp +++ b/src/executor/explain_physical_plan.cpp @@ -1796,6 +1796,24 @@ void ExplainPhysicalPlan::Explain(const PhysicalShow *show_node, SharedPtremplace_back(MakeShared(output_columns_str)); break; } + case ShowType::kShowFunction: { + String show_str; + if (intent_size != 0) { + show_str = String(intent_size - 2, ' '); + show_str += "-> SHOW FUNCTION"; + } else { + show_str = "SHOW FUNCTION"; + } + show_str += "("; + show_str += std::to_string(show_node->node_id()); + show_str += ")"; + result->emplace_back(MakeShared(show_str)); + + String output_columns_str = String(intent_size, ' '); + output_columns_str += " - output columns: [value]"; + result->emplace_back(MakeShared(output_columns_str)); + break; + } case ShowType::kInvalid: { String error_message = "Invalid show type"; UnrecoverableError(error_message); diff --git a/src/main/infinity.cpp b/src/main/infinity.cpp index 1c56ea0ae8..dcc1216b6d 100644 --- a/src/main/infinity.cpp +++ b/src/main/infinity.cpp @@ -778,6 +778,15 @@ QueryResult Infinity::ShowMemoryAllocations() { return result; } +QueryResult Infinity::ShowFunction(const String& function_name) { + UniquePtr query_context_ptr = GetQueryContext(); + UniquePtr show_statement = MakeUnique(); + show_statement->show_type_ = ShowStmtType::kFunction; + show_statement->function_name_ = function_name; + QueryResult result = query_context_ptr->QueryStatement(show_statement.get()); + return result; +} + QueryResult Infinity::Insert(const String &db_name, const String &table_name, Vector *columns, Vector *> *values) { UniquePtr query_context_ptr = GetQueryContext(); UniquePtr insert_statement = MakeUnique(); diff --git a/src/main/infinity.cppm b/src/main/infinity.cppm index a475682932..b848bc3fbd 100644 --- a/src/main/infinity.cppm +++ b/src/main/infinity.cppm @@ -155,6 +155,7 @@ public: QueryResult ShowMemory(); QueryResult ShowMemoryObjects(); QueryResult ShowMemoryAllocations(); + QueryResult ShowFunction(const String& function_name); QueryResult Insert(const String &db_name, const String &table_name, Vector *columns, Vector *> *values); diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp index b2e8519e10..d6dd2e3ea4 100644 --- a/src/parser/parser.cpp +++ b/src/parser/parser.cpp @@ -776,18 +776,18 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 114 +#define YYFINAL 115 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1436 +#define YYLAST 1385 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 213 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 115 /* YYNRULES -- Number of rules. */ -#define YYNRULES 504 +#define YYNRULES 505 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1131 +#define YYNSTATES 1134 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 451 @@ -883,30 +883,30 @@ static const yytype_int16 yyrline[] = 1716, 1723, 1727, 1731, 1735, 1739, 1744, 1748, 1753, 1757, 1761, 1767, 1773, 1779, 1790, 1801, 1812, 1824, 1836, 1849, 1863, 1874, 1888, 1904, 1921, 1925, 1929, 1933, 1937, 1941, - 1947, 1951, 1955, 1963, 1967, 1971, 1979, 1990, 2013, 2019, - 2024, 2030, 2036, 2044, 2050, 2056, 2062, 2068, 2076, 2082, - 2088, 2094, 2100, 2108, 2114, 2120, 2129, 2139, 2152, 2156, - 2161, 2167, 2174, 2182, 2191, 2201, 2211, 2222, 2233, 2245, - 2257, 2267, 2278, 2290, 2303, 2307, 2312, 2317, 2323, 2327, - 2331, 2337, 2341, 2347, 2351, 2356, 2361, 2368, 2377, 2387, - 2396, 2408, 2424, 2428, 2433, 2437, 2470, 2476, 2480, 2481, - 2482, 2483, 2484, 2486, 2489, 2495, 2498, 2499, 2500, 2501, - 2502, 2503, 2504, 2505, 2506, 2507, 2511, 2529, 2575, 2614, - 2657, 2704, 2728, 2751, 2772, 2793, 2802, 2814, 2821, 2831, - 2837, 2849, 2852, 2855, 2858, 2861, 2864, 2868, 2872, 2877, - 2885, 2893, 2902, 2909, 2916, 2923, 2930, 2937, 2945, 2953, - 2961, 2969, 2977, 2985, 2993, 3001, 3009, 3017, 3025, 3033, - 3063, 3071, 3080, 3088, 3097, 3105, 3111, 3118, 3124, 3131, - 3136, 3143, 3150, 3158, 3185, 3191, 3197, 3204, 3212, 3219, - 3226, 3231, 3241, 3246, 3251, 3256, 3261, 3266, 3271, 3276, - 3281, 3286, 3289, 3292, 3296, 3299, 3302, 3305, 3309, 3312, - 3315, 3319, 3323, 3328, 3333, 3336, 3340, 3344, 3351, 3358, - 3362, 3369, 3376, 3380, 3384, 3388, 3391, 3395, 3399, 3404, - 3409, 3413, 3418, 3423, 3429, 3435, 3441, 3447, 3453, 3459, - 3465, 3471, 3477, 3483, 3489, 3500, 3504, 3509, 3540, 3550, - 3555, 3560, 3565, 3571, 3575, 3576, 3578, 3579, 3581, 3582, - 3594, 3602, 3606, 3609, 3613, 3616, 3620, 3624, 3629, 3635, - 3645, 3655, 3663, 3674, 3705 + 1947, 1951, 1955, 1959, 1969, 1973, 1977, 1985, 1996, 2019, + 2025, 2030, 2036, 2042, 2050, 2056, 2062, 2068, 2074, 2082, + 2088, 2094, 2100, 2106, 2114, 2120, 2126, 2135, 2145, 2158, + 2162, 2167, 2173, 2180, 2188, 2197, 2207, 2217, 2228, 2239, + 2251, 2263, 2273, 2284, 2296, 2309, 2313, 2318, 2323, 2329, + 2333, 2337, 2343, 2347, 2353, 2357, 2362, 2367, 2374, 2383, + 2393, 2402, 2414, 2430, 2434, 2439, 2443, 2476, 2482, 2486, + 2487, 2488, 2489, 2490, 2492, 2495, 2501, 2504, 2505, 2506, + 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2517, 2535, 2581, + 2620, 2663, 2710, 2734, 2757, 2778, 2799, 2808, 2820, 2827, + 2837, 2843, 2855, 2858, 2861, 2864, 2867, 2870, 2874, 2878, + 2883, 2891, 2899, 2908, 2915, 2922, 2929, 2936, 2943, 2951, + 2959, 2967, 2975, 2983, 2991, 2999, 3007, 3015, 3023, 3031, + 3039, 3069, 3077, 3086, 3094, 3103, 3111, 3117, 3124, 3130, + 3137, 3142, 3149, 3156, 3164, 3191, 3197, 3203, 3210, 3218, + 3225, 3232, 3237, 3247, 3252, 3257, 3262, 3267, 3272, 3277, + 3282, 3287, 3292, 3295, 3298, 3302, 3305, 3308, 3311, 3315, + 3318, 3321, 3325, 3329, 3334, 3339, 3342, 3346, 3350, 3357, + 3364, 3368, 3375, 3382, 3386, 3390, 3394, 3397, 3401, 3405, + 3410, 3415, 3419, 3424, 3429, 3435, 3441, 3447, 3453, 3459, + 3465, 3471, 3477, 3483, 3489, 3495, 3506, 3510, 3515, 3546, + 3556, 3561, 3566, 3571, 3577, 3581, 3582, 3584, 3585, 3587, + 3588, 3600, 3608, 3612, 3615, 3619, 3622, 3626, 3630, 3635, + 3641, 3651, 3661, 3669, 3680, 3711 }; #endif @@ -997,12 +997,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-688) +#define YYPACT_NINF (-692) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-492) +#define YYTABLE_NINF (-493) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -1011,120 +1011,120 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 341, 417, 49, 461, 114, 87, 114, 253, 215, 118, - 65, 149, 209, 222, 430, 260, 276, 295, 172, 19, - -36, 360, 157, -688, -688, -688, -688, -688, -688, -688, - -688, 321, -688, -688, 370, -688, -688, -688, -688, -688, - -688, -688, 317, 317, 317, 317, 190, 114, 346, 346, - 346, 346, 346, 187, 439, 114, -30, 452, 465, 475, - 503, -688, -688, -688, -688, -688, -688, -688, 321, -688, - -688, -688, -688, -688, 480, 114, -688, -688, -688, -688, - -688, 458, -688, 152, 257, -688, 482, -688, 337, -688, - -688, 512, -688, 547, 62, 114, 114, 114, 114, -688, - -688, -688, -688, -34, -688, 466, 348, -688, 548, 242, - 423, 559, 353, 359, -688, 67, -688, 552, -688, -688, - 23, 513, -688, 525, 522, 578, 114, 114, 114, 599, - 561, 428, 568, 642, 114, 114, 114, 650, 655, 657, - 597, 665, 665, 565, 46, 124, 259, -688, -688, 509, - -688, -688, 664, -688, 684, -688, -688, -688, 687, -688, - -688, -688, -688, 106, -688, -688, -688, 114, 499, 295, - 665, -688, 554, -688, 702, -688, -688, 719, -688, -688, - 718, -688, 726, 678, -688, -688, -688, -688, 23, -688, - -688, -688, 565, 690, 669, 671, -688, -28, -688, 428, - -688, 114, 755, 24, -688, -688, -688, -688, -688, 707, - -688, 567, -29, -688, 565, -688, -688, 694, 697, 573, - -688, -688, 537, 620, 575, 576, 398, 780, 781, 786, - 787, -688, -688, 789, 586, 418, 590, 594, 628, 628, - -688, 11, 483, -8, -688, 4, 663, -688, -688, -688, - -688, -688, -688, -688, -688, -688, -688, -688, -688, -688, - 593, -688, -688, -688, -118, -688, -688, -41, -688, 76, - -688, -688, -688, 99, -688, 108, -688, -688, -688, -688, - -688, -688, -688, -688, -688, -688, -688, -688, -688, -688, - -688, -688, 800, 799, -688, -688, -688, -688, -688, -688, - 760, 767, 739, 741, 370, -688, -688, 812, 55, -688, - 813, -688, 444, 615, 616, -35, 565, 565, 758, -688, - -36, 53, 777, 627, -688, 251, 629, -688, 114, 565, - 657, -688, 543, 638, 639, 230, -688, -688, -688, -688, - -688, -688, -688, -688, -688, -688, -688, -688, 628, 646, - 727, 770, 565, 565, 164, 300, -688, -688, -688, -688, - 537, -688, 851, 651, 652, 661, 662, 866, 867, 544, - 544, -688, 660, -688, -688, -688, -688, 670, 96, 801, - 565, 876, 565, 565, -26, 673, -2, 628, 628, 628, - 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, - 628, 39, -688, 682, -688, 882, -688, 885, -688, 886, - -688, 888, 852, 704, 692, 701, 891, 712, -688, 714, - -688, 903, -688, 125, 750, 762, -688, -688, 6, 735, - 738, -688, 50, 543, 565, -688, 321, 845, 830, 752, - 282, -688, -688, -688, -36, 954, -688, -688, 957, 565, - 753, -688, 543, -688, 258, 258, 565, -688, 294, 770, - 809, 766, 12, -17, 383, -688, 565, 565, 900, 565, - 974, 40, 565, 768, 296, 749, -688, -688, 665, -688, - -688, -688, 829, 774, 628, 483, 854, -688, 245, 245, - 343, 343, 703, 245, 245, 343, 343, 544, 544, -688, - -688, -688, -688, -688, -688, 779, -688, 783, -688, -688, - -688, 986, 990, -688, 755, 994, -688, 995, -688, -688, - 1002, -688, 1005, 1008, -36, 802, 858, -688, 82, -688, - 231, 597, 565, -688, -688, -688, 543, -688, -688, -688, - -688, -688, -688, -688, -688, -688, -688, -688, 807, -688, - -688, -688, -688, -688, -688, -688, -688, -688, -688, -688, - -688, 808, 818, 819, 822, 823, 824, 262, 825, 755, - 1010, 53, 321, 835, -688, 314, 839, 1041, 1042, 1045, - 1051, -688, 1049, 364, -688, 393, 402, -688, 848, -688, - 845, 565, -688, 565, -38, 119, 628, -88, 846, -688, - -136, -80, 43, 850, -688, 1055, -688, -688, 983, 483, - 245, 853, 419, -688, 628, 1056, 1058, 1014, 1018, 431, - 432, -688, 869, 441, -688, 1062, -688, -688, 1, 6, - 1013, -688, -688, -688, -688, -688, -688, 1015, -688, 1067, - -688, -688, -688, -688, -688, -688, -688, -688, 861, 1022, - -688, 1068, 794, 881, 898, 915, 932, 949, 947, 950, - -688, -688, 333, -688, 948, 755, 446, 870, -688, -688, - 918, -688, 565, -688, -688, -688, -688, -688, -688, 258, - -688, -688, -688, 872, 543, -27, -688, 565, 640, 877, - 1077, 682, 878, 873, 565, -688, 879, 883, 880, 478, - -688, -688, 727, 1079, 1080, -688, -688, 994, 471, -688, - 995, 400, 82, 858, 6, 6, 884, 231, 1037, 1039, - 491, 887, 889, 890, 892, 893, 894, 895, 896, 897, - 1003, 899, 901, 902, 904, 905, 906, 907, 908, 909, - 910, 1004, 911, 912, 913, 914, 916, 917, 919, 920, - 921, 922, 1006, 923, 924, 925, 926, 927, 928, 929, - 930, 931, 933, 1007, 934, 935, 936, 937, 938, 939, - 940, 941, 942, 943, 1009, 944, 945, 946, 951, 952, - 953, 955, 956, 958, 959, 1012, 960, -688, -688, 168, - -688, -688, -688, 496, -688, 995, 1092, 505, -688, -688, - -688, 543, -688, 751, 961, 962, 963, 8, 964, -688, - -688, -688, 1044, 968, 543, -688, 258, -688, -688, -688, - -688, -688, -688, -688, -688, -688, -688, 1105, -688, -688, - -688, 1053, 755, -688, 565, 565, -688, -688, 1120, 1123, - 1137, 1152, 1153, 1154, 1155, 1159, 1162, 1171, 967, 1173, - 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 978, - 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, - 989, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, - 1204, 1000, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, - 1214, 1215, 1011, 1217, 1218, 1219, 1220, 1221, 1222, 1223, - 1224, 1225, 1226, 1023, 1227, -688, -688, 506, 741, -688, - -688, 1231, 56, 1028, 1233, 1234, -688, 515, 1235, 565, - 523, 1029, 543, 1031, 1034, 1035, 1036, 1038, 1040, 1043, - 1046, 1047, 1048, 1239, 1050, 1052, 1054, 1057, 1059, 1060, - 1061, 1063, 1064, 1065, 1241, 1066, 1069, 1070, 1071, 1072, - 1073, 1074, 1075, 1076, 1078, 1243, 1081, 1082, 1083, 1084, - 1085, 1086, 1087, 1088, 1089, 1090, 1244, 1091, 1093, 1094, - 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1246, 1102, 1103, - 1104, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1247, 1113, - -688, -688, 1114, 873, -688, 1115, 1116, -688, 607, 543, - -688, -688, -688, -688, -688, -688, -688, -688, -688, -688, - -688, 1121, -688, -688, -688, -688, -688, -688, -688, -688, - -688, -688, 1122, -688, -688, -688, -688, -688, -688, -688, - -688, -688, -688, 1124, -688, -688, -688, -688, -688, -688, - -688, -688, -688, -688, 1125, -688, -688, -688, -688, -688, - -688, -688, -688, -688, -688, 1126, -688, -688, -688, -688, - -688, -688, -688, -688, -688, -688, 1127, -688, 1253, 1128, - 1255, 81, 1129, 1257, 1258, -688, -688, -688, -688, -688, - -688, -688, -688, -688, 1117, -688, 1130, 873, 741, 1260, - 717, 88, 1131, 1266, 1132, -688, 733, 1269, -688, 873, - 741, 873, -24, 1270, -688, 1237, 1134, -688, 1135, 1248, - 1273, -688, -688, -688, -18, -688, -688, 1138, 1282, 1283, - -688, 1284, -688, 1139, 1136, 1297, 741, 1140, -688, 741, - -688 + 778, 349, 24, 388, 88, 0, 88, 203, 43, 714, + 77, 89, 130, 149, 400, 173, 184, 206, 65, 62, + -28, 237, 34, -692, -692, -692, -692, -692, -692, -692, + -692, 227, -692, -692, 253, -692, -692, -692, -692, -692, + -692, -692, 205, 205, 205, 205, 35, 88, 280, 280, + 280, 280, 280, 128, 310, 88, 22, 357, 361, 422, + 819, -692, -692, -692, -692, -692, -692, -692, 227, -692, + -692, -692, -692, -692, 74, 447, 88, -692, -692, -692, + -692, -692, 335, -692, -32, 266, -692, 458, -692, 244, + -692, -692, 473, -692, 420, 103, 88, 88, 88, 88, + -692, -692, -692, -692, -47, -692, 443, 318, -692, 501, + 276, 268, 507, 327, 329, -692, 70, -692, 528, -692, + -692, 5, 503, -692, 523, 530, 601, 88, 88, 88, + 603, 572, 432, 574, 646, 88, 88, 88, 647, 648, + 649, 588, 650, 650, 509, 102, 116, 175, -692, 448, + -692, 404, -692, -692, 652, -692, 654, -692, -692, -692, + 655, -692, -692, -692, -692, 326, -692, -692, -692, 88, + 453, 206, 650, -692, 500, -692, 657, -692, -692, 664, + -692, -692, 662, -692, 665, 617, -692, -692, -692, -692, + 5, -692, -692, -692, 509, 621, 605, 606, -692, -35, + -692, 432, -692, 88, 671, 91, -692, -692, -692, -692, + -692, 619, -692, 485, -38, -692, 509, -692, -692, 604, + 607, 479, -692, -692, 852, 565, 481, 483, 286, 687, + 689, 690, 691, -692, -692, 693, 493, 273, 495, 497, + 620, 620, -692, 11, 427, 115, -692, 87, 712, -692, + -692, -692, -692, -692, -692, -692, -692, -692, -692, -692, + -692, -692, 496, -692, -692, -692, 187, -692, -692, 194, + -692, 240, -692, -692, -692, 243, -692, 254, -692, -692, + -692, -692, -692, -692, -692, -692, -692, -692, -692, -692, + -692, -692, -692, -692, -692, 704, 702, -692, -692, -692, + -692, -692, -692, 666, 668, 636, 645, 253, -692, -692, + 719, 239, -692, 718, -692, 300, 526, 527, -40, 509, + 509, 670, -692, -28, 57, 682, 532, -692, 196, 535, + -692, 88, 509, 649, -692, 338, 539, 542, 201, -692, + -692, -692, -692, -692, -692, -692, -692, -692, -692, -692, + -692, 620, 547, 803, 663, 509, 509, 23, 328, -692, + -692, -692, -692, 852, -692, 753, 551, 552, 553, 561, + 767, 770, 413, 413, -692, 563, -692, -692, -692, -692, + 568, 142, 701, 509, 775, 509, 509, -26, 573, 179, + 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 620, 620, 620, 12, -692, 576, -692, 776, -692, + 777, -692, 791, -692, 774, 756, 533, 597, 598, 807, + 599, -692, 616, -692, 805, -692, 315, 673, 675, -692, + -692, 8, 672, 612, -692, 90, 338, 509, -692, 227, + 922, 711, 631, 218, -692, -692, -692, -28, 836, -692, + -692, 837, 509, 635, -692, 338, -692, 190, 190, 509, + -692, 259, 663, 697, 644, 94, -16, 396, -692, 509, + 509, 779, 509, 849, 18, 509, 653, 287, 613, -692, + -692, 650, -692, -692, -692, 705, 656, 620, 427, 729, + -692, 615, 615, 114, 114, 773, 615, 615, 114, 114, + 413, 413, -692, -692, -692, -692, -692, -692, 658, -692, + 667, -692, -692, -692, 859, 861, -692, 671, 865, -692, + 866, -692, -692, 872, -692, 879, 880, -28, 677, 484, + -692, 210, -692, 316, 588, 509, -692, -692, -692, 338, + -692, -692, -692, -692, -692, -692, -692, -692, -692, -692, + -692, 683, -692, -692, -692, -692, -692, -692, -692, -692, + -692, -692, -692, -692, 684, 688, 692, 694, 696, 698, + 248, 699, 671, 857, 57, 227, 686, -692, 294, 700, + 891, 892, 896, 914, -692, 912, 298, -692, 322, 323, + -692, 715, -692, 922, 509, -692, 509, -20, 3, 620, + 72, 717, -692, 264, 120, 85, 721, -692, 921, -692, + -692, 853, 427, 615, 723, 337, -692, 620, 920, 928, + 884, 888, 353, 355, -692, 739, 364, -692, 931, -692, + -692, 14, 8, 882, -692, -692, -692, -692, -692, -692, + 883, -692, 937, -692, -692, -692, -692, -692, -692, -692, + -692, 730, 893, -692, 936, 958, 975, 992, 1009, 1026, + 1043, 817, 820, -692, -692, 215, -692, 818, 671, 365, + 740, -692, -692, 792, -692, 509, -692, -692, -692, -692, + -692, -692, 190, -692, -692, -692, 746, 338, -18, -692, + 509, 529, 750, 952, 576, 754, 747, 509, -692, 755, + 757, 758, 366, -692, -692, 803, 955, 956, -692, -692, + 865, 513, -692, 866, 467, 210, 484, 8, 8, 760, + 316, 913, 915, 375, 768, 769, 771, 772, 787, 788, + 797, 822, 823, 946, 826, 829, 830, 840, 841, 844, + 845, 846, 847, 848, 978, 858, 862, 863, 864, 874, + 875, 878, 881, 895, 897, 982, 898, 908, 909, 925, + 926, 929, 930, 932, 938, 939, 1000, 940, 941, 942, + 943, 944, 945, 947, 948, 949, 951, 1001, 953, 954, + 957, 959, 960, 961, 962, 963, 964, 965, 1012, 966, + -692, -692, 25, -692, -692, -692, 376, -692, 866, 1100, + 377, -692, -692, -692, 338, -692, 625, 967, 968, 969, + 20, 970, -692, -692, -692, 904, 899, 338, -692, 190, + -692, -692, -692, -692, -692, -692, -692, -692, -692, -692, + 972, -692, -692, -692, 1062, 671, -692, 509, 509, -692, + -692, 1118, 1119, 1120, 1136, 1142, 1151, 1157, 1160, 1161, + 1163, 971, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, + 1185, 1186, 983, 1187, 1189, 1190, 1191, 1192, 1193, 1194, + 1195, 1196, 1197, 993, 1199, 1200, 1201, 1202, 1203, 1204, + 1205, 1206, 1207, 1208, 1004, 1210, 1211, 1212, 1213, 1214, + 1215, 1216, 1217, 1218, 1219, 1015, 1221, 1222, 1223, 1224, + 1225, 1226, 1227, 1228, 1229, 1230, 1027, 1231, -692, -692, + 383, 645, -692, -692, 977, 138, 1031, 1236, 1237, -692, + 387, 1238, 509, 389, 1032, 338, 1034, 1037, 1038, 1039, + 1040, 1041, 1042, 1044, 1045, 1046, 1245, 1047, 1048, 1049, + 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1259, 1058, 1059, + 1060, 1061, 1063, 1064, 1065, 1066, 1067, 1068, 1264, 1069, + 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1281, + 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, + 1292, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, + 1101, 1302, 1102, -692, -692, 1103, 747, -692, 1104, 1105, + -692, 428, 338, -692, -692, -692, -692, -692, -692, -692, + -692, -692, -692, -692, 1109, -692, -692, -692, -692, -692, + -692, -692, -692, -692, -692, 1110, -692, -692, -692, -692, + -692, -692, -692, -692, -692, -692, 1111, -692, -692, -692, + -692, -692, -692, -692, -692, -692, -692, 1112, -692, -692, + -692, -692, -692, -692, -692, -692, -692, -692, 1113, -692, + -692, -692, -692, -692, -692, -692, -692, -692, -692, 1114, + -692, 1307, 1115, 1308, 45, 1116, 1319, 1320, -692, -692, + -692, -692, -692, -692, -692, -692, -692, 1117, -692, 1121, + 747, 645, 1321, 575, 234, 1122, 1309, 1123, -692, 592, + 1323, -692, 747, 645, 747, -34, 1327, -692, 1286, 1127, + -692, 1128, 1297, 1298, -692, -692, -692, 41, -692, -692, + 1132, 1300, 1301, -692, 1339, -692, 1137, 1135, 1342, 645, + 1138, -692, 645, -692 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1134,152 +1134,152 @@ static const yytype_int16 yydefact[] = { 223, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 223, 0, 489, 3, 5, 10, 12, 13, 11, 6, + 223, 0, 490, 3, 5, 10, 12, 13, 11, 6, 7, 9, 170, 169, 0, 8, 14, 15, 16, 17, - 18, 19, 487, 487, 487, 487, 487, 0, 485, 485, - 485, 485, 485, 216, 0, 0, 0, 0, 0, 0, + 18, 19, 488, 488, 488, 488, 488, 0, 486, 486, + 486, 486, 486, 216, 0, 0, 0, 0, 0, 0, 223, 156, 20, 25, 27, 26, 21, 22, 24, 23, - 28, 29, 30, 31, 0, 0, 237, 238, 236, 242, - 246, 0, 243, 0, 0, 239, 0, 241, 0, 264, - 266, 0, 244, 0, 270, 0, 0, 0, 0, 273, - 274, 275, 278, 216, 276, 0, 222, 224, 0, 0, - 0, 0, 0, 0, 1, 223, 2, 206, 208, 209, - 0, 193, 175, 181, 0, 0, 0, 0, 0, 0, - 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, - 201, 0, 0, 0, 0, 0, 0, 155, 252, 253, - 247, 248, 0, 249, 0, 240, 265, 245, 0, 268, - 267, 271, 272, 0, 297, 295, 296, 0, 0, 0, - 0, 324, 0, 325, 0, 318, 319, 0, 314, 298, - 0, 321, 323, 0, 174, 173, 4, 207, 0, 171, - 172, 192, 0, 0, 189, 0, 32, 0, 33, 154, - 490, 0, 0, 223, 484, 161, 163, 162, 164, 0, - 217, 0, 201, 158, 0, 150, 483, 0, 0, 418, - 422, 425, 426, 0, 0, 0, 0, 0, 0, 0, - 0, 423, 424, 0, 0, 0, 0, 0, 0, 0, - 420, 0, 223, 0, 332, 337, 338, 352, 350, 353, - 351, 354, 355, 347, 342, 341, 340, 348, 349, 339, - 346, 345, 433, 435, 0, 436, 444, 0, 445, 0, - 437, 434, 455, 0, 456, 0, 432, 282, 284, 283, - 280, 281, 287, 289, 288, 285, 286, 292, 294, 293, - 290, 291, 0, 0, 255, 254, 260, 250, 251, 269, - 0, 0, 0, 493, 0, 225, 279, 0, 315, 320, - 299, 322, 0, 0, 0, 195, 0, 0, 191, 486, - 223, 0, 0, 0, 148, 0, 0, 152, 0, 0, - 0, 157, 200, 0, 0, 0, 464, 463, 466, 465, - 468, 467, 470, 469, 472, 471, 474, 473, 0, 0, - 384, 223, 0, 0, 0, 0, 427, 428, 429, 430, - 0, 431, 0, 0, 0, 0, 0, 0, 0, 386, - 385, 461, 458, 452, 442, 447, 450, 0, 0, 0, + 28, 29, 30, 31, 0, 0, 0, 237, 238, 236, + 242, 246, 0, 243, 0, 0, 239, 0, 241, 0, + 264, 266, 0, 244, 0, 270, 0, 0, 0, 0, + 274, 275, 276, 279, 216, 277, 0, 222, 224, 0, + 0, 0, 0, 0, 0, 1, 223, 2, 206, 208, + 209, 0, 193, 175, 181, 0, 0, 0, 0, 0, + 0, 0, 154, 0, 0, 0, 0, 0, 0, 0, + 0, 201, 0, 0, 0, 0, 0, 0, 155, 0, + 252, 253, 247, 248, 0, 249, 0, 240, 265, 245, + 0, 268, 267, 271, 272, 0, 298, 296, 297, 0, + 0, 0, 0, 325, 0, 326, 0, 319, 320, 0, + 315, 299, 0, 322, 324, 0, 174, 173, 4, 207, + 0, 171, 172, 192, 0, 0, 189, 0, 32, 0, + 33, 154, 491, 0, 0, 223, 485, 161, 163, 162, + 164, 0, 217, 0, 201, 158, 0, 150, 484, 0, + 0, 419, 423, 426, 427, 0, 0, 0, 0, 0, + 0, 0, 0, 424, 425, 0, 0, 0, 0, 0, + 0, 0, 421, 0, 223, 0, 333, 338, 339, 353, + 351, 354, 352, 355, 356, 348, 343, 342, 341, 349, + 350, 340, 347, 346, 434, 436, 0, 437, 445, 0, + 446, 0, 438, 435, 456, 0, 457, 0, 433, 283, + 285, 284, 281, 282, 288, 290, 289, 286, 287, 293, + 295, 294, 291, 292, 273, 0, 0, 255, 254, 260, + 250, 251, 269, 0, 0, 0, 494, 0, 225, 280, + 0, 316, 321, 300, 323, 0, 0, 0, 195, 0, + 0, 191, 487, 223, 0, 0, 0, 148, 0, 0, + 152, 0, 0, 0, 157, 200, 0, 0, 0, 465, + 464, 467, 466, 469, 468, 471, 470, 473, 472, 475, + 474, 0, 0, 385, 223, 0, 0, 0, 0, 428, + 429, 430, 431, 0, 432, 0, 0, 0, 0, 0, + 0, 0, 387, 386, 462, 459, 453, 443, 448, 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 441, 0, 446, 0, 449, 0, 457, 0, - 460, 0, 261, 256, 0, 0, 0, 0, 277, 0, - 326, 0, 316, 0, 0, 0, 178, 177, 0, 197, - 180, 182, 187, 188, 0, 176, 35, 0, 0, 0, - 0, 38, 42, 43, 223, 0, 37, 153, 0, 0, - 151, 165, 160, 159, 0, 0, 0, 379, 0, 223, - 0, 0, 0, 0, 0, 409, 0, 0, 0, 0, - 0, 0, 0, 199, 0, 0, 344, 343, 0, 333, - 336, 402, 403, 0, 0, 223, 0, 383, 393, 394, - 397, 398, 0, 400, 392, 395, 396, 388, 387, 389, - 390, 391, 419, 421, 443, 0, 448, 0, 451, 459, - 462, 0, 0, 257, 0, 0, 329, 0, 226, 317, - 0, 300, 0, 0, 223, 194, 210, 212, 221, 213, - 0, 201, 0, 185, 186, 184, 190, 46, 49, 50, - 47, 48, 51, 52, 68, 53, 55, 54, 71, 58, - 59, 60, 56, 57, 61, 62, 63, 64, 65, 66, - 67, 0, 0, 0, 0, 0, 0, 493, 0, 0, - 495, 0, 36, 0, 149, 0, 0, 0, 0, 0, - 0, 479, 0, 0, 475, 0, 0, 380, 0, 414, - 0, 0, 407, 0, 0, 0, 0, 0, 0, 418, - 0, 0, 0, 0, 369, 0, 454, 453, 0, 223, - 401, 0, 0, 382, 0, 0, 0, 262, 258, 0, - 0, 40, 498, 0, 496, 301, 327, 328, 0, 0, - 0, 230, 231, 232, 233, 229, 234, 0, 219, 0, - 214, 373, 371, 374, 372, 375, 376, 377, 196, 205, - 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 141, 142, 145, 138, 145, 0, 0, 0, 34, 39, - 504, 334, 0, 481, 480, 478, 477, 482, 168, 0, - 166, 381, 415, 0, 411, 0, 410, 0, 0, 0, - 0, 0, 0, 199, 0, 367, 0, 0, 0, 0, - 416, 405, 404, 0, 0, 331, 330, 0, 0, 492, - 0, 0, 221, 211, 0, 0, 218, 0, 0, 203, + 0, 0, 0, 0, 0, 442, 0, 447, 0, 450, + 0, 458, 0, 461, 0, 261, 256, 0, 0, 0, + 0, 278, 0, 327, 0, 317, 0, 0, 0, 178, + 177, 0, 197, 180, 182, 187, 188, 0, 176, 35, + 0, 0, 0, 0, 38, 42, 43, 223, 0, 37, + 153, 0, 0, 151, 165, 160, 159, 0, 0, 0, + 380, 0, 223, 0, 0, 0, 0, 0, 410, 0, + 0, 0, 0, 0, 0, 0, 199, 0, 0, 345, + 344, 0, 334, 337, 403, 404, 0, 0, 223, 0, + 384, 394, 395, 398, 399, 0, 401, 393, 396, 397, + 389, 388, 390, 391, 392, 420, 422, 444, 0, 449, + 0, 452, 460, 463, 0, 0, 257, 0, 0, 330, + 0, 226, 318, 0, 301, 0, 0, 223, 194, 210, + 212, 221, 213, 0, 201, 0, 185, 186, 184, 190, + 46, 49, 50, 47, 48, 51, 52, 68, 53, 55, + 54, 71, 58, 59, 60, 56, 57, 61, 62, 63, + 64, 65, 66, 67, 0, 0, 0, 0, 0, 0, + 494, 0, 0, 496, 0, 36, 0, 149, 0, 0, + 0, 0, 0, 0, 480, 0, 0, 476, 0, 0, + 381, 0, 415, 0, 0, 408, 0, 0, 0, 0, + 0, 0, 419, 0, 0, 0, 0, 370, 0, 455, + 454, 0, 223, 402, 0, 0, 383, 0, 0, 0, + 262, 258, 0, 0, 40, 499, 0, 497, 302, 328, + 329, 0, 0, 0, 230, 231, 232, 233, 229, 234, + 0, 219, 0, 214, 374, 372, 375, 373, 376, 377, + 378, 196, 205, 183, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 141, 142, 145, 138, 145, 0, 0, + 0, 34, 39, 505, 335, 0, 482, 481, 479, 478, + 483, 168, 0, 166, 382, 416, 0, 412, 0, 411, + 0, 0, 0, 0, 0, 0, 199, 0, 368, 0, + 0, 0, 0, 417, 406, 405, 0, 0, 332, 331, + 0, 0, 493, 0, 0, 221, 211, 0, 0, 218, + 0, 0, 203, 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, 0, 0, 0, 0, 143, 140, 0, - 139, 45, 44, 0, 147, 0, 0, 0, 476, 413, - 408, 412, 399, 0, 0, 199, 0, 0, 0, 438, - 440, 439, 0, 0, 198, 370, 0, 417, 406, 263, - 259, 41, 499, 500, 502, 501, 497, 0, 302, 215, - 227, 0, 0, 378, 0, 0, 179, 70, 0, 0, + 143, 140, 0, 139, 45, 44, 0, 147, 0, 0, + 0, 477, 414, 409, 413, 400, 0, 0, 199, 0, + 0, 0, 439, 441, 440, 0, 0, 198, 371, 0, + 418, 407, 263, 259, 41, 500, 501, 503, 502, 498, + 0, 303, 215, 227, 0, 0, 379, 0, 0, 179, + 70, 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, 144, 146, + 0, 494, 336, 459, 0, 0, 0, 0, 0, 369, + 0, 304, 0, 0, 204, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 144, 146, 0, 493, 335, - 458, 0, 0, 0, 0, 0, 368, 0, 303, 0, - 0, 204, 202, 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, - 494, 503, 0, 199, 365, 0, 199, 167, 0, 228, - 220, 69, 75, 76, 73, 74, 77, 78, 79, 80, - 81, 0, 72, 119, 120, 117, 118, 121, 122, 123, - 124, 125, 0, 116, 86, 87, 84, 85, 88, 89, - 90, 91, 92, 0, 83, 97, 98, 95, 96, 99, - 100, 101, 102, 103, 0, 94, 130, 131, 128, 129, - 132, 133, 134, 135, 136, 0, 127, 108, 109, 106, - 107, 110, 111, 112, 113, 114, 0, 105, 0, 0, - 0, 0, 0, 0, 0, 305, 304, 310, 82, 126, - 93, 104, 137, 115, 199, 366, 0, 199, 493, 311, - 306, 0, 0, 0, 0, 364, 0, 0, 307, 199, - 493, 199, 493, 0, 312, 308, 0, 360, 0, 0, - 0, 363, 313, 309, 493, 356, 362, 0, 0, 0, - 359, 0, 358, 0, 0, 0, 493, 0, 361, 493, - 357 + 0, 0, 0, 495, 504, 0, 199, 366, 0, 199, + 167, 0, 228, 220, 69, 75, 76, 73, 74, 77, + 78, 79, 80, 81, 0, 72, 119, 120, 117, 118, + 121, 122, 123, 124, 125, 0, 116, 86, 87, 84, + 85, 88, 89, 90, 91, 92, 0, 83, 97, 98, + 95, 96, 99, 100, 101, 102, 103, 0, 94, 130, + 131, 128, 129, 132, 133, 134, 135, 136, 0, 127, + 108, 109, 106, 107, 110, 111, 112, 113, 114, 0, + 105, 0, 0, 0, 0, 0, 0, 0, 306, 305, + 311, 82, 126, 93, 104, 137, 115, 199, 367, 0, + 199, 494, 312, 307, 0, 0, 0, 0, 365, 0, + 0, 308, 199, 494, 199, 494, 0, 313, 309, 0, + 361, 0, 0, 0, 364, 314, 310, 494, 357, 363, + 0, 0, 0, 360, 0, 359, 0, 0, 0, 494, + 0, 362, 494, 358 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -688, -688, -688, 1146, 1264, 97, -688, -688, 776, -500, - 748, -688, 688, 667, -688, -504, 200, 264, 1150, -688, - 285, -688, 1021, 299, 315, -3, 1332, -19, 1118, 1165, - -66, -688, -688, 826, -688, -688, -688, -688, -688, -688, - -687, -204, -688, -688, -688, -688, 725, 64, 14, 643, - -688, -688, 1194, -688, -688, 325, 338, 361, 368, 373, - -688, -688, -190, -688, 976, -214, -201, -511, -506, -505, - -498, -496, -480, 644, -688, -688, -688, -688, -688, -688, - 1016, -688, -688, 965, 570, -237, -688, -688, -688, 668, - -688, -688, -688, -688, 672, 966, 969, -181, -688, -688, - -688, -688, 1133, -448, 683, -131, 557, 574, -688, -688, - -564, -688, 562, 658, -688 + -692, -692, -692, 1232, 1287, 158, -692, -692, 780, -500, + 759, -692, 685, 695, -692, -507, 267, 270, 1148, -692, + 278, -692, 1018, 289, 295, -2, 1333, -19, 1057, 1165, + -88, -692, -692, 821, -692, -692, -692, -692, -692, -692, + -691, -205, -692, -692, -692, -692, 725, -74, 16, 643, + -692, -692, 1188, -692, -692, 296, 301, 302, 303, 314, + -692, -692, -192, -692, 980, -216, -202, -509, -493, -492, + -489, -488, -486, 640, -692, -692, -692, -692, -692, -692, + 1008, -692, -692, 887, 577, -239, -692, -692, -692, 676, + -692, -692, -692, -692, 678, 973, 974, -96, -692, -692, + -692, -692, 1131, -451, 703, -135, 471, 508, -692, -692, + -567, -692, 569, 659, -692 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 21, 22, 23, 61, 24, 440, 620, 441, 442, - 567, 662, 663, 791, 443, 325, 25, 26, 203, 27, - 28, 212, 213, 29, 30, 31, 32, 33, 122, 189, - 123, 194, 430, 431, 535, 318, 435, 192, 429, 531, - 603, 215, 836, 719, 120, 525, 526, 527, 528, 640, - 34, 106, 107, 529, 637, 35, 36, 37, 38, 39, - 40, 41, 243, 450, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 647, 648, 253, 254, 255, 256, 257, - 355, 258, 259, 260, 261, 262, 808, 263, 264, 265, - 266, 267, 268, 269, 270, 375, 376, 271, 272, 273, - 274, 275, 276, 583, 584, 217, 133, 125, 116, 130, - 418, 668, 623, 624, 446 + 0, 21, 22, 23, 61, 24, 443, 623, 444, 445, + 570, 665, 666, 794, 446, 328, 25, 26, 205, 27, + 28, 214, 215, 29, 30, 31, 32, 33, 123, 191, + 124, 196, 433, 434, 538, 321, 438, 194, 432, 534, + 606, 217, 839, 722, 121, 528, 529, 530, 531, 643, + 34, 107, 108, 532, 640, 35, 36, 37, 38, 39, + 40, 41, 245, 453, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 650, 651, 255, 256, 257, 258, 259, + 358, 260, 261, 262, 263, 264, 811, 265, 266, 267, + 268, 269, 270, 271, 272, 378, 379, 273, 274, 275, + 276, 277, 278, 586, 587, 219, 134, 126, 117, 131, + 421, 671, 626, 627, 449 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1287,298 +1287,288 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 332, 113, 315, 664, 374, 68, 813, 585, 331, 53, - 619, 218, 354, 371, 372, 621, 371, 372, 54, 641, - 56, 117, 350, 118, 642, 643, 320, 167, 378, 119, - 104, 121, 644, 109, 645, 110, 214, 369, 370, 306, - 428, 17, 502, 599, 686, 141, 142, 693, 483, 277, - 646, 278, 279, 417, 190, 800, 437, 68, 381, 417, - 993, 131, 326, 382, 383, 666, 590, -488, 591, 140, - 486, 382, 383, 401, 1, 691, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 638, 47, 1087, 402, 149, - 11, 12, 13, 403, 1099, 421, 14, 15, 16, 95, - 1109, 17, 432, 433, 422, 62, 1118, 280, 694, 163, - 164, 165, 166, 382, 383, 452, 300, 53, 913, 533, - 534, 694, 314, 689, 382, 383, 487, 282, 484, 283, - 284, 692, 301, 302, 382, 383, 639, 1110, 462, 463, - 197, 198, 199, 1119, 17, 458, 694, 350, 206, 207, - 208, 74, 75, 694, 76, 382, 383, 62, 520, 77, - 78, 793, 55, 382, 383, 404, 504, 521, 481, 482, - 405, 20, 220, 221, 222, 138, 380, 143, 438, 321, - 439, 303, 330, 96, 327, 285, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 379, 382, 383, 380, 687, 111, 641, 821, 63, 712, - 281, 642, 643, 524, 373, 323, 241, 373, 60, 644, - 536, 645, 1, 377, 2, 3, 4, 5, 6, 7, - 188, 9, 18, 219, 220, 221, 222, 646, 11, 12, - 13, 503, 240, 97, 14, 15, 16, 382, 383, 19, - 353, -491, 594, 595, 161, 597, 98, 162, 601, 575, - 63, 124, 287, 102, 288, 289, 586, 227, 228, 229, - 382, 383, 64, 230, 20, 79, 80, 81, 82, 103, - 83, 84, 406, 610, 85, 86, 87, 407, 286, 88, - 89, 90, 17, 65, 456, 612, 91, 92, 105, 231, - 232, 233, 223, 224, 477, 408, 1069, 66, 93, 1072, - 409, 225, 94, 226, 410, 382, 383, 436, 432, 411, - 290, 151, 152, 67, 64, 577, 578, 649, 920, 227, - 228, 229, 461, 69, 658, 230, 579, 580, 581, 417, - 108, 117, 451, 118, 991, 65, 70, 608, 1, 119, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 66, - 114, 231, 232, 233, 11, 12, 13, 115, 917, 71, - 14, 15, 16, 241, 386, 67, 72, 684, 121, 685, - 18, 73, 465, 234, 466, 69, 467, 659, 124, 660, - 661, -492, -492, 389, 390, 688, 138, 1092, 70, -492, - 1094, 219, 220, 221, 222, 658, 235, 235, 236, 236, - 237, 237, 1106, 702, 1108, 57, 58, 132, 17, 699, - 59, 71, 20, 291, 171, 172, 153, 154, 72, 173, - 238, 239, 240, 73, 827, 241, 828, 242, 457, 582, - 588, 572, -492, 394, 395, 396, 397, 398, 399, 400, - 42, 43, 44, 139, 806, 144, 45, 46, 659, 447, - 660, 661, 448, 789, 150, 592, 611, 593, 145, 467, - 223, 224, 386, 801, 822, 823, 824, 825, 146, 225, - 814, 226, 797, 148, 353, 155, 219, 220, 221, 222, - 570, -492, -492, 571, 48, 49, 50, 227, 228, 229, - 51, 52, 587, 230, 604, 380, 18, 605, 804, 156, - 1, 811, 2, 3, 4, 5, 6, 7, 157, 9, - 168, 628, 671, 19, 1095, 380, 11, 12, 13, 231, - 232, 233, 14, 15, 16, 363, 1107, 364, 1111, 365, - 366, -492, -492, 396, 397, 398, 399, 400, 20, 292, - 1120, 234, 293, 294, 170, 223, 224, 295, 296, 169, - 17, 184, 1128, 183, 225, 1130, 226, 185, 219, 220, - 221, 222, 678, 187, 235, 679, 236, 191, 237, 174, - 17, 196, 227, 228, 229, 99, 100, 101, 230, 175, - 698, 193, 176, 177, 195, 178, 179, 180, 238, 239, - 240, 680, 200, 241, 679, 242, 134, 135, 136, 137, - 681, 181, 182, 380, 231, 232, 233, 126, 127, 128, - 129, 922, 201, 219, 220, 221, 222, 701, 424, 425, - 380, 219, 220, 221, 222, 202, 234, 223, 224, 705, - 706, 204, 448, 707, 921, 205, 225, 1073, 226, 709, - 1074, 1075, 710, 209, 794, 1076, 1077, 448, 210, 235, - 211, 236, 214, 237, 227, 228, 229, 297, 18, 216, - 230, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 238, 239, 240, 818, 298, 241, 380, - 242, 299, 348, 349, 382, 383, 231, 232, 233, 837, - 348, 225, 838, 226, 906, 999, 304, 448, 308, 225, - 20, 226, 460, 909, 990, 307, 380, 710, 234, 227, - 228, 229, 309, 997, 310, 230, 679, 227, 228, 229, - 311, 1000, 312, 230, 448, 384, 317, 385, 158, 159, - 160, 235, 316, 236, 319, 237, 398, 399, 400, 512, - 513, 231, 232, 233, 606, 607, 371, 910, 324, 231, - 232, 233, 1097, 1098, 329, 238, 239, 240, 328, 386, - 241, 333, 242, 234, 334, 460, 1103, 1104, 830, 831, - 335, 234, 351, 352, 356, 357, 387, 388, 389, 390, - 358, 359, 386, 362, 392, 360, 235, 367, 236, 460, - 237, 368, 401, 412, 235, 413, 236, 414, 237, 387, - 388, 389, 390, 391, 415, 416, 420, 392, 417, 423, - 238, 239, 240, 426, 427, 241, 434, 242, 238, 239, - 240, 444, 386, 241, 445, 242, 449, 393, 394, 395, - 396, 397, 398, 399, 400, 454, 455, 17, 802, 387, - 388, 389, 390, 459, 614, 468, 386, 392, 469, 470, - 393, 394, 395, 396, 397, 398, 399, 400, 471, 472, - 473, 474, 475, 387, 388, 389, 390, 478, 476, 480, - 485, 392, 721, 722, 723, 724, 725, 241, 505, 726, - 727, 507, 509, 510, 516, 511, 728, 729, 730, 514, - 393, 394, 395, 396, 397, 398, 399, 400, 515, 519, - 530, 522, 731, 630, -235, 631, 632, 633, 634, 517, - 635, 636, 518, 523, 393, 394, 395, 396, 397, 398, - 399, 400, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 532, - 554, 555, 556, 557, 558, 559, 568, 573, 560, 569, - 574, 561, 562, 484, 576, 563, 564, 565, 566, 732, - 733, 734, 735, 736, 589, 596, 737, 738, 598, 602, - 382, 609, 613, 739, 740, 741, 743, 744, 745, 746, - 747, 615, 617, 748, 749, 616, 618, 437, 622, 742, - 750, 751, 752, 754, 755, 756, 757, 758, 625, 626, - 759, 760, 627, 629, 651, 652, 753, 761, 762, 763, - 765, 766, 767, 768, 769, 653, 654, 770, 771, 655, - 656, 657, 665, 764, 772, 773, 774, 776, 777, 778, - 779, 780, 667, 670, 781, 782, 672, 673, 674, 675, - 775, 783, 784, 785, 676, 677, 682, 690, 695, 696, - 697, 700, 607, 606, 703, 704, 708, 786, 711, 714, - 716, 715, 717, 718, 720, 787, 788, 795, 789, 796, - 799, 805, 803, 807, 812, 819, 820, 815, 817, 834, - 816, 832, 835, 848, 859, 908, 870, 881, 839, 892, - 840, 841, 903, 842, 843, 844, 845, 846, 847, 694, - 849, 918, 850, 851, 919, 852, 853, 854, 855, 856, - 857, 858, 860, 861, 862, 863, 923, 864, 865, 924, - 866, 867, 868, 869, 871, 872, 873, 874, 875, 876, - 877, 878, 879, 925, 880, 882, 883, 884, 885, 886, - 887, 888, 889, 890, 891, 893, 894, 895, 926, 927, - 928, 929, 896, 897, 898, 930, 899, 900, 931, 901, - 902, 904, 911, 912, 914, 915, 916, 932, 933, 934, - 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, - 945, 946, 947, 948, 949, 950, 951, 952, 953, 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, 979, 980, 981, 982, 983, 984, - 985, 986, 987, 989, 988, 992, 994, 995, 996, 1001, - 380, 998, 1002, 1003, 1004, 1011, 1005, 1022, 1006, 1033, - 1044, 1007, 1055, 1066, 1008, 1009, 1010, 1084, 1012, 1086, - 1013, 186, 1014, 1089, 1090, 1015, 1096, 1016, 1017, 1018, - 1101, 1019, 1020, 1021, 1023, 1105, 1112, 1024, 1025, 1026, - 1027, 1028, 1029, 1030, 1031, 1113, 1032, 1124, 1116, 1034, - 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1045, - 1127, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, - 1056, 1057, 1058, 1117, 1059, 1060, 1061, 1062, 1063, 1064, - 1065, 1067, 1122, 1123, 147, 1068, 1070, 1071, 1091, 1078, - 1079, 792, 1080, 1081, 1082, 1083, 1085, 1088, 683, 1100, - 1102, 1093, 1114, 1115, 1126, 1121, 1125, 669, 1129, 322, - 790, 453, 112, 313, 713, 829, 479, 907, 650, 905, - 809, 833, 798, 305, 810, 0, 361, 0, 826, 0, - 464, 506, 0, 0, 0, 0, 508, 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, 419, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 600 + 335, 114, 318, 667, 377, 816, 68, 588, 220, 334, + 622, 53, 357, 122, 169, 505, 374, 375, 624, 323, + 54, 602, 56, 353, 644, 374, 375, 216, 381, 222, + 223, 224, 105, 192, 118, 431, 119, 309, 372, 373, + 645, 646, 120, 420, 647, 648, 60, 649, 486, 17, + 1, 1090, 2, 3, 4, 5, 6, 7, 68, 9, + 440, 47, 689, 132, 803, 669, 11, 12, 13, 594, + -489, 141, 14, 15, 16, 55, 110, 1, 111, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 690, 696, + 1112, 53, 151, 11, 12, 13, -492, 142, 143, 14, + 15, 16, 317, 435, 436, 279, 125, 280, 281, 356, + 697, 96, 165, 166, 167, 168, 455, 916, 420, 284, + 17, 285, 286, 97, 229, 230, 231, 1113, 487, 329, + 232, 385, 386, 385, 386, 385, 386, 153, 154, 465, + 466, 384, 996, 199, 200, 201, 461, 17, 593, 353, + 697, 208, 209, 210, 385, 386, 233, 234, 235, 536, + 537, 796, 139, 282, 98, 1121, 62, 507, 17, 484, + 485, 383, 324, 333, 385, 386, 103, 287, 289, 20, + 290, 291, 441, 99, 442, 306, 330, 104, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 1122, 697, 221, 222, 223, 224, 18, 106, + 824, 644, 190, 641, 506, 527, 243, 376, 62, 326, + 242, 539, 715, 385, 386, 380, 376, 645, 646, 144, + 243, 647, 648, 109, 649, 18, 292, 115, 385, 386, + 1102, 385, 386, 389, 116, 385, 386, 118, 112, 119, + 20, 489, 19, 597, 598, 120, 600, 580, 581, 604, + 578, 122, -493, -493, 642, 459, 283, 589, 582, 583, + 584, 385, 386, 225, 226, 63, 125, 20, 64, 424, + 288, 149, 227, 692, 228, 613, 65, 661, 425, 221, + 222, 223, 224, 385, 386, 163, 615, 66, 164, 697, + 229, 230, 231, 67, 69, 1072, 232, 490, 1075, 70, + 71, 72, -493, -493, 399, 400, 401, 402, 403, 435, + 661, 439, 73, 382, 140, 420, 383, 63, 923, 652, + 64, 695, 233, 234, 235, 464, 303, 139, 65, 293, + 662, 152, 663, 664, 994, 792, 611, 454, 523, 66, + 480, 133, 304, 305, 236, 67, 69, 524, 225, 226, + 145, 70, 71, 72, 146, 57, 58, 227, 920, 228, + 59, 585, 356, 662, 73, 663, 664, 237, 687, 238, + 688, 239, 42, 43, 44, 229, 230, 231, 45, 46, + 366, 232, 367, 405, 368, 369, 1095, 691, 406, 1097, + 407, 240, 241, 242, 450, 408, 243, 451, 244, 460, + 468, 1109, 469, 1111, 470, 705, 158, 233, 234, 235, + 702, 48, 49, 50, 176, 147, 573, 51, 52, 574, + 221, 222, 223, 224, 177, 155, 156, 178, 179, 236, + 180, 181, 182, 591, 295, 575, 409, 296, 297, 411, + 150, 410, 298, 299, 412, 809, 183, 184, 173, 174, + 413, 157, 237, 175, 238, 414, 239, 590, 1076, 614, + 383, 1077, 1078, 404, 804, 694, 1079, 1080, 595, 159, + 596, 817, 470, 800, 427, 428, 240, 241, 242, 385, + 386, 243, 237, 244, 238, 607, 239, 170, 608, 225, + 226, 830, 674, 831, 17, 383, 681, 172, 227, 682, + 228, 185, 221, 222, 223, 224, 825, 826, 827, 828, + 135, 136, 137, 138, 1098, 631, 229, 230, 231, 171, + 683, 684, 232, 682, 383, 186, 1110, 187, 1114, 633, + -235, 634, 635, 636, 637, 704, 638, 639, 383, 189, + 1123, 127, 128, 129, 130, 100, 101, 102, 233, 234, + 235, 708, 1131, 709, 451, 1133, 710, 193, 221, 222, + 223, 224, 712, 797, 821, 713, 451, 383, 515, 516, + 236, 225, 226, 840, 909, 912, 841, 451, 383, 195, + 227, 993, 228, 701, 713, 1000, 807, 1003, 682, 814, + 451, 463, 197, 237, 198, 238, 202, 239, 229, 230, + 231, 160, 161, 162, 232, 401, 402, 403, 609, 610, + 1100, 1101, 925, 221, 222, 223, 224, 240, 241, 242, + 374, 913, 243, 203, 244, 1106, 1107, 351, 352, 204, + 233, 234, 235, 833, 834, 924, 227, 206, 228, 207, + 211, 212, 213, 216, 218, 300, 294, 301, 389, 302, + 307, 310, 236, 311, 229, 230, 231, 312, 313, 314, + 232, 315, 320, 319, 327, 390, 391, 392, 393, 322, + 331, 336, 332, 395, 337, 237, 338, 238, 354, 239, + 355, 359, 351, 360, 361, 362, 233, 234, 235, 363, + 365, 227, 370, 228, 371, 404, 1002, 415, 416, 240, + 241, 242, 419, 417, 243, 418, 244, 74, 236, 229, + 230, 231, 420, 423, 426, 232, 396, 397, 398, 399, + 400, 401, 402, 403, 429, 430, 447, 805, 437, 448, + 17, 237, 452, 238, 389, 239, 457, 75, 76, 458, + 77, 233, 234, 235, 462, 78, 79, 471, 472, 473, + 474, -493, -493, 392, 393, 240, 241, 242, 475, -493, + 243, 476, 244, 236, 477, 478, 479, 481, 483, 513, + 488, 243, 508, 510, 387, 1, 388, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 237, 512, 238, 514, + 239, 11, 12, 13, 517, 518, 520, 14, 15, 16, + 519, 522, -493, 397, 398, 399, 400, 401, 402, 403, + 240, 241, 242, 535, 521, 243, 1, 244, 2, 3, + 4, 5, 6, 7, 525, 9, 526, 571, 572, 576, + 577, 389, 11, 12, 13, 463, 579, 533, 14, 15, + 16, 487, 592, 601, 599, 17, 385, 616, 390, 391, + 392, 393, 394, 612, 605, 620, 395, 621, 440, 625, + 618, 80, 81, 82, 83, 463, 84, 85, 628, 619, + 86, 87, 88, 629, 630, 89, 90, 91, 632, 670, + 654, 655, 92, 93, 673, 656, 17, 676, 677, 657, + 678, 658, 389, 659, 94, 660, 668, 675, 95, 396, + 397, 398, 399, 400, 401, 402, 403, 679, 680, 390, + 391, 392, 393, 685, 617, 699, 610, 395, 693, 698, + 700, 703, 389, 609, 706, 707, 711, 714, 717, 718, + 719, 720, 723, 18, 721, 790, 791, 798, 792, 390, + 391, 392, 393, 799, 802, 806, 808, 395, 815, 810, + 19, 822, 823, 818, 819, 837, 820, 835, 838, 697, + 396, 397, 398, 399, 400, 401, 402, 403, 921, 842, + 843, 995, 844, 845, 18, 20, 339, 340, 341, 342, + 343, 344, 345, 346, 347, 348, 349, 350, 846, 847, + 396, 397, 398, 399, 400, 401, 402, 403, 848, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 20, 557, 558, 559, + 560, 561, 562, 849, 850, 563, 851, 852, 564, 565, + 853, 854, 566, 567, 568, 569, 724, 725, 726, 727, + 728, 855, 856, 729, 730, 857, 858, 859, 860, 861, + 731, 732, 733, 735, 736, 737, 738, 739, 862, 863, + 740, 741, 873, 864, 865, 866, 734, 742, 743, 744, + 746, 747, 748, 749, 750, 867, 868, 751, 752, 869, + 884, 895, 870, 745, 753, 754, 755, 757, 758, 759, + 760, 761, 906, 911, 762, 763, 871, 919, 872, 874, + 756, 764, 765, 766, 768, 769, 770, 771, 772, 875, + 876, 773, 774, 922, 926, 927, 928, 767, 775, 776, + 777, 779, 780, 781, 782, 783, 877, 878, 784, 785, + 879, 880, 929, 881, 778, 786, 787, 788, 930, 882, + 883, 885, 886, 887, 888, 889, 890, 931, 891, 892, + 893, 789, 894, 932, 896, 897, 933, 934, 898, 935, + 899, 900, 901, 902, 903, 904, 905, 907, 914, 915, + 917, 918, 936, 937, 938, 939, 940, 941, 942, 943, + 944, 945, 946, 948, 947, 949, 950, 951, 952, 953, + 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, 979, 980, 981, 982, 983, + 984, 985, 986, 987, 988, 989, 990, 992, 991, 997, + 998, 999, 1004, 383, 1001, 1005, 1006, 1007, 1008, 1009, + 1010, 1014, 1011, 1012, 1013, 1015, 1016, 1017, 1018, 1019, + 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, + 1036, 1030, 1031, 1032, 1033, 1034, 1035, 1037, 1038, 1039, + 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, + 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, + 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1069, 1068, + 1070, 1087, 1089, 1104, 1071, 1073, 1074, 1081, 1082, 1083, + 1084, 1085, 1086, 1088, 1091, 1092, 1093, 1099, 1094, 1108, + 1103, 1105, 1096, 1115, 1116, 1117, 1118, 1119, 1120, 1124, + 1125, 1126, 1127, 1129, 1128, 1130, 1132, 148, 188, 325, + 793, 456, 686, 113, 672, 316, 653, 716, 832, 308, + 836, 603, 795, 482, 422, 467, 364, 910, 0, 908, + 0, 812, 829, 813, 0, 0, 0, 0, 0, 0, + 0, 509, 0, 0, 511, 801 }; static const yytype_int16 yycheck[] = { - 214, 20, 192, 567, 241, 8, 693, 455, 212, 3, - 514, 142, 226, 5, 6, 515, 5, 6, 4, 530, - 6, 20, 223, 22, 530, 530, 54, 61, 242, 28, - 16, 8, 530, 14, 530, 16, 65, 238, 239, 170, - 75, 77, 3, 3, 82, 75, 76, 4, 74, 3, - 530, 5, 6, 77, 120, 82, 3, 60, 54, 77, - 4, 47, 38, 151, 152, 569, 54, 0, 85, 55, - 72, 151, 152, 209, 7, 211, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 3, 37, 6, 206, 75, - 23, 24, 25, 211, 6, 40, 29, 30, 31, 34, - 124, 77, 316, 317, 49, 8, 124, 61, 65, 95, - 96, 97, 98, 151, 152, 329, 10, 3, 805, 69, - 70, 65, 188, 211, 151, 152, 128, 3, 154, 5, - 6, 211, 26, 27, 151, 152, 54, 161, 352, 353, - 126, 127, 128, 161, 77, 335, 65, 348, 134, 135, - 136, 33, 34, 65, 36, 151, 152, 60, 33, 41, - 42, 665, 75, 151, 152, 206, 403, 42, 382, 383, - 211, 207, 4, 5, 6, 209, 211, 207, 125, 207, - 127, 167, 211, 34, 203, 61, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 208, 151, 152, 211, 85, 186, 717, 707, 8, 208, - 164, 717, 717, 207, 206, 201, 205, 206, 3, 717, - 434, 717, 7, 242, 9, 10, 11, 12, 13, 14, - 207, 16, 165, 3, 4, 5, 6, 717, 23, 24, - 25, 202, 202, 34, 29, 30, 31, 151, 152, 182, - 86, 61, 466, 467, 192, 469, 34, 195, 472, 449, - 60, 71, 3, 3, 5, 6, 456, 99, 100, 101, - 151, 152, 8, 105, 207, 157, 158, 159, 160, 3, - 162, 163, 206, 484, 166, 167, 168, 211, 164, 171, - 172, 173, 77, 8, 64, 485, 178, 179, 3, 131, - 132, 133, 72, 73, 208, 206, 993, 8, 190, 996, - 211, 81, 194, 83, 206, 151, 152, 320, 532, 211, - 61, 169, 170, 8, 60, 67, 68, 531, 832, 99, - 100, 101, 351, 8, 72, 105, 78, 79, 80, 77, - 168, 20, 328, 22, 908, 60, 8, 478, 7, 28, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 60, - 0, 131, 132, 133, 23, 24, 25, 210, 816, 8, - 29, 30, 31, 205, 129, 60, 8, 591, 8, 593, - 165, 8, 82, 153, 84, 60, 86, 125, 71, 127, - 128, 146, 147, 148, 149, 596, 209, 1084, 60, 154, - 1087, 3, 4, 5, 6, 72, 176, 176, 178, 178, - 180, 180, 1099, 614, 1101, 162, 163, 71, 77, 609, - 167, 60, 207, 164, 182, 183, 169, 170, 60, 187, - 200, 201, 202, 60, 34, 205, 36, 207, 208, 181, - 459, 444, 197, 198, 199, 200, 201, 202, 203, 204, - 33, 34, 35, 14, 691, 3, 39, 40, 125, 208, - 127, 128, 211, 130, 6, 82, 485, 84, 3, 86, - 72, 73, 129, 687, 3, 4, 5, 6, 3, 81, - 694, 83, 672, 3, 86, 3, 3, 4, 5, 6, - 208, 148, 149, 211, 33, 34, 35, 99, 100, 101, - 39, 40, 208, 105, 208, 211, 165, 211, 689, 172, - 7, 692, 9, 10, 11, 12, 13, 14, 6, 16, - 54, 524, 208, 182, 1088, 211, 23, 24, 25, 131, - 132, 133, 29, 30, 31, 117, 1100, 119, 1102, 121, - 122, 198, 199, 200, 201, 202, 203, 204, 207, 40, - 1114, 153, 43, 44, 6, 72, 73, 48, 49, 211, - 77, 208, 1126, 4, 81, 1129, 83, 208, 3, 4, - 5, 6, 208, 21, 176, 211, 178, 64, 180, 156, - 77, 3, 99, 100, 101, 155, 156, 157, 105, 166, - 609, 66, 169, 170, 72, 172, 173, 174, 200, 201, - 202, 208, 3, 205, 211, 207, 49, 50, 51, 52, - 208, 188, 189, 211, 131, 132, 133, 43, 44, 45, - 46, 835, 61, 3, 4, 5, 6, 208, 184, 185, - 211, 3, 4, 5, 6, 207, 153, 72, 73, 208, - 208, 73, 211, 211, 834, 3, 81, 40, 83, 208, - 43, 44, 211, 3, 208, 48, 49, 211, 3, 176, - 3, 178, 65, 180, 99, 100, 101, 3, 165, 4, - 105, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 200, 201, 202, 208, 3, 205, 211, - 207, 4, 72, 73, 151, 152, 131, 132, 133, 208, - 72, 81, 211, 83, 208, 919, 207, 211, 6, 81, - 207, 83, 72, 208, 208, 161, 211, 211, 153, 99, - 100, 101, 3, 208, 6, 105, 211, 99, 100, 101, - 4, 208, 54, 105, 211, 72, 67, 74, 191, 192, - 193, 176, 52, 178, 73, 180, 202, 203, 204, 45, - 46, 131, 132, 133, 5, 6, 5, 6, 3, 131, - 132, 133, 45, 46, 197, 200, 201, 202, 61, 129, - 205, 77, 207, 153, 77, 72, 43, 44, 714, 715, - 207, 153, 207, 207, 4, 4, 146, 147, 148, 149, - 4, 4, 129, 207, 154, 6, 176, 207, 178, 72, - 180, 207, 209, 3, 176, 6, 178, 47, 180, 146, - 147, 148, 149, 150, 47, 76, 4, 154, 77, 6, - 200, 201, 202, 208, 208, 205, 68, 207, 200, 201, - 202, 54, 129, 205, 207, 207, 207, 197, 198, 199, - 200, 201, 202, 203, 204, 207, 207, 77, 208, 146, - 147, 148, 149, 207, 151, 4, 129, 154, 207, 207, - 197, 198, 199, 200, 201, 202, 203, 204, 207, 207, - 4, 4, 212, 146, 147, 148, 149, 76, 208, 3, - 207, 154, 88, 89, 90, 91, 92, 205, 6, 95, - 96, 6, 6, 5, 3, 43, 102, 103, 104, 207, - 197, 198, 199, 200, 201, 202, 203, 204, 207, 6, - 175, 161, 118, 55, 56, 57, 58, 59, 60, 207, - 62, 63, 208, 161, 197, 198, 199, 200, 201, 202, - 203, 204, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 211, - 105, 106, 107, 108, 109, 110, 126, 3, 113, 207, - 3, 116, 117, 154, 211, 120, 121, 122, 123, 88, - 89, 90, 91, 92, 208, 75, 95, 96, 4, 211, - 151, 207, 128, 102, 103, 104, 88, 89, 90, 91, - 92, 212, 6, 95, 96, 212, 6, 3, 3, 118, - 102, 103, 104, 88, 89, 90, 91, 92, 6, 4, - 95, 96, 4, 211, 207, 207, 118, 102, 103, 104, - 88, 89, 90, 91, 92, 207, 207, 95, 96, 207, - 207, 207, 207, 118, 102, 103, 104, 88, 89, 90, - 91, 92, 32, 208, 95, 96, 207, 6, 6, 4, - 118, 102, 103, 104, 3, 6, 208, 211, 208, 4, - 77, 208, 6, 5, 50, 47, 197, 118, 6, 56, - 3, 56, 211, 51, 6, 128, 126, 207, 130, 161, - 208, 4, 205, 205, 211, 6, 6, 208, 208, 52, - 207, 207, 53, 90, 90, 3, 90, 90, 211, 90, - 211, 211, 90, 211, 211, 211, 211, 211, 211, 65, - 211, 6, 211, 211, 61, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 6, 211, 211, 6, + 216, 20, 194, 570, 243, 696, 8, 458, 143, 214, + 517, 3, 228, 8, 61, 3, 5, 6, 518, 54, + 4, 3, 6, 225, 533, 5, 6, 65, 244, 4, + 5, 6, 16, 121, 20, 75, 22, 172, 240, 241, + 533, 533, 28, 77, 533, 533, 3, 533, 74, 77, + 7, 6, 9, 10, 11, 12, 13, 14, 60, 16, + 3, 37, 82, 47, 82, 572, 23, 24, 25, 85, + 0, 55, 29, 30, 31, 75, 14, 7, 16, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 85, 4, + 124, 3, 76, 23, 24, 25, 61, 75, 76, 29, + 30, 31, 190, 319, 320, 3, 71, 5, 6, 86, + 65, 34, 96, 97, 98, 99, 332, 808, 77, 3, + 77, 5, 6, 34, 99, 100, 101, 161, 154, 38, + 105, 151, 152, 151, 152, 151, 152, 169, 170, 355, + 356, 54, 4, 127, 128, 129, 338, 77, 54, 351, + 65, 135, 136, 137, 151, 152, 131, 132, 133, 69, + 70, 668, 209, 61, 34, 124, 8, 406, 77, 385, + 386, 211, 207, 211, 151, 152, 3, 61, 3, 207, + 5, 6, 125, 34, 127, 169, 205, 3, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 161, 65, 3, 4, 5, 6, 165, 3, + 710, 720, 207, 3, 202, 207, 205, 206, 60, 203, + 202, 437, 208, 151, 152, 244, 206, 720, 720, 207, + 205, 720, 720, 168, 720, 165, 61, 0, 151, 152, + 6, 151, 152, 129, 210, 151, 152, 20, 186, 22, + 207, 72, 182, 469, 470, 28, 472, 67, 68, 475, + 452, 8, 148, 149, 54, 64, 164, 459, 78, 79, + 80, 151, 152, 72, 73, 8, 71, 207, 8, 40, + 164, 207, 81, 211, 83, 487, 8, 72, 49, 3, + 4, 5, 6, 151, 152, 192, 488, 8, 195, 65, + 99, 100, 101, 8, 8, 996, 105, 128, 999, 8, + 8, 8, 198, 199, 200, 201, 202, 203, 204, 535, + 72, 323, 8, 208, 14, 77, 211, 60, 835, 534, + 60, 211, 131, 132, 133, 354, 10, 209, 60, 164, + 125, 6, 127, 128, 911, 130, 481, 331, 33, 60, + 208, 71, 26, 27, 153, 60, 60, 42, 72, 73, + 3, 60, 60, 60, 3, 162, 163, 81, 819, 83, + 167, 181, 86, 125, 60, 127, 128, 176, 594, 178, + 596, 180, 33, 34, 35, 99, 100, 101, 39, 40, + 117, 105, 119, 206, 121, 122, 1087, 599, 211, 1090, + 206, 200, 201, 202, 208, 211, 205, 211, 207, 208, + 82, 1102, 84, 1104, 86, 617, 172, 131, 132, 133, + 612, 33, 34, 35, 156, 3, 208, 39, 40, 211, + 3, 4, 5, 6, 166, 169, 170, 169, 170, 153, + 172, 173, 174, 462, 40, 447, 206, 43, 44, 206, + 3, 211, 48, 49, 211, 694, 188, 189, 182, 183, + 206, 3, 176, 187, 178, 211, 180, 208, 40, 488, + 211, 43, 44, 209, 690, 211, 48, 49, 82, 6, + 84, 697, 86, 675, 184, 185, 200, 201, 202, 151, + 152, 205, 176, 207, 178, 208, 180, 54, 211, 72, + 73, 34, 208, 36, 77, 211, 208, 6, 81, 211, + 83, 4, 3, 4, 5, 6, 3, 4, 5, 6, + 49, 50, 51, 52, 1091, 527, 99, 100, 101, 211, + 208, 208, 105, 211, 211, 208, 1103, 208, 1105, 55, + 56, 57, 58, 59, 60, 208, 62, 63, 211, 21, + 1117, 43, 44, 45, 46, 155, 156, 157, 131, 132, + 133, 208, 1129, 208, 211, 1132, 211, 64, 3, 4, + 5, 6, 208, 208, 208, 211, 211, 211, 45, 46, + 153, 72, 73, 208, 208, 208, 211, 211, 211, 66, + 81, 208, 83, 612, 211, 208, 692, 208, 211, 695, + 211, 72, 72, 176, 3, 178, 3, 180, 99, 100, + 101, 191, 192, 193, 105, 202, 203, 204, 5, 6, + 45, 46, 838, 3, 4, 5, 6, 200, 201, 202, + 5, 6, 205, 61, 207, 43, 44, 72, 73, 207, + 131, 132, 133, 717, 718, 837, 81, 73, 83, 3, + 3, 3, 3, 65, 4, 3, 208, 3, 129, 4, + 207, 161, 153, 6, 99, 100, 101, 3, 6, 4, + 105, 54, 67, 52, 3, 146, 147, 148, 149, 73, + 61, 77, 197, 154, 77, 176, 207, 178, 207, 180, + 207, 4, 72, 4, 4, 4, 131, 132, 133, 6, + 207, 81, 207, 83, 207, 209, 922, 3, 6, 200, + 201, 202, 76, 47, 205, 47, 207, 3, 153, 99, + 100, 101, 77, 4, 6, 105, 197, 198, 199, 200, + 201, 202, 203, 204, 208, 208, 54, 208, 68, 207, + 77, 176, 207, 178, 129, 180, 207, 33, 34, 207, + 36, 131, 132, 133, 207, 41, 42, 4, 207, 207, + 207, 146, 147, 148, 149, 200, 201, 202, 207, 154, + 205, 4, 207, 153, 4, 212, 208, 76, 3, 5, + 207, 205, 6, 6, 72, 7, 74, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 176, 6, 178, 43, + 180, 23, 24, 25, 207, 207, 207, 29, 30, 31, + 3, 6, 197, 198, 199, 200, 201, 202, 203, 204, + 200, 201, 202, 211, 208, 205, 7, 207, 9, 10, + 11, 12, 13, 14, 161, 16, 161, 126, 207, 3, + 3, 129, 23, 24, 25, 72, 211, 175, 29, 30, + 31, 154, 208, 4, 75, 77, 151, 128, 146, 147, + 148, 149, 150, 207, 211, 6, 154, 6, 3, 3, + 212, 157, 158, 159, 160, 72, 162, 163, 6, 212, + 166, 167, 168, 4, 4, 171, 172, 173, 211, 32, + 207, 207, 178, 179, 208, 207, 77, 6, 6, 207, + 4, 207, 129, 207, 190, 207, 207, 207, 194, 197, + 198, 199, 200, 201, 202, 203, 204, 3, 6, 146, + 147, 148, 149, 208, 151, 4, 6, 154, 211, 208, + 77, 208, 129, 5, 50, 47, 197, 6, 56, 56, + 3, 211, 6, 165, 51, 128, 126, 207, 130, 146, + 147, 148, 149, 161, 208, 205, 4, 154, 211, 205, + 182, 6, 6, 208, 207, 52, 208, 207, 53, 65, + 197, 198, 199, 200, 201, 202, 203, 204, 6, 211, + 211, 4, 211, 211, 165, 207, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 211, 211, + 197, 198, 199, 200, 201, 202, 203, 204, 211, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 207, 105, 106, 107, + 108, 109, 110, 211, 211, 113, 90, 211, 116, 117, + 211, 211, 120, 121, 122, 123, 88, 89, 90, 91, + 92, 211, 211, 95, 96, 211, 211, 211, 211, 211, + 102, 103, 104, 88, 89, 90, 91, 92, 90, 211, + 95, 96, 90, 211, 211, 211, 118, 102, 103, 104, + 88, 89, 90, 91, 92, 211, 211, 95, 96, 211, + 90, 90, 211, 118, 102, 103, 104, 88, 89, 90, + 91, 92, 90, 3, 95, 96, 211, 208, 211, 211, + 118, 102, 103, 104, 88, 89, 90, 91, 92, 211, + 211, 95, 96, 61, 6, 6, 6, 118, 102, 103, + 104, 88, 89, 90, 91, 92, 211, 211, 95, 96, + 211, 211, 6, 211, 118, 102, 103, 104, 6, 211, + 211, 211, 211, 211, 211, 211, 211, 6, 211, 211, + 211, 118, 211, 6, 211, 211, 6, 6, 211, 6, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 6, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 6, 6, - 6, 6, 211, 211, 211, 6, 211, 211, 6, 211, - 211, 211, 211, 211, 211, 211, 208, 6, 211, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 211, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 211, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 211, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 211, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 211, 4, 208, 4, 4, 208, - 211, 6, 208, 208, 208, 6, 208, 6, 208, 6, - 6, 208, 6, 6, 208, 208, 208, 4, 208, 4, - 208, 115, 208, 6, 6, 208, 6, 208, 208, 208, - 4, 208, 208, 208, 208, 6, 6, 208, 208, 208, - 208, 208, 208, 208, 208, 48, 208, 3, 40, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 3, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 40, 208, 208, 208, 208, 208, 208, - 208, 208, 40, 40, 60, 211, 211, 211, 211, 208, - 208, 664, 208, 208, 208, 208, 208, 208, 590, 208, - 208, 211, 208, 208, 208, 207, 207, 571, 208, 199, - 662, 330, 20, 188, 629, 712, 380, 795, 532, 789, - 692, 717, 679, 169, 692, -1, 233, -1, 710, -1, - 354, 405, -1, -1, -1, -1, 407, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 304, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 471 + 211, 211, 211, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 211, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 211, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 211, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 211, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 211, 208, + 4, 4, 208, 211, 6, 208, 208, 208, 208, 208, + 208, 6, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 6, 208, 208, 208, 208, + 6, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 6, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 6, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 6, 208, + 208, 4, 4, 4, 211, 211, 211, 208, 208, 208, + 208, 208, 208, 208, 208, 6, 6, 6, 211, 6, + 208, 208, 211, 6, 48, 208, 208, 40, 40, 207, + 40, 40, 3, 208, 207, 3, 208, 60, 116, 201, + 665, 333, 593, 20, 574, 190, 535, 632, 715, 171, + 720, 474, 667, 383, 307, 357, 235, 798, -1, 792, + -1, 695, 713, 695, -1, -1, -1, -1, -1, -1, + -1, 408, -1, -1, 410, 682 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1592,113 +1582,113 @@ static const yytype_int16 yystos[] = 273, 274, 33, 34, 35, 39, 40, 37, 33, 34, 35, 39, 40, 3, 261, 75, 261, 162, 163, 167, 3, 217, 218, 229, 230, 233, 236, 237, 238, 268, - 269, 270, 271, 272, 33, 34, 36, 41, 42, 157, - 158, 159, 160, 162, 163, 166, 167, 168, 171, 172, - 173, 178, 179, 190, 194, 34, 34, 34, 34, 155, - 156, 157, 3, 3, 261, 3, 264, 265, 168, 14, - 16, 186, 239, 240, 0, 210, 321, 20, 22, 28, - 257, 8, 241, 243, 71, 320, 320, 320, 320, 320, - 322, 261, 71, 319, 319, 319, 319, 319, 209, 14, - 261, 75, 76, 207, 3, 3, 3, 217, 3, 261, - 6, 169, 170, 169, 170, 3, 172, 6, 191, 192, - 193, 192, 195, 261, 261, 261, 261, 61, 54, 211, - 6, 182, 183, 187, 156, 166, 169, 170, 172, 173, - 174, 188, 189, 4, 208, 208, 216, 21, 207, 242, - 243, 64, 250, 66, 244, 72, 3, 261, 261, 261, - 3, 61, 207, 231, 73, 3, 261, 261, 261, 3, - 3, 3, 234, 235, 65, 254, 4, 318, 318, 3, - 4, 5, 6, 72, 73, 81, 83, 99, 100, 101, - 105, 131, 132, 133, 153, 176, 178, 180, 200, 201, - 202, 205, 207, 275, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 288, 289, 290, 291, 292, 294, 295, - 296, 297, 298, 300, 301, 302, 303, 304, 305, 306, - 307, 310, 311, 312, 313, 314, 315, 3, 5, 6, - 61, 164, 3, 5, 6, 61, 164, 3, 5, 6, - 61, 164, 40, 43, 44, 48, 49, 3, 3, 4, - 10, 26, 27, 261, 207, 265, 318, 161, 6, 3, - 6, 4, 54, 242, 243, 275, 52, 67, 248, 73, - 54, 207, 231, 261, 3, 228, 38, 240, 61, 197, - 211, 254, 278, 77, 77, 207, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 72, 73, - 279, 207, 207, 86, 278, 293, 4, 4, 4, 4, - 6, 315, 207, 117, 119, 121, 122, 207, 207, 279, - 279, 5, 6, 206, 298, 308, 309, 240, 278, 208, - 211, 54, 151, 152, 72, 74, 129, 146, 147, 148, - 149, 150, 154, 197, 198, 199, 200, 201, 202, 203, - 204, 209, 206, 211, 206, 211, 206, 211, 206, 211, - 206, 211, 3, 6, 47, 47, 76, 77, 323, 241, - 4, 40, 49, 6, 184, 185, 208, 208, 75, 251, - 245, 246, 278, 278, 68, 249, 238, 3, 125, 127, - 219, 221, 222, 227, 54, 207, 327, 208, 211, 207, - 276, 261, 278, 235, 207, 207, 64, 208, 275, 207, - 72, 240, 278, 278, 293, 82, 84, 86, 4, 207, - 207, 207, 207, 4, 4, 212, 208, 208, 76, 277, - 3, 278, 278, 74, 154, 207, 72, 128, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 3, 202, 298, 6, 308, 6, 309, 6, - 5, 43, 45, 46, 207, 207, 3, 207, 208, 6, - 33, 42, 161, 161, 207, 258, 259, 260, 261, 266, - 175, 252, 211, 69, 70, 247, 278, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 105, 106, 107, 108, 109, 110, - 113, 116, 117, 120, 121, 122, 123, 223, 126, 207, - 208, 211, 238, 3, 3, 275, 211, 67, 68, 78, - 79, 80, 181, 316, 317, 316, 275, 208, 240, 208, - 54, 85, 82, 84, 278, 278, 75, 278, 4, 3, - 296, 278, 211, 253, 208, 211, 5, 6, 318, 207, - 279, 240, 275, 128, 151, 212, 212, 6, 6, 228, - 220, 222, 3, 325, 326, 6, 4, 4, 238, 211, - 55, 57, 58, 59, 60, 62, 63, 267, 3, 54, - 262, 280, 281, 282, 283, 284, 285, 286, 287, 254, - 246, 207, 207, 207, 207, 207, 207, 207, 72, 125, - 127, 128, 224, 225, 323, 207, 228, 32, 324, 221, - 208, 208, 207, 6, 6, 4, 3, 6, 208, 211, - 208, 208, 208, 223, 278, 278, 82, 85, 279, 211, - 211, 211, 211, 4, 65, 208, 4, 77, 240, 275, - 208, 208, 279, 50, 47, 208, 208, 211, 197, 208, - 211, 6, 208, 259, 56, 56, 3, 211, 51, 256, - 6, 88, 89, 90, 91, 92, 95, 96, 102, 103, - 104, 118, 88, 89, 90, 91, 92, 95, 96, 102, - 103, 104, 118, 88, 89, 90, 91, 92, 95, 96, - 102, 103, 104, 118, 88, 89, 90, 91, 92, 95, + 269, 270, 271, 272, 3, 33, 34, 36, 41, 42, + 157, 158, 159, 160, 162, 163, 166, 167, 168, 171, + 172, 173, 178, 179, 190, 194, 34, 34, 34, 34, + 155, 156, 157, 3, 3, 261, 3, 264, 265, 168, + 14, 16, 186, 239, 240, 0, 210, 321, 20, 22, + 28, 257, 8, 241, 243, 71, 320, 320, 320, 320, + 320, 322, 261, 71, 319, 319, 319, 319, 319, 209, + 14, 261, 75, 76, 207, 3, 3, 3, 217, 207, + 3, 261, 6, 169, 170, 169, 170, 3, 172, 6, + 191, 192, 193, 192, 195, 261, 261, 261, 261, 61, + 54, 211, 6, 182, 183, 187, 156, 166, 169, 170, + 172, 173, 174, 188, 189, 4, 208, 208, 216, 21, + 207, 242, 243, 64, 250, 66, 244, 72, 3, 261, + 261, 261, 3, 61, 207, 231, 73, 3, 261, 261, + 261, 3, 3, 3, 234, 235, 65, 254, 4, 318, + 318, 3, 4, 5, 6, 72, 73, 81, 83, 99, + 100, 101, 105, 131, 132, 133, 153, 176, 178, 180, + 200, 201, 202, 205, 207, 275, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 288, 289, 290, 291, 292, + 294, 295, 296, 297, 298, 300, 301, 302, 303, 304, + 305, 306, 307, 310, 311, 312, 313, 314, 315, 3, + 5, 6, 61, 164, 3, 5, 6, 61, 164, 3, + 5, 6, 61, 164, 208, 40, 43, 44, 48, 49, + 3, 3, 4, 10, 26, 27, 261, 207, 265, 318, + 161, 6, 3, 6, 4, 54, 242, 243, 275, 52, + 67, 248, 73, 54, 207, 231, 261, 3, 228, 38, + 240, 61, 197, 211, 254, 278, 77, 77, 207, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 72, 73, 279, 207, 207, 86, 278, 293, 4, + 4, 4, 4, 6, 315, 207, 117, 119, 121, 122, + 207, 207, 279, 279, 5, 6, 206, 298, 308, 309, + 240, 278, 208, 211, 54, 151, 152, 72, 74, 129, + 146, 147, 148, 149, 150, 154, 197, 198, 199, 200, + 201, 202, 203, 204, 209, 206, 211, 206, 211, 206, + 211, 206, 211, 206, 211, 3, 6, 47, 47, 76, + 77, 323, 241, 4, 40, 49, 6, 184, 185, 208, + 208, 75, 251, 245, 246, 278, 278, 68, 249, 238, + 3, 125, 127, 219, 221, 222, 227, 54, 207, 327, + 208, 211, 207, 276, 261, 278, 235, 207, 207, 64, + 208, 275, 207, 72, 240, 278, 278, 293, 82, 84, + 86, 4, 207, 207, 207, 207, 4, 4, 212, 208, + 208, 76, 277, 3, 278, 278, 74, 154, 207, 72, + 128, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 3, 202, 298, 6, 308, + 6, 309, 6, 5, 43, 45, 46, 207, 207, 3, + 207, 208, 6, 33, 42, 161, 161, 207, 258, 259, + 260, 261, 266, 175, 252, 211, 69, 70, 247, 278, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, + 108, 109, 110, 113, 116, 117, 120, 121, 122, 123, + 223, 126, 207, 208, 211, 238, 3, 3, 275, 211, + 67, 68, 78, 79, 80, 181, 316, 317, 316, 275, + 208, 240, 208, 54, 85, 82, 84, 278, 278, 75, + 278, 4, 3, 296, 278, 211, 253, 208, 211, 5, + 6, 318, 207, 279, 240, 275, 128, 151, 212, 212, + 6, 6, 228, 220, 222, 3, 325, 326, 6, 4, + 4, 238, 211, 55, 57, 58, 59, 60, 62, 63, + 267, 3, 54, 262, 280, 281, 282, 283, 284, 285, + 286, 287, 254, 246, 207, 207, 207, 207, 207, 207, + 207, 72, 125, 127, 128, 224, 225, 323, 207, 228, + 32, 324, 221, 208, 208, 207, 6, 6, 4, 3, + 6, 208, 211, 208, 208, 208, 223, 278, 278, 82, + 85, 279, 211, 211, 211, 211, 4, 65, 208, 4, + 77, 240, 275, 208, 208, 279, 50, 47, 208, 208, + 211, 197, 208, 211, 6, 208, 259, 56, 56, 3, + 211, 51, 256, 6, 88, 89, 90, 91, 92, 95, 96, 102, 103, 104, 118, 88, 89, 90, 91, 92, 95, 96, 102, 103, 104, 118, 88, 89, 90, 91, - 92, 95, 96, 102, 103, 104, 118, 128, 126, 130, - 225, 226, 226, 228, 208, 207, 161, 275, 317, 208, - 82, 278, 208, 205, 310, 4, 298, 205, 299, 302, - 307, 310, 211, 253, 278, 208, 207, 208, 208, 6, - 6, 222, 3, 4, 5, 6, 326, 34, 36, 262, - 260, 260, 207, 286, 52, 53, 255, 208, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 90, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 90, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 90, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 92, 95, 96, 102, 103, 104, 118, 88, 89, 90, + 91, 92, 95, 96, 102, 103, 104, 118, 88, 89, + 90, 91, 92, 95, 96, 102, 103, 104, 118, 88, + 89, 90, 91, 92, 95, 96, 102, 103, 104, 118, + 128, 126, 130, 225, 226, 226, 228, 208, 207, 161, + 275, 317, 208, 82, 278, 208, 205, 310, 4, 298, + 205, 299, 302, 307, 310, 211, 253, 278, 208, 207, + 208, 208, 6, 6, 222, 3, 4, 5, 6, 326, + 34, 36, 262, 260, 260, 207, 286, 52, 53, 255, + 208, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 90, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 90, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 90, 211, 297, 208, 325, 3, 208, - 6, 211, 211, 253, 211, 211, 208, 316, 6, 61, - 228, 275, 278, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 211, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 211, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 211, 6, 6, 6, 6, + 211, 211, 211, 90, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 90, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 90, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 90, 211, 297, 208, + 325, 3, 208, 6, 211, 211, 253, 211, 211, 208, + 316, 6, 61, 228, 275, 278, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 211, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 211, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 211, 6, - 208, 323, 4, 4, 208, 4, 4, 208, 6, 278, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 6, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 6, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 6, 208, 208, 208, 208, 208, 208, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 211, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 211, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 211, 6, 208, 323, 4, 4, 208, 4, 4, + 208, 6, 278, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 6, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 6, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 6, 208, 211, 253, - 211, 211, 253, 40, 43, 44, 48, 49, 208, 208, - 208, 208, 208, 208, 4, 208, 4, 6, 208, 6, - 6, 211, 253, 211, 253, 323, 6, 45, 46, 6, - 208, 4, 208, 43, 44, 6, 253, 323, 253, 124, - 161, 323, 6, 48, 208, 208, 40, 40, 124, 161, - 323, 207, 40, 40, 3, 207, 208, 3, 323, 208, - 323 + 208, 208, 208, 208, 208, 208, 6, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 6, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 6, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 6, + 208, 211, 253, 211, 211, 253, 40, 43, 44, 48, + 49, 208, 208, 208, 208, 208, 208, 4, 208, 4, + 6, 208, 6, 6, 211, 253, 211, 253, 323, 6, + 45, 46, 6, 208, 4, 208, 43, 44, 6, 253, + 323, 253, 124, 161, 323, 6, 48, 208, 208, 40, + 40, 124, 161, 323, 207, 40, 40, 3, 207, 208, + 3, 323, 208, 323 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -1731,30 +1721,30 @@ static const yytype_int16 yyr1[] = 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 269, 269, 269, 270, 270, 271, 271, + 268, 268, 268, 268, 269, 269, 269, 270, 270, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 272, 273, 273, + 271, 271, 271, 271, 271, 271, 271, 271, 272, 273, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 274, - 274, 274, 275, 275, 276, 276, 277, 277, 278, 278, - 278, 278, 278, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 280, 281, 281, 281, - 281, 282, 282, 282, 282, 283, 283, 284, 284, 285, - 285, 286, 286, 286, 286, 286, 286, 287, 287, 288, + 274, 274, 274, 275, 275, 276, 276, 277, 277, 278, + 278, 278, 278, 278, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 280, 281, 281, + 281, 281, 282, 282, 282, 282, 283, 283, 284, 284, + 285, 285, 286, 286, 286, 286, 286, 286, 287, 287, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 288, 288, 289, 289, 290, 291, 291, 292, 292, 292, - 292, 293, 293, 294, 295, 295, 295, 295, 296, 296, - 296, 296, 297, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 298, 298, 298, 298, 299, 299, - 299, 300, 301, 301, 302, 302, 303, 304, 304, 305, - 306, 306, 307, 308, 309, 310, 310, 311, 312, 312, - 313, 314, 314, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, 315, 315, 316, 316, 317, 317, 317, - 317, 317, 317, 318, 319, 319, 320, 320, 321, 321, - 322, 322, 323, 323, 324, 324, 325, 325, 326, 326, - 326, 326, 326, 327, 327 + 288, 288, 288, 289, 289, 290, 291, 291, 292, 292, + 292, 292, 293, 293, 294, 295, 295, 295, 295, 296, + 296, 296, 296, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 298, 298, 298, 298, 299, + 299, 299, 300, 301, 301, 302, 302, 303, 304, 304, + 305, 306, 306, 307, 308, 309, 310, 310, 311, 312, + 312, 313, 314, 314, 315, 315, 315, 315, 315, 315, + 315, 315, 315, 315, 315, 315, 316, 316, 317, 317, + 317, 317, 317, 317, 318, 319, 319, 320, 320, 321, + 321, 322, 322, 323, 323, 324, 324, 325, 325, 326, + 326, 326, 326, 326, 327, 327 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1787,30 +1777,30 @@ static const yytype_int8 yyr2[] = 3, 2, 2, 2, 2, 3, 2, 3, 3, 3, 4, 4, 3, 3, 4, 4, 5, 6, 7, 9, 4, 5, 7, 9, 2, 3, 2, 3, 3, 4, - 2, 3, 3, 2, 2, 2, 2, 5, 2, 4, + 2, 3, 3, 4, 2, 2, 2, 2, 5, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 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, 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 + 4, 4, 4, 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, 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 }; @@ -2378,7 +2368,7 @@ yydestruct (const char *yymsg, { free(((*yyvaluep).str_value)); } -#line 2382 "parser.cpp" +#line 2372 "parser.cpp" break; case YYSYMBOL_STRING: /* STRING */ @@ -2386,7 +2376,7 @@ yydestruct (const char *yymsg, { free(((*yyvaluep).str_value)); } -#line 2390 "parser.cpp" +#line 2380 "parser.cpp" break; case YYSYMBOL_statement_list: /* statement_list */ @@ -2400,7 +2390,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).stmt_array)); } } -#line 2404 "parser.cpp" +#line 2394 "parser.cpp" break; case YYSYMBOL_table_element_array: /* table_element_array */ @@ -2414,7 +2404,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).table_element_array_t)); } } -#line 2418 "parser.cpp" +#line 2408 "parser.cpp" break; case YYSYMBOL_column_def_array: /* column_def_array */ @@ -2428,7 +2418,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).column_def_array_t)); } } -#line 2432 "parser.cpp" +#line 2422 "parser.cpp" break; case YYSYMBOL_column_constraints: /* column_constraints */ @@ -2439,7 +2429,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).column_constraints_t)); } } -#line 2443 "parser.cpp" +#line 2433 "parser.cpp" break; case YYSYMBOL_default_expr: /* default_expr */ @@ -2447,7 +2437,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 2451 "parser.cpp" +#line 2441 "parser.cpp" break; case YYSYMBOL_identifier_array: /* identifier_array */ @@ -2456,7 +2446,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy identifier array\n"); delete (((*yyvaluep).identifier_array_t)); } -#line 2460 "parser.cpp" +#line 2450 "parser.cpp" break; case YYSYMBOL_optional_identifier_array: /* optional_identifier_array */ @@ -2465,7 +2455,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy identifier array\n"); delete (((*yyvaluep).identifier_array_t)); } -#line 2469 "parser.cpp" +#line 2459 "parser.cpp" break; case YYSYMBOL_update_expr_array: /* update_expr_array */ @@ -2479,7 +2469,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).update_expr_array_t)); } } -#line 2483 "parser.cpp" +#line 2473 "parser.cpp" break; case YYSYMBOL_update_expr: /* update_expr */ @@ -2490,7 +2480,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).update_expr_t); } } -#line 2494 "parser.cpp" +#line 2484 "parser.cpp" break; case YYSYMBOL_select_statement: /* select_statement */ @@ -2500,7 +2490,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2504 "parser.cpp" +#line 2494 "parser.cpp" break; case YYSYMBOL_select_with_paren: /* select_with_paren */ @@ -2510,7 +2500,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2514 "parser.cpp" +#line 2504 "parser.cpp" break; case YYSYMBOL_select_without_paren: /* select_without_paren */ @@ -2520,7 +2510,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2524 "parser.cpp" +#line 2514 "parser.cpp" break; case YYSYMBOL_select_clause_with_modifier: /* select_clause_with_modifier */ @@ -2530,7 +2520,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2534 "parser.cpp" +#line 2524 "parser.cpp" break; case YYSYMBOL_select_clause_without_modifier_paren: /* select_clause_without_modifier_paren */ @@ -2540,7 +2530,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2544 "parser.cpp" +#line 2534 "parser.cpp" break; case YYSYMBOL_select_clause_without_modifier: /* select_clause_without_modifier */ @@ -2550,7 +2540,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).select_stmt); } } -#line 2554 "parser.cpp" +#line 2544 "parser.cpp" break; case YYSYMBOL_order_by_clause: /* order_by_clause */ @@ -2564,7 +2554,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).order_by_expr_list_t)); } } -#line 2568 "parser.cpp" +#line 2558 "parser.cpp" break; case YYSYMBOL_order_by_expr_list: /* order_by_expr_list */ @@ -2578,7 +2568,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).order_by_expr_list_t)); } } -#line 2582 "parser.cpp" +#line 2572 "parser.cpp" break; case YYSYMBOL_order_by_expr: /* order_by_expr */ @@ -2588,7 +2578,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).order_by_expr_t)->expr_; delete ((*yyvaluep).order_by_expr_t); } -#line 2592 "parser.cpp" +#line 2582 "parser.cpp" break; case YYSYMBOL_limit_expr: /* limit_expr */ @@ -2596,7 +2586,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2600 "parser.cpp" +#line 2590 "parser.cpp" break; case YYSYMBOL_offset_expr: /* offset_expr */ @@ -2604,7 +2594,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2608 "parser.cpp" +#line 2598 "parser.cpp" break; case YYSYMBOL_from_clause: /* from_clause */ @@ -2613,7 +2603,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table reference\n"); delete (((*yyvaluep).table_reference_t)); } -#line 2617 "parser.cpp" +#line 2607 "parser.cpp" break; case YYSYMBOL_search_clause: /* search_clause */ @@ -2621,7 +2611,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2625 "parser.cpp" +#line 2615 "parser.cpp" break; case YYSYMBOL_optional_search_filter_expr: /* optional_search_filter_expr */ @@ -2629,7 +2619,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2633 "parser.cpp" +#line 2623 "parser.cpp" break; case YYSYMBOL_where_clause: /* where_clause */ @@ -2637,7 +2627,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2641 "parser.cpp" +#line 2631 "parser.cpp" break; case YYSYMBOL_having_clause: /* having_clause */ @@ -2645,7 +2635,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2649 "parser.cpp" +#line 2639 "parser.cpp" break; case YYSYMBOL_group_by_clause: /* group_by_clause */ @@ -2659,7 +2649,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).expr_array_t)); } } -#line 2663 "parser.cpp" +#line 2653 "parser.cpp" break; case YYSYMBOL_table_reference: /* table_reference */ @@ -2668,7 +2658,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table reference\n"); delete (((*yyvaluep).table_reference_t)); } -#line 2672 "parser.cpp" +#line 2662 "parser.cpp" break; case YYSYMBOL_table_reference_unit: /* table_reference_unit */ @@ -2677,7 +2667,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table reference\n"); delete (((*yyvaluep).table_reference_t)); } -#line 2681 "parser.cpp" +#line 2671 "parser.cpp" break; case YYSYMBOL_table_reference_name: /* table_reference_name */ @@ -2686,7 +2676,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table reference\n"); delete (((*yyvaluep).table_reference_t)); } -#line 2690 "parser.cpp" +#line 2680 "parser.cpp" break; case YYSYMBOL_table_name: /* table_name */ @@ -2699,7 +2689,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).table_name_t)); } } -#line 2703 "parser.cpp" +#line 2693 "parser.cpp" break; case YYSYMBOL_table_alias: /* table_alias */ @@ -2708,7 +2698,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table alias\n"); delete (((*yyvaluep).table_alias_t)); } -#line 2712 "parser.cpp" +#line 2702 "parser.cpp" break; case YYSYMBOL_with_clause: /* with_clause */ @@ -2722,7 +2712,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).with_expr_list_t)); } } -#line 2726 "parser.cpp" +#line 2716 "parser.cpp" break; case YYSYMBOL_with_expr_list: /* with_expr_list */ @@ -2736,7 +2726,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).with_expr_list_t)); } } -#line 2740 "parser.cpp" +#line 2730 "parser.cpp" break; case YYSYMBOL_with_expr: /* with_expr */ @@ -2746,7 +2736,7 @@ yydestruct (const char *yymsg, delete ((*yyvaluep).with_expr_t)->select_; delete ((*yyvaluep).with_expr_t); } -#line 2750 "parser.cpp" +#line 2740 "parser.cpp" break; case YYSYMBOL_join_clause: /* join_clause */ @@ -2755,7 +2745,7 @@ yydestruct (const char *yymsg, fprintf(stderr, "destroy table reference\n"); delete (((*yyvaluep).table_reference_t)); } -#line 2759 "parser.cpp" +#line 2749 "parser.cpp" break; case YYSYMBOL_expr_array: /* expr_array */ @@ -2769,7 +2759,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).expr_array_t)); } } -#line 2773 "parser.cpp" +#line 2763 "parser.cpp" break; case YYSYMBOL_expr_array_list: /* expr_array_list */ @@ -2786,7 +2776,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).expr_array_list_t)); } } -#line 2790 "parser.cpp" +#line 2780 "parser.cpp" break; case YYSYMBOL_expr_alias: /* expr_alias */ @@ -2794,7 +2784,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2798 "parser.cpp" +#line 2788 "parser.cpp" break; case YYSYMBOL_expr: /* expr */ @@ -2802,7 +2792,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2806 "parser.cpp" +#line 2796 "parser.cpp" break; case YYSYMBOL_operand: /* operand */ @@ -2810,7 +2800,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2814 "parser.cpp" +#line 2804 "parser.cpp" break; case YYSYMBOL_match_tensor_expr: /* match_tensor_expr */ @@ -2818,7 +2808,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2822 "parser.cpp" +#line 2812 "parser.cpp" break; case YYSYMBOL_match_vector_expr: /* match_vector_expr */ @@ -2826,7 +2816,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2830 "parser.cpp" +#line 2820 "parser.cpp" break; case YYSYMBOL_match_sparse_expr: /* match_sparse_expr */ @@ -2834,7 +2824,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2838 "parser.cpp" +#line 2828 "parser.cpp" break; case YYSYMBOL_match_text_expr: /* match_text_expr */ @@ -2842,7 +2832,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2846 "parser.cpp" +#line 2836 "parser.cpp" break; case YYSYMBOL_query_expr: /* query_expr */ @@ -2850,7 +2840,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2854 "parser.cpp" +#line 2844 "parser.cpp" break; case YYSYMBOL_fusion_expr: /* fusion_expr */ @@ -2858,7 +2848,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2862 "parser.cpp" +#line 2852 "parser.cpp" break; case YYSYMBOL_sub_search: /* sub_search */ @@ -2866,7 +2856,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2870 "parser.cpp" +#line 2860 "parser.cpp" break; case YYSYMBOL_sub_search_array: /* sub_search_array */ @@ -2880,7 +2870,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).expr_array_t)); } } -#line 2884 "parser.cpp" +#line 2874 "parser.cpp" break; case YYSYMBOL_function_expr: /* function_expr */ @@ -2888,7 +2878,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2892 "parser.cpp" +#line 2882 "parser.cpp" break; case YYSYMBOL_conjunction_expr: /* conjunction_expr */ @@ -2896,7 +2886,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2900 "parser.cpp" +#line 2890 "parser.cpp" break; case YYSYMBOL_between_expr: /* between_expr */ @@ -2904,7 +2894,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2908 "parser.cpp" +#line 2898 "parser.cpp" break; case YYSYMBOL_in_expr: /* in_expr */ @@ -2912,7 +2902,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2916 "parser.cpp" +#line 2906 "parser.cpp" break; case YYSYMBOL_case_expr: /* case_expr */ @@ -2920,7 +2910,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2924 "parser.cpp" +#line 2914 "parser.cpp" break; case YYSYMBOL_case_check_array: /* case_check_array */ @@ -2933,7 +2923,7 @@ yydestruct (const char *yymsg, } } } -#line 2937 "parser.cpp" +#line 2927 "parser.cpp" break; case YYSYMBOL_cast_expr: /* cast_expr */ @@ -2941,7 +2931,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2945 "parser.cpp" +#line 2935 "parser.cpp" break; case YYSYMBOL_subquery_expr: /* subquery_expr */ @@ -2949,7 +2939,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2953 "parser.cpp" +#line 2943 "parser.cpp" break; case YYSYMBOL_column_expr: /* column_expr */ @@ -2957,7 +2947,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).expr_t)); } -#line 2961 "parser.cpp" +#line 2951 "parser.cpp" break; case YYSYMBOL_constant_expr: /* constant_expr */ @@ -2965,7 +2955,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 2969 "parser.cpp" +#line 2959 "parser.cpp" break; case YYSYMBOL_common_array_expr: /* common_array_expr */ @@ -2973,7 +2963,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 2977 "parser.cpp" +#line 2967 "parser.cpp" break; case YYSYMBOL_common_sparse_array_expr: /* common_sparse_array_expr */ @@ -2981,7 +2971,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 2985 "parser.cpp" +#line 2975 "parser.cpp" break; case YYSYMBOL_subarray_array_expr: /* subarray_array_expr */ @@ -2989,7 +2979,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 2993 "parser.cpp" +#line 2983 "parser.cpp" break; case YYSYMBOL_unclosed_subarray_array_expr: /* unclosed_subarray_array_expr */ @@ -2997,7 +2987,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3001 "parser.cpp" +#line 2991 "parser.cpp" break; case YYSYMBOL_sparse_array_expr: /* sparse_array_expr */ @@ -3005,7 +2995,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3009 "parser.cpp" +#line 2999 "parser.cpp" break; case YYSYMBOL_long_sparse_array_expr: /* long_sparse_array_expr */ @@ -3013,7 +3003,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3017 "parser.cpp" +#line 3007 "parser.cpp" break; case YYSYMBOL_unclosed_long_sparse_array_expr: /* unclosed_long_sparse_array_expr */ @@ -3021,7 +3011,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3025 "parser.cpp" +#line 3015 "parser.cpp" break; case YYSYMBOL_double_sparse_array_expr: /* double_sparse_array_expr */ @@ -3029,7 +3019,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3033 "parser.cpp" +#line 3023 "parser.cpp" break; case YYSYMBOL_unclosed_double_sparse_array_expr: /* unclosed_double_sparse_array_expr */ @@ -3037,7 +3027,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3041 "parser.cpp" +#line 3031 "parser.cpp" break; case YYSYMBOL_empty_array_expr: /* empty_array_expr */ @@ -3045,7 +3035,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3049 "parser.cpp" +#line 3039 "parser.cpp" break; case YYSYMBOL_int_sparse_ele: /* int_sparse_ele */ @@ -3053,7 +3043,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).int_sparse_ele_t)); } -#line 3057 "parser.cpp" +#line 3047 "parser.cpp" break; case YYSYMBOL_float_sparse_ele: /* float_sparse_ele */ @@ -3061,7 +3051,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).float_sparse_ele_t)); } -#line 3065 "parser.cpp" +#line 3055 "parser.cpp" break; case YYSYMBOL_array_expr: /* array_expr */ @@ -3069,7 +3059,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3073 "parser.cpp" +#line 3063 "parser.cpp" break; case YYSYMBOL_long_array_expr: /* long_array_expr */ @@ -3077,7 +3067,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3081 "parser.cpp" +#line 3071 "parser.cpp" break; case YYSYMBOL_unclosed_long_array_expr: /* unclosed_long_array_expr */ @@ -3085,7 +3075,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3089 "parser.cpp" +#line 3079 "parser.cpp" break; case YYSYMBOL_double_array_expr: /* double_array_expr */ @@ -3093,7 +3083,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3097 "parser.cpp" +#line 3087 "parser.cpp" break; case YYSYMBOL_unclosed_double_array_expr: /* unclosed_double_array_expr */ @@ -3101,7 +3091,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3105 "parser.cpp" +#line 3095 "parser.cpp" break; case YYSYMBOL_interval_expr: /* interval_expr */ @@ -3109,7 +3099,7 @@ yydestruct (const char *yymsg, { delete (((*yyvaluep).const_expr_t)); } -#line 3113 "parser.cpp" +#line 3103 "parser.cpp" break; case YYSYMBOL_file_path: /* file_path */ @@ -3117,7 +3107,7 @@ yydestruct (const char *yymsg, { free(((*yyvaluep).str_value)); } -#line 3121 "parser.cpp" +#line 3111 "parser.cpp" break; case YYSYMBOL_if_not_exists_info: /* if_not_exists_info */ @@ -3128,7 +3118,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).if_not_exists_info_t)); } } -#line 3132 "parser.cpp" +#line 3122 "parser.cpp" break; case YYSYMBOL_with_index_param_list: /* with_index_param_list */ @@ -3142,7 +3132,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).with_index_param_list_t)); } } -#line 3146 "parser.cpp" +#line 3136 "parser.cpp" break; case YYSYMBOL_optional_table_properties_list: /* optional_table_properties_list */ @@ -3156,7 +3146,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).with_index_param_list_t)); } } -#line 3160 "parser.cpp" +#line 3150 "parser.cpp" break; case YYSYMBOL_index_info: /* index_info */ @@ -3167,7 +3157,7 @@ yydestruct (const char *yymsg, delete (((*yyvaluep).index_info_t)); } } -#line 3171 "parser.cpp" +#line 3161 "parser.cpp" break; default: @@ -3275,7 +3265,7 @@ YYLTYPE yylloc = yyloc_default; yylloc.string_length = 0; } -#line 3279 "parser.cpp" +#line 3269 "parser.cpp" yylsp[0] = yylloc; goto yysetstate; @@ -3490,7 +3480,7 @@ YYLTYPE yylloc = yyloc_default; { result->statements_ptr_ = (yyvsp[-1].stmt_array); } -#line 3494 "parser.cpp" +#line 3484 "parser.cpp" break; case 3: /* statement_list: statement */ @@ -3501,7 +3491,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.stmt_array) = new std::vector(); (yyval.stmt_array)->push_back((yyvsp[0].base_stmt)); } -#line 3505 "parser.cpp" +#line 3495 "parser.cpp" break; case 4: /* statement_list: statement_list ';' statement */ @@ -3512,169 +3502,169 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-2].stmt_array)->push_back((yyvsp[0].base_stmt)); (yyval.stmt_array) = (yyvsp[-2].stmt_array); } -#line 3516 "parser.cpp" +#line 3506 "parser.cpp" break; case 5: /* statement: create_statement */ #line 523 "parser.y" { (yyval.base_stmt) = (yyvsp[0].create_stmt); } -#line 3522 "parser.cpp" +#line 3512 "parser.cpp" break; case 6: /* statement: drop_statement */ #line 524 "parser.y" { (yyval.base_stmt) = (yyvsp[0].drop_stmt); } -#line 3528 "parser.cpp" +#line 3518 "parser.cpp" break; case 7: /* statement: copy_statement */ #line 525 "parser.y" { (yyval.base_stmt) = (yyvsp[0].copy_stmt); } -#line 3534 "parser.cpp" +#line 3524 "parser.cpp" break; case 8: /* statement: show_statement */ #line 526 "parser.y" { (yyval.base_stmt) = (yyvsp[0].show_stmt); } -#line 3540 "parser.cpp" +#line 3530 "parser.cpp" break; case 9: /* statement: select_statement */ #line 527 "parser.y" { (yyval.base_stmt) = (yyvsp[0].select_stmt); } -#line 3546 "parser.cpp" +#line 3536 "parser.cpp" break; case 10: /* statement: delete_statement */ #line 528 "parser.y" { (yyval.base_stmt) = (yyvsp[0].delete_stmt); } -#line 3552 "parser.cpp" +#line 3542 "parser.cpp" break; case 11: /* statement: update_statement */ #line 529 "parser.y" { (yyval.base_stmt) = (yyvsp[0].update_stmt); } -#line 3558 "parser.cpp" +#line 3548 "parser.cpp" break; case 12: /* statement: insert_statement */ #line 530 "parser.y" { (yyval.base_stmt) = (yyvsp[0].insert_stmt); } -#line 3564 "parser.cpp" +#line 3554 "parser.cpp" break; case 13: /* statement: explain_statement */ #line 531 "parser.y" { (yyval.base_stmt) = (yyvsp[0].explain_stmt); } -#line 3570 "parser.cpp" +#line 3560 "parser.cpp" break; case 14: /* statement: flush_statement */ #line 532 "parser.y" { (yyval.base_stmt) = (yyvsp[0].flush_stmt); } -#line 3576 "parser.cpp" +#line 3566 "parser.cpp" break; case 15: /* statement: optimize_statement */ #line 533 "parser.y" { (yyval.base_stmt) = (yyvsp[0].optimize_stmt); } -#line 3582 "parser.cpp" +#line 3572 "parser.cpp" break; case 16: /* statement: command_statement */ #line 534 "parser.y" { (yyval.base_stmt) = (yyvsp[0].command_stmt); } -#line 3588 "parser.cpp" +#line 3578 "parser.cpp" break; case 17: /* statement: compact_statement */ #line 535 "parser.y" { (yyval.base_stmt) = (yyvsp[0].compact_stmt); } -#line 3594 "parser.cpp" +#line 3584 "parser.cpp" break; case 18: /* statement: admin_statement */ #line 536 "parser.y" { (yyval.base_stmt) = (yyvsp[0].admin_stmt); } -#line 3600 "parser.cpp" +#line 3590 "parser.cpp" break; case 19: /* statement: alter_statement */ #line 537 "parser.y" { (yyval.base_stmt) = (yyvsp[0].alter_stmt); } -#line 3606 "parser.cpp" +#line 3596 "parser.cpp" break; case 20: /* explainable_statement: create_statement */ #line 539 "parser.y" { (yyval.base_stmt) = (yyvsp[0].create_stmt); } -#line 3612 "parser.cpp" +#line 3602 "parser.cpp" break; case 21: /* explainable_statement: drop_statement */ #line 540 "parser.y" { (yyval.base_stmt) = (yyvsp[0].drop_stmt); } -#line 3618 "parser.cpp" +#line 3608 "parser.cpp" break; case 22: /* explainable_statement: copy_statement */ #line 541 "parser.y" { (yyval.base_stmt) = (yyvsp[0].copy_stmt); } -#line 3624 "parser.cpp" +#line 3614 "parser.cpp" break; case 23: /* explainable_statement: show_statement */ #line 542 "parser.y" { (yyval.base_stmt) = (yyvsp[0].show_stmt); } -#line 3630 "parser.cpp" +#line 3620 "parser.cpp" break; case 24: /* explainable_statement: select_statement */ #line 543 "parser.y" { (yyval.base_stmt) = (yyvsp[0].select_stmt); } -#line 3636 "parser.cpp" +#line 3626 "parser.cpp" break; case 25: /* explainable_statement: delete_statement */ #line 544 "parser.y" { (yyval.base_stmt) = (yyvsp[0].delete_stmt); } -#line 3642 "parser.cpp" +#line 3632 "parser.cpp" break; case 26: /* explainable_statement: update_statement */ #line 545 "parser.y" { (yyval.base_stmt) = (yyvsp[0].update_stmt); } -#line 3648 "parser.cpp" +#line 3638 "parser.cpp" break; case 27: /* explainable_statement: insert_statement */ #line 546 "parser.y" { (yyval.base_stmt) = (yyvsp[0].insert_stmt); } -#line 3654 "parser.cpp" +#line 3644 "parser.cpp" break; case 28: /* explainable_statement: flush_statement */ #line 547 "parser.y" { (yyval.base_stmt) = (yyvsp[0].flush_stmt); } -#line 3660 "parser.cpp" +#line 3650 "parser.cpp" break; case 29: /* explainable_statement: optimize_statement */ #line 548 "parser.y" { (yyval.base_stmt) = (yyvsp[0].optimize_stmt); } -#line 3666 "parser.cpp" +#line 3656 "parser.cpp" break; case 30: /* explainable_statement: command_statement */ #line 549 "parser.y" { (yyval.base_stmt) = (yyvsp[0].command_stmt); } -#line 3672 "parser.cpp" +#line 3662 "parser.cpp" break; case 31: /* explainable_statement: compact_statement */ #line 550 "parser.y" { (yyval.base_stmt) = (yyvsp[0].compact_stmt); } -#line 3678 "parser.cpp" +#line 3668 "parser.cpp" break; case 32: /* create_statement: CREATE DATABASE if_not_exists IDENTIFIER */ @@ -3694,7 +3684,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 3698 "parser.cpp" +#line 3688 "parser.cpp" break; case 33: /* create_statement: CREATE COLLECTION if_not_exists table_name */ @@ -3712,7 +3702,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 3716 "parser.cpp" +#line 3706 "parser.cpp" break; case 34: /* create_statement: CREATE TABLE if_not_exists table_name '(' table_element_array ')' optional_table_properties_list */ @@ -3745,7 +3735,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 3749 "parser.cpp" +#line 3739 "parser.cpp" break; case 35: /* create_statement: CREATE TABLE if_not_exists table_name AS select_statement */ @@ -3765,7 +3755,7 @@ YYLTYPE yylloc = yyloc_default; create_table_info->select_ = (yyvsp[0].select_stmt); (yyval.create_stmt)->create_info_ = create_table_info; } -#line 3769 "parser.cpp" +#line 3759 "parser.cpp" break; case 36: /* create_statement: CREATE VIEW if_not_exists table_name optional_identifier_array AS select_statement */ @@ -3786,7 +3776,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 3790 "parser.cpp" +#line 3780 "parser.cpp" break; case 37: /* create_statement: CREATE INDEX if_not_exists_info ON table_name index_info */ @@ -3819,7 +3809,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.create_stmt) = new infinity::CreateStatement(); (yyval.create_stmt)->create_info_ = create_index_info; } -#line 3823 "parser.cpp" +#line 3813 "parser.cpp" break; case 38: /* table_element_array: table_element */ @@ -3828,7 +3818,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 3832 "parser.cpp" +#line 3822 "parser.cpp" break; case 39: /* table_element_array: table_element_array ',' table_element */ @@ -3837,7 +3827,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 3841 "parser.cpp" +#line 3831 "parser.cpp" break; case 40: /* column_def_array: table_column */ @@ -3846,7 +3836,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 3850 "parser.cpp" +#line 3840 "parser.cpp" break; case 41: /* column_def_array: column_def_array ',' table_column */ @@ -3855,7 +3845,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 3859 "parser.cpp" +#line 3849 "parser.cpp" break; case 42: /* table_element: table_column */ @@ -3863,7 +3853,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_element_t) = (yyvsp[0].table_column_t); } -#line 3867 "parser.cpp" +#line 3857 "parser.cpp" break; case 43: /* table_element: table_constraint */ @@ -3871,7 +3861,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_element_t) = (yyvsp[0].table_constraint_t); } -#line 3875 "parser.cpp" +#line 3865 "parser.cpp" break; case 44: /* table_column: IDENTIFIER column_type with_index_param_list default_expr */ @@ -3927,7 +3917,7 @@ YYLTYPE yylloc = yyloc_default; } */ } -#line 3931 "parser.cpp" +#line 3921 "parser.cpp" break; case 45: /* table_column: IDENTIFIER column_type column_constraints default_expr */ @@ -3969,559 +3959,559 @@ YYLTYPE yylloc = yyloc_default; } */ } -#line 3973 "parser.cpp" +#line 3963 "parser.cpp" break; case 46: /* column_type: BOOLEAN */ #line 801 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kBoolean, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 3979 "parser.cpp" +#line 3969 "parser.cpp" break; case 47: /* column_type: TINYINT */ #line 802 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTinyInt, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 3985 "parser.cpp" +#line 3975 "parser.cpp" break; case 48: /* column_type: SMALLINT */ #line 803 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSmallInt, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 3991 "parser.cpp" +#line 3981 "parser.cpp" break; case 49: /* column_type: INTEGER */ #line 804 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kInteger, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 3997 "parser.cpp" +#line 3987 "parser.cpp" break; case 50: /* column_type: INT */ #line 805 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kInteger, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4003 "parser.cpp" +#line 3993 "parser.cpp" break; case 51: /* column_type: BIGINT */ #line 806 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kBigInt, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4009 "parser.cpp" +#line 3999 "parser.cpp" break; case 52: /* column_type: HUGEINT */ #line 807 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kHugeInt, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4015 "parser.cpp" +#line 4005 "parser.cpp" break; case 53: /* column_type: FLOAT */ #line 808 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kFloat, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4021 "parser.cpp" +#line 4011 "parser.cpp" break; case 54: /* column_type: REAL */ #line 809 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kFloat, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4027 "parser.cpp" +#line 4017 "parser.cpp" break; case 55: /* column_type: DOUBLE */ #line 810 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDouble, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4033 "parser.cpp" +#line 4023 "parser.cpp" break; case 56: /* column_type: FLOAT16 */ #line 811 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kFloat16, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4039 "parser.cpp" +#line 4029 "parser.cpp" break; case 57: /* column_type: BFLOAT16 */ #line 812 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kBFloat16, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4045 "parser.cpp" +#line 4035 "parser.cpp" break; case 58: /* column_type: DATE */ #line 813 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDate, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4051 "parser.cpp" +#line 4041 "parser.cpp" break; case 59: /* column_type: TIME */ #line 814 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTime, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4057 "parser.cpp" +#line 4047 "parser.cpp" break; case 60: /* column_type: DATETIME */ #line 815 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDateTime, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4063 "parser.cpp" +#line 4053 "parser.cpp" break; case 61: /* column_type: TIMESTAMP */ #line 816 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTimestamp, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4069 "parser.cpp" +#line 4059 "parser.cpp" break; case 62: /* column_type: UUID */ #line 817 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kUuid, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4075 "parser.cpp" +#line 4065 "parser.cpp" break; case 63: /* column_type: POINT */ #line 818 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kPoint, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4081 "parser.cpp" +#line 4071 "parser.cpp" break; case 64: /* column_type: LINE */ #line 819 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kLine, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4087 "parser.cpp" +#line 4077 "parser.cpp" break; case 65: /* column_type: LSEG */ #line 820 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kLineSeg, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4093 "parser.cpp" +#line 4083 "parser.cpp" break; case 66: /* column_type: BOX */ #line 821 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kBox, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4099 "parser.cpp" +#line 4089 "parser.cpp" break; case 67: /* column_type: CIRCLE */ #line 824 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kCircle, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4105 "parser.cpp" +#line 4095 "parser.cpp" break; case 68: /* column_type: VARCHAR */ #line 826 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kVarchar, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4111 "parser.cpp" +#line 4101 "parser.cpp" break; case 69: /* column_type: DECIMAL '(' LONG_VALUE ',' LONG_VALUE ')' */ #line 827 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDecimal, 0, (yyvsp[-3].long_value), (yyvsp[-1].long_value), infinity::EmbeddingDataType::kElemInvalid}; } -#line 4117 "parser.cpp" +#line 4107 "parser.cpp" break; case 70: /* column_type: DECIMAL '(' LONG_VALUE ')' */ #line 828 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDecimal, 0, (yyvsp[-1].long_value), 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4123 "parser.cpp" +#line 4113 "parser.cpp" break; case 71: /* column_type: DECIMAL */ #line 829 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kDecimal, 0, 0, 0, infinity::EmbeddingDataType::kElemInvalid}; } -#line 4129 "parser.cpp" +#line 4119 "parser.cpp" break; case 72: /* column_type: EMBEDDING '(' BIT ',' LONG_VALUE ')' */ #line 832 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4135 "parser.cpp" +#line 4125 "parser.cpp" break; case 73: /* column_type: EMBEDDING '(' TINYINT ',' LONG_VALUE ')' */ #line 833 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4141 "parser.cpp" +#line 4131 "parser.cpp" break; case 74: /* column_type: EMBEDDING '(' SMALLINT ',' LONG_VALUE ')' */ #line 834 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4147 "parser.cpp" +#line 4137 "parser.cpp" break; case 75: /* column_type: EMBEDDING '(' INTEGER ',' LONG_VALUE ')' */ #line 835 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4153 "parser.cpp" +#line 4143 "parser.cpp" break; case 76: /* column_type: EMBEDDING '(' INT ',' LONG_VALUE ')' */ #line 836 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4159 "parser.cpp" +#line 4149 "parser.cpp" break; case 77: /* column_type: EMBEDDING '(' BIGINT ',' LONG_VALUE ')' */ #line 837 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4165 "parser.cpp" +#line 4155 "parser.cpp" break; case 78: /* column_type: EMBEDDING '(' FLOAT ',' LONG_VALUE ')' */ #line 838 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4171 "parser.cpp" +#line 4161 "parser.cpp" break; case 79: /* column_type: EMBEDDING '(' DOUBLE ',' LONG_VALUE ')' */ #line 839 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4177 "parser.cpp" +#line 4167 "parser.cpp" break; case 80: /* column_type: EMBEDDING '(' FLOAT16 ',' LONG_VALUE ')' */ #line 840 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4183 "parser.cpp" +#line 4173 "parser.cpp" break; case 81: /* column_type: EMBEDDING '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 841 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4189 "parser.cpp" +#line 4179 "parser.cpp" break; case 82: /* column_type: EMBEDDING '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 842 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4195 "parser.cpp" +#line 4185 "parser.cpp" break; case 83: /* column_type: MULTIVECTOR '(' BIT ',' LONG_VALUE ')' */ #line 843 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4201 "parser.cpp" +#line 4191 "parser.cpp" break; case 84: /* column_type: MULTIVECTOR '(' TINYINT ',' LONG_VALUE ')' */ #line 844 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4207 "parser.cpp" +#line 4197 "parser.cpp" break; case 85: /* column_type: MULTIVECTOR '(' SMALLINT ',' LONG_VALUE ')' */ #line 845 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4213 "parser.cpp" +#line 4203 "parser.cpp" break; case 86: /* column_type: MULTIVECTOR '(' INTEGER ',' LONG_VALUE ')' */ #line 846 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4219 "parser.cpp" +#line 4209 "parser.cpp" break; case 87: /* column_type: MULTIVECTOR '(' INT ',' LONG_VALUE ')' */ #line 847 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4225 "parser.cpp" +#line 4215 "parser.cpp" break; case 88: /* column_type: MULTIVECTOR '(' BIGINT ',' LONG_VALUE ')' */ #line 848 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4231 "parser.cpp" +#line 4221 "parser.cpp" break; case 89: /* column_type: MULTIVECTOR '(' FLOAT ',' LONG_VALUE ')' */ #line 849 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4237 "parser.cpp" +#line 4227 "parser.cpp" break; case 90: /* column_type: MULTIVECTOR '(' DOUBLE ',' LONG_VALUE ')' */ #line 850 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4243 "parser.cpp" +#line 4233 "parser.cpp" break; case 91: /* column_type: MULTIVECTOR '(' FLOAT16 ',' LONG_VALUE ')' */ #line 851 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4249 "parser.cpp" +#line 4239 "parser.cpp" break; case 92: /* column_type: MULTIVECTOR '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 852 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4255 "parser.cpp" +#line 4245 "parser.cpp" break; case 93: /* column_type: MULTIVECTOR '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 853 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kMultiVector, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4261 "parser.cpp" +#line 4251 "parser.cpp" break; case 94: /* column_type: TENSOR '(' BIT ',' LONG_VALUE ')' */ #line 854 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4267 "parser.cpp" +#line 4257 "parser.cpp" break; case 95: /* column_type: TENSOR '(' TINYINT ',' LONG_VALUE ')' */ #line 855 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4273 "parser.cpp" +#line 4263 "parser.cpp" break; case 96: /* column_type: TENSOR '(' SMALLINT ',' LONG_VALUE ')' */ #line 856 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4279 "parser.cpp" +#line 4269 "parser.cpp" break; case 97: /* column_type: TENSOR '(' INTEGER ',' LONG_VALUE ')' */ #line 857 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4285 "parser.cpp" +#line 4275 "parser.cpp" break; case 98: /* column_type: TENSOR '(' INT ',' LONG_VALUE ')' */ #line 858 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4291 "parser.cpp" +#line 4281 "parser.cpp" break; case 99: /* column_type: TENSOR '(' BIGINT ',' LONG_VALUE ')' */ #line 859 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4297 "parser.cpp" +#line 4287 "parser.cpp" break; case 100: /* column_type: TENSOR '(' FLOAT ',' LONG_VALUE ')' */ #line 860 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4303 "parser.cpp" +#line 4293 "parser.cpp" break; case 101: /* column_type: TENSOR '(' DOUBLE ',' LONG_VALUE ')' */ #line 861 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4309 "parser.cpp" +#line 4299 "parser.cpp" break; case 102: /* column_type: TENSOR '(' FLOAT16 ',' LONG_VALUE ')' */ #line 862 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4315 "parser.cpp" +#line 4305 "parser.cpp" break; case 103: /* column_type: TENSOR '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 863 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4321 "parser.cpp" +#line 4311 "parser.cpp" break; case 104: /* column_type: TENSOR '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 864 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensor, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4327 "parser.cpp" +#line 4317 "parser.cpp" break; case 105: /* column_type: TENSORARRAY '(' BIT ',' LONG_VALUE ')' */ #line 865 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4333 "parser.cpp" +#line 4323 "parser.cpp" break; case 106: /* column_type: TENSORARRAY '(' TINYINT ',' LONG_VALUE ')' */ #line 866 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4339 "parser.cpp" +#line 4329 "parser.cpp" break; case 107: /* column_type: TENSORARRAY '(' SMALLINT ',' LONG_VALUE ')' */ #line 867 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4345 "parser.cpp" +#line 4335 "parser.cpp" break; case 108: /* column_type: TENSORARRAY '(' INTEGER ',' LONG_VALUE ')' */ #line 868 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4351 "parser.cpp" +#line 4341 "parser.cpp" break; case 109: /* column_type: TENSORARRAY '(' INT ',' LONG_VALUE ')' */ #line 869 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4357 "parser.cpp" +#line 4347 "parser.cpp" break; case 110: /* column_type: TENSORARRAY '(' BIGINT ',' LONG_VALUE ')' */ #line 870 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4363 "parser.cpp" +#line 4353 "parser.cpp" break; case 111: /* column_type: TENSORARRAY '(' FLOAT ',' LONG_VALUE ')' */ #line 871 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4369 "parser.cpp" +#line 4359 "parser.cpp" break; case 112: /* column_type: TENSORARRAY '(' DOUBLE ',' LONG_VALUE ')' */ #line 872 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4375 "parser.cpp" +#line 4365 "parser.cpp" break; case 113: /* column_type: TENSORARRAY '(' FLOAT16 ',' LONG_VALUE ')' */ #line 873 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4381 "parser.cpp" +#line 4371 "parser.cpp" break; case 114: /* column_type: TENSORARRAY '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 874 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4387 "parser.cpp" +#line 4377 "parser.cpp" break; case 115: /* column_type: TENSORARRAY '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 875 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kTensorArray, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4393 "parser.cpp" +#line 4383 "parser.cpp" break; case 116: /* column_type: VECTOR '(' BIT ',' LONG_VALUE ')' */ #line 876 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4399 "parser.cpp" +#line 4389 "parser.cpp" break; case 117: /* column_type: VECTOR '(' TINYINT ',' LONG_VALUE ')' */ #line 877 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4405 "parser.cpp" +#line 4395 "parser.cpp" break; case 118: /* column_type: VECTOR '(' SMALLINT ',' LONG_VALUE ')' */ #line 878 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4411 "parser.cpp" +#line 4401 "parser.cpp" break; case 119: /* column_type: VECTOR '(' INTEGER ',' LONG_VALUE ')' */ #line 879 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4417 "parser.cpp" +#line 4407 "parser.cpp" break; case 120: /* column_type: VECTOR '(' INT ',' LONG_VALUE ')' */ #line 880 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4423 "parser.cpp" +#line 4413 "parser.cpp" break; case 121: /* column_type: VECTOR '(' BIGINT ',' LONG_VALUE ')' */ #line 881 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4429 "parser.cpp" +#line 4419 "parser.cpp" break; case 122: /* column_type: VECTOR '(' FLOAT ',' LONG_VALUE ')' */ #line 882 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4435 "parser.cpp" +#line 4425 "parser.cpp" break; case 123: /* column_type: VECTOR '(' DOUBLE ',' LONG_VALUE ')' */ #line 883 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4441 "parser.cpp" +#line 4431 "parser.cpp" break; case 124: /* column_type: VECTOR '(' FLOAT16 ',' LONG_VALUE ')' */ #line 884 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4447 "parser.cpp" +#line 4437 "parser.cpp" break; case 125: /* column_type: VECTOR '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 885 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4453 "parser.cpp" +#line 4443 "parser.cpp" break; case 126: /* column_type: VECTOR '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 886 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kEmbedding, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4459 "parser.cpp" +#line 4449 "parser.cpp" break; case 127: /* column_type: SPARSE '(' BIT ',' LONG_VALUE ')' */ #line 887 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBit}; } -#line 4465 "parser.cpp" +#line 4455 "parser.cpp" break; case 128: /* column_type: SPARSE '(' TINYINT ',' LONG_VALUE ')' */ #line 888 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt8}; } -#line 4471 "parser.cpp" +#line 4461 "parser.cpp" break; case 129: /* column_type: SPARSE '(' SMALLINT ',' LONG_VALUE ')' */ #line 889 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt16}; } -#line 4477 "parser.cpp" +#line 4467 "parser.cpp" break; case 130: /* column_type: SPARSE '(' INTEGER ',' LONG_VALUE ')' */ #line 890 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4483 "parser.cpp" +#line 4473 "parser.cpp" break; case 131: /* column_type: SPARSE '(' INT ',' LONG_VALUE ')' */ #line 891 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt32}; } -#line 4489 "parser.cpp" +#line 4479 "parser.cpp" break; case 132: /* column_type: SPARSE '(' BIGINT ',' LONG_VALUE ')' */ #line 892 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemInt64}; } -#line 4495 "parser.cpp" +#line 4485 "parser.cpp" break; case 133: /* column_type: SPARSE '(' FLOAT ',' LONG_VALUE ')' */ #line 893 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat}; } -#line 4501 "parser.cpp" +#line 4491 "parser.cpp" break; case 134: /* column_type: SPARSE '(' DOUBLE ',' LONG_VALUE ')' */ #line 894 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemDouble}; } -#line 4507 "parser.cpp" +#line 4497 "parser.cpp" break; case 135: /* column_type: SPARSE '(' FLOAT16 ',' LONG_VALUE ')' */ #line 895 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemFloat16}; } -#line 4513 "parser.cpp" +#line 4503 "parser.cpp" break; case 136: /* column_type: SPARSE '(' BFLOAT16 ',' LONG_VALUE ')' */ #line 896 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemBFloat16}; } -#line 4519 "parser.cpp" +#line 4509 "parser.cpp" break; case 137: /* column_type: SPARSE '(' UNSIGNED TINYINT ',' LONG_VALUE ')' */ #line 897 "parser.y" { (yyval.column_type_t) = infinity::ColumnType{infinity::LogicalType::kSparse, (yyvsp[-1].long_value), 0, 0, infinity::EmbeddingDataType::kElemUInt8}; } -#line 4525 "parser.cpp" +#line 4515 "parser.cpp" break; case 138: /* column_constraints: column_constraint */ @@ -4530,7 +4520,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.column_constraints_t) = new std::set(); (yyval.column_constraints_t)->insert((yyvsp[0].column_constraint_t)); } -#line 4534 "parser.cpp" +#line 4524 "parser.cpp" break; case 139: /* column_constraints: column_constraints column_constraint */ @@ -4544,7 +4534,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 4548 "parser.cpp" +#line 4538 "parser.cpp" break; case 140: /* column_constraint: PRIMARY KEY */ @@ -4552,7 +4542,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.column_constraint_t) = infinity::ConstraintType::kPrimaryKey; } -#line 4556 "parser.cpp" +#line 4546 "parser.cpp" break; case 141: /* column_constraint: UNIQUE */ @@ -4560,7 +4550,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.column_constraint_t) = infinity::ConstraintType::kUnique; } -#line 4564 "parser.cpp" +#line 4554 "parser.cpp" break; case 142: /* column_constraint: NULLABLE */ @@ -4568,7 +4558,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.column_constraint_t) = infinity::ConstraintType::kNull; } -#line 4572 "parser.cpp" +#line 4562 "parser.cpp" break; case 143: /* column_constraint: NOT NULLABLE */ @@ -4576,7 +4566,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.column_constraint_t) = infinity::ConstraintType::kNotNull; } -#line 4580 "parser.cpp" +#line 4570 "parser.cpp" break; case 144: /* default_expr: DEFAULT constant_expr */ @@ -4584,7 +4574,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 4588 "parser.cpp" +#line 4578 "parser.cpp" break; case 145: /* default_expr: %empty */ @@ -4592,7 +4582,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.const_expr_t) = nullptr; } -#line 4596 "parser.cpp" +#line 4586 "parser.cpp" break; case 146: /* table_constraint: PRIMARY KEY '(' identifier_array ')' */ @@ -4602,7 +4592,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 4606 "parser.cpp" +#line 4596 "parser.cpp" break; case 147: /* table_constraint: UNIQUE '(' identifier_array ')' */ @@ -4612,7 +4602,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 4616 "parser.cpp" +#line 4606 "parser.cpp" break; case 148: /* identifier_array: IDENTIFIER */ @@ -4623,7 +4613,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.identifier_array_t)->emplace_back((yyvsp[0].str_value)); free((yyvsp[0].str_value)); } -#line 4627 "parser.cpp" +#line 4617 "parser.cpp" break; case 149: /* identifier_array: identifier_array ',' IDENTIFIER */ @@ -4634,7 +4624,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].str_value)); (yyval.identifier_array_t) = (yyvsp[-2].identifier_array_t); } -#line 4638 "parser.cpp" +#line 4628 "parser.cpp" break; case 150: /* delete_statement: DELETE FROM table_name where_clause */ @@ -4651,7 +4641,7 @@ YYLTYPE yylloc = yyloc_default; delete (yyvsp[-1].table_name_t); (yyval.delete_stmt)->where_expr_ = (yyvsp[0].expr_t); } -#line 4655 "parser.cpp" +#line 4645 "parser.cpp" break; case 151: /* insert_statement: INSERT INTO table_name optional_identifier_array VALUES expr_array_list */ @@ -4690,7 +4680,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.insert_stmt)->columns_ = (yyvsp[-2].identifier_array_t); (yyval.insert_stmt)->values_ = (yyvsp[0].expr_array_list_t); } -#line 4694 "parser.cpp" +#line 4684 "parser.cpp" break; case 152: /* insert_statement: INSERT INTO table_name optional_identifier_array select_without_paren */ @@ -4707,7 +4697,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.insert_stmt)->columns_ = (yyvsp[-1].identifier_array_t); (yyval.insert_stmt)->select_ = (yyvsp[0].select_stmt); } -#line 4711 "parser.cpp" +#line 4701 "parser.cpp" break; case 153: /* optional_identifier_array: '(' identifier_array ')' */ @@ -4715,7 +4705,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.identifier_array_t) = (yyvsp[-1].identifier_array_t); } -#line 4719 "parser.cpp" +#line 4709 "parser.cpp" break; case 154: /* optional_identifier_array: %empty */ @@ -4723,7 +4713,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.identifier_array_t) = nullptr; } -#line 4727 "parser.cpp" +#line 4717 "parser.cpp" break; case 155: /* explain_statement: EXPLAIN IDENTIFIER explainable_statement */ @@ -4741,7 +4731,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].str_value)); (yyval.explain_stmt)->statement_ = (yyvsp[0].base_stmt); } -#line 4745 "parser.cpp" +#line 4735 "parser.cpp" break; case 156: /* explain_statement: EXPLAIN explainable_statement */ @@ -4751,7 +4741,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.explain_stmt)->type_ =infinity::ExplainType::kPhysical; (yyval.explain_stmt)->statement_ = (yyvsp[0].base_stmt); } -#line 4755 "parser.cpp" +#line 4745 "parser.cpp" break; case 157: /* update_statement: UPDATE table_name SET update_expr_array where_clause */ @@ -4768,7 +4758,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 4772 "parser.cpp" +#line 4762 "parser.cpp" break; case 158: /* update_expr_array: update_expr */ @@ -4777,7 +4767,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 4781 "parser.cpp" +#line 4771 "parser.cpp" break; case 159: /* update_expr_array: update_expr_array ',' update_expr */ @@ -4786,7 +4776,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 4790 "parser.cpp" +#line 4780 "parser.cpp" break; case 160: /* update_expr: IDENTIFIER '=' expr */ @@ -4798,7 +4788,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-2].str_value)); (yyval.update_expr_t)->value = (yyvsp[0].expr_t); } -#line 4802 "parser.cpp" +#line 4792 "parser.cpp" break; case 161: /* drop_statement: DROP DATABASE if_exists IDENTIFIER */ @@ -4814,7 +4804,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 4818 "parser.cpp" +#line 4808 "parser.cpp" break; case 162: /* drop_statement: DROP COLLECTION if_exists table_name */ @@ -4832,7 +4822,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 4836 "parser.cpp" +#line 4826 "parser.cpp" break; case 163: /* drop_statement: DROP TABLE if_exists table_name */ @@ -4850,7 +4840,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 4854 "parser.cpp" +#line 4844 "parser.cpp" break; case 164: /* drop_statement: DROP VIEW if_exists table_name */ @@ -4868,7 +4858,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 4872 "parser.cpp" +#line 4862 "parser.cpp" break; case 165: /* drop_statement: DROP INDEX if_exists IDENTIFIER ON table_name */ @@ -4891,7 +4881,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].table_name_t)->table_name_ptr_); delete (yyvsp[0].table_name_t); } -#line 4895 "parser.cpp" +#line 4885 "parser.cpp" break; case 166: /* copy_statement: COPY table_name TO file_path WITH '(' copy_option_list ')' */ @@ -4949,7 +4939,7 @@ YYLTYPE yylloc = yyloc_default; } delete (yyvsp[-1].copy_option_array); } -#line 4953 "parser.cpp" +#line 4943 "parser.cpp" break; case 167: /* copy_statement: COPY table_name '(' expr_array ')' TO file_path WITH '(' copy_option_list ')' */ @@ -5009,7 +4999,7 @@ YYLTYPE yylloc = yyloc_default; } delete (yyvsp[-1].copy_option_array); } -#line 5013 "parser.cpp" +#line 5003 "parser.cpp" break; case 168: /* copy_statement: COPY table_name FROM file_path WITH '(' copy_option_list ')' */ @@ -5061,7 +5051,7 @@ YYLTYPE yylloc = yyloc_default; } delete (yyvsp[-1].copy_option_array); } -#line 5065 "parser.cpp" +#line 5055 "parser.cpp" break; case 169: /* select_statement: select_without_paren */ @@ -5069,7 +5059,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[0].select_stmt); } -#line 5073 "parser.cpp" +#line 5063 "parser.cpp" break; case 170: /* select_statement: select_with_paren */ @@ -5077,7 +5067,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[0].select_stmt); } -#line 5081 "parser.cpp" +#line 5071 "parser.cpp" break; case 171: /* select_statement: select_statement set_operator select_clause_without_modifier_paren */ @@ -5091,7 +5081,7 @@ YYLTYPE yylloc = yyloc_default; node->nested_select_ = (yyvsp[0].select_stmt); (yyval.select_stmt) = (yyvsp[-2].select_stmt); } -#line 5095 "parser.cpp" +#line 5085 "parser.cpp" break; case 172: /* select_statement: select_statement set_operator select_clause_without_modifier */ @@ -5105,7 +5095,7 @@ YYLTYPE yylloc = yyloc_default; node->nested_select_ = (yyvsp[0].select_stmt); (yyval.select_stmt) = (yyvsp[-2].select_stmt); } -#line 5109 "parser.cpp" +#line 5099 "parser.cpp" break; case 173: /* select_with_paren: '(' select_without_paren ')' */ @@ -5113,7 +5103,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 5117 "parser.cpp" +#line 5107 "parser.cpp" break; case 174: /* select_with_paren: '(' select_with_paren ')' */ @@ -5121,7 +5111,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 5125 "parser.cpp" +#line 5115 "parser.cpp" break; case 175: /* select_without_paren: with_clause select_clause_with_modifier */ @@ -5130,7 +5120,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 5134 "parser.cpp" +#line 5124 "parser.cpp" break; case 176: /* select_clause_with_modifier: select_clause_without_modifier order_by_clause limit_expr offset_expr */ @@ -5161,7 +5151,7 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-3].select_stmt)->offset_expr_ = (yyvsp[0].expr_t); (yyval.select_stmt) = (yyvsp[-3].select_stmt); } -#line 5165 "parser.cpp" +#line 5155 "parser.cpp" break; case 177: /* select_clause_without_modifier_paren: '(' select_clause_without_modifier ')' */ @@ -5169,7 +5159,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 5173 "parser.cpp" +#line 5163 "parser.cpp" break; case 178: /* select_clause_without_modifier_paren: '(' select_clause_without_modifier_paren ')' */ @@ -5177,7 +5167,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 5181 "parser.cpp" +#line 5171 "parser.cpp" break; case 179: /* select_clause_without_modifier: SELECT distinct expr_array from_clause search_clause where_clause group_by_clause having_clause */ @@ -5197,7 +5187,7 @@ YYLTYPE yylloc = yyloc_default; YYERROR; } } -#line 5201 "parser.cpp" +#line 5191 "parser.cpp" break; case 180: /* order_by_clause: ORDER BY order_by_expr_list */ @@ -5205,7 +5195,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.order_by_expr_list_t) = (yyvsp[0].order_by_expr_list_t); } -#line 5209 "parser.cpp" +#line 5199 "parser.cpp" break; case 181: /* order_by_clause: %empty */ @@ -5213,7 +5203,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.order_by_expr_list_t) = nullptr; } -#line 5217 "parser.cpp" +#line 5207 "parser.cpp" break; case 182: /* order_by_expr_list: order_by_expr */ @@ -5222,7 +5212,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 5226 "parser.cpp" +#line 5216 "parser.cpp" break; case 183: /* order_by_expr_list: order_by_expr_list ',' order_by_expr */ @@ -5231,7 +5221,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 5235 "parser.cpp" +#line 5225 "parser.cpp" break; case 184: /* order_by_expr: expr order_by_type */ @@ -5241,7 +5231,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 5245 "parser.cpp" +#line 5235 "parser.cpp" break; case 185: /* order_by_type: ASC */ @@ -5249,7 +5239,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.order_by_type_t) = infinity::kAsc; } -#line 5253 "parser.cpp" +#line 5243 "parser.cpp" break; case 186: /* order_by_type: DESC */ @@ -5257,7 +5247,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.order_by_type_t) = infinity::kDesc; } -#line 5261 "parser.cpp" +#line 5251 "parser.cpp" break; case 187: /* order_by_type: %empty */ @@ -5265,7 +5255,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.order_by_type_t) = infinity::kAsc; } -#line 5269 "parser.cpp" +#line 5259 "parser.cpp" break; case 188: /* limit_expr: LIMIT expr */ @@ -5273,13 +5263,13 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 5277 "parser.cpp" +#line 5267 "parser.cpp" break; case 189: /* limit_expr: %empty */ #line 1472 "parser.y" { (yyval.expr_t) = nullptr; } -#line 5283 "parser.cpp" +#line 5273 "parser.cpp" break; case 190: /* offset_expr: OFFSET expr */ @@ -5287,13 +5277,13 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 5291 "parser.cpp" +#line 5281 "parser.cpp" break; case 191: /* offset_expr: %empty */ #line 1478 "parser.y" { (yyval.expr_t) = nullptr; } -#line 5297 "parser.cpp" +#line 5287 "parser.cpp" break; case 192: /* distinct: DISTINCT */ @@ -5301,7 +5291,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.bool_value) = true; } -#line 5305 "parser.cpp" +#line 5295 "parser.cpp" break; case 193: /* distinct: %empty */ @@ -5309,7 +5299,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.bool_value) = false; } -#line 5313 "parser.cpp" +#line 5303 "parser.cpp" break; case 194: /* from_clause: FROM table_reference */ @@ -5317,7 +5307,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_reference_t) = (yyvsp[0].table_reference_t); } -#line 5321 "parser.cpp" +#line 5311 "parser.cpp" break; case 195: /* from_clause: %empty */ @@ -5325,7 +5315,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_reference_t) = nullptr; } -#line 5329 "parser.cpp" +#line 5319 "parser.cpp" break; case 196: /* search_clause: SEARCH sub_search_array */ @@ -5335,7 +5325,7 @@ YYLTYPE yylloc = yyloc_default; search_expr->SetExprs((yyvsp[0].expr_array_t)); (yyval.expr_t) = search_expr; } -#line 5339 "parser.cpp" +#line 5329 "parser.cpp" break; case 197: /* search_clause: %empty */ @@ -5343,7 +5333,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = nullptr; } -#line 5347 "parser.cpp" +#line 5337 "parser.cpp" break; case 198: /* optional_search_filter_expr: ',' WHERE expr */ @@ -5351,7 +5341,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 5355 "parser.cpp" +#line 5345 "parser.cpp" break; case 199: /* optional_search_filter_expr: %empty */ @@ -5359,7 +5349,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = nullptr; } -#line 5363 "parser.cpp" +#line 5353 "parser.cpp" break; case 200: /* where_clause: WHERE expr */ @@ -5367,7 +5357,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 5371 "parser.cpp" +#line 5361 "parser.cpp" break; case 201: /* where_clause: %empty */ @@ -5375,7 +5365,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = nullptr; } -#line 5379 "parser.cpp" +#line 5369 "parser.cpp" break; case 202: /* having_clause: HAVING expr */ @@ -5383,7 +5373,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 5387 "parser.cpp" +#line 5377 "parser.cpp" break; case 203: /* having_clause: %empty */ @@ -5391,7 +5381,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_t) = nullptr; } -#line 5395 "parser.cpp" +#line 5385 "parser.cpp" break; case 204: /* group_by_clause: GROUP BY expr_array */ @@ -5399,7 +5389,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_array_t) = (yyvsp[0].expr_array_t); } -#line 5403 "parser.cpp" +#line 5393 "parser.cpp" break; case 205: /* group_by_clause: %empty */ @@ -5407,7 +5397,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.expr_array_t) = nullptr; } -#line 5411 "parser.cpp" +#line 5401 "parser.cpp" break; case 206: /* set_operator: UNION */ @@ -5415,7 +5405,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.set_operator_t) = infinity::SetOperatorType::kUnion; } -#line 5419 "parser.cpp" +#line 5409 "parser.cpp" break; case 207: /* set_operator: UNION ALL */ @@ -5423,7 +5413,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.set_operator_t) = infinity::SetOperatorType::kUnionAll; } -#line 5427 "parser.cpp" +#line 5417 "parser.cpp" break; case 208: /* set_operator: INTERSECT */ @@ -5431,7 +5421,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.set_operator_t) = infinity::SetOperatorType::kIntersect; } -#line 5435 "parser.cpp" +#line 5425 "parser.cpp" break; case 209: /* set_operator: EXCEPT */ @@ -5439,7 +5429,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.set_operator_t) = infinity::SetOperatorType::kExcept; } -#line 5443 "parser.cpp" +#line 5433 "parser.cpp" break; case 210: /* table_reference: table_reference_unit */ @@ -5447,7 +5437,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_reference_t) = (yyvsp[0].table_reference_t); } -#line 5451 "parser.cpp" +#line 5441 "parser.cpp" break; case 211: /* table_reference: table_reference ',' table_reference_unit */ @@ -5465,7 +5455,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.table_reference_t) = cross_product_ref; } -#line 5469 "parser.cpp" +#line 5459 "parser.cpp" break; case 214: /* table_reference_name: table_name table_alias */ @@ -5483,7 +5473,7 @@ YYLTYPE yylloc = yyloc_default; table_ref->alias_ = (yyvsp[0].table_alias_t); (yyval.table_reference_t) = table_ref; } -#line 5487 "parser.cpp" +#line 5477 "parser.cpp" break; case 215: /* table_reference_name: '(' select_statement ')' table_alias */ @@ -5494,7 +5484,7 @@ YYLTYPE yylloc = yyloc_default; subquery_reference->alias_ = (yyvsp[0].table_alias_t); (yyval.table_reference_t) = subquery_reference; } -#line 5498 "parser.cpp" +#line 5488 "parser.cpp" break; case 216: /* table_name: IDENTIFIER */ @@ -5504,7 +5494,7 @@ YYLTYPE yylloc = yyloc_default; ParserHelper::ToLower((yyvsp[0].str_value)); (yyval.table_name_t)->table_name_ptr_ = (yyvsp[0].str_value); } -#line 5508 "parser.cpp" +#line 5498 "parser.cpp" break; case 217: /* table_name: IDENTIFIER '.' IDENTIFIER */ @@ -5516,7 +5506,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 5520 "parser.cpp" +#line 5510 "parser.cpp" break; case 218: /* table_alias: AS IDENTIFIER */ @@ -5526,7 +5516,7 @@ YYLTYPE yylloc = yyloc_default; ParserHelper::ToLower((yyvsp[0].str_value)); (yyval.table_alias_t)->alias_ = (yyvsp[0].str_value); } -#line 5530 "parser.cpp" +#line 5520 "parser.cpp" break; case 219: /* table_alias: IDENTIFIER */ @@ -5536,7 +5526,7 @@ YYLTYPE yylloc = yyloc_default; ParserHelper::ToLower((yyvsp[0].str_value)); (yyval.table_alias_t)->alias_ = (yyvsp[0].str_value); } -#line 5540 "parser.cpp" +#line 5530 "parser.cpp" break; case 220: /* table_alias: AS IDENTIFIER '(' identifier_array ')' */ @@ -5547,7 +5537,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 5551 "parser.cpp" +#line 5541 "parser.cpp" break; case 221: /* table_alias: %empty */ @@ -5555,7 +5545,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.table_alias_t) = nullptr; } -#line 5559 "parser.cpp" +#line 5549 "parser.cpp" break; case 222: /* with_clause: WITH with_expr_list */ @@ -5563,7 +5553,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.with_expr_list_t) = (yyvsp[0].with_expr_list_t); } -#line 5567 "parser.cpp" +#line 5557 "parser.cpp" break; case 223: /* with_clause: %empty */ @@ -5571,7 +5561,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.with_expr_list_t) = nullptr; } -#line 5575 "parser.cpp" +#line 5565 "parser.cpp" break; case 224: /* with_expr_list: with_expr */ @@ -5580,7 +5570,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 5584 "parser.cpp" +#line 5574 "parser.cpp" break; case 225: /* with_expr_list: with_expr_list ',' with_expr */ @@ -5589,7 +5579,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 5593 "parser.cpp" +#line 5583 "parser.cpp" break; case 226: /* with_expr: IDENTIFIER AS '(' select_clause_with_modifier ')' */ @@ -5601,7 +5591,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-4].str_value)); (yyval.with_expr_t)->select_ = (yyvsp[-1].select_stmt); } -#line 5605 "parser.cpp" +#line 5595 "parser.cpp" break; case 227: /* join_clause: table_reference_unit NATURAL JOIN table_reference_name */ @@ -5613,7 +5603,7 @@ YYLTYPE yylloc = yyloc_default; join_reference->join_type_ = infinity::JoinType::kNatural; (yyval.table_reference_t) = join_reference; } -#line 5617 "parser.cpp" +#line 5607 "parser.cpp" break; case 228: /* join_clause: table_reference_unit join_type JOIN table_reference_name ON expr */ @@ -5626,7 +5616,7 @@ YYLTYPE yylloc = yyloc_default; join_reference->condition_ = (yyvsp[0].expr_t); (yyval.table_reference_t) = join_reference; } -#line 5630 "parser.cpp" +#line 5620 "parser.cpp" break; case 229: /* join_type: INNER */ @@ -5634,7 +5624,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kInner; } -#line 5638 "parser.cpp" +#line 5628 "parser.cpp" break; case 230: /* join_type: LEFT */ @@ -5642,7 +5632,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kLeft; } -#line 5646 "parser.cpp" +#line 5636 "parser.cpp" break; case 231: /* join_type: RIGHT */ @@ -5650,7 +5640,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kRight; } -#line 5654 "parser.cpp" +#line 5644 "parser.cpp" break; case 232: /* join_type: OUTER */ @@ -5658,7 +5648,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kFull; } -#line 5662 "parser.cpp" +#line 5652 "parser.cpp" break; case 233: /* join_type: FULL */ @@ -5666,7 +5656,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kFull; } -#line 5670 "parser.cpp" +#line 5660 "parser.cpp" break; case 234: /* join_type: CROSS */ @@ -5674,14 +5664,14 @@ YYLTYPE yylloc = yyloc_default; { (yyval.join_type_t) = infinity::JoinType::kCross; } -#line 5678 "parser.cpp" +#line 5668 "parser.cpp" break; case 235: /* join_type: %empty */ #line 1694 "parser.y" { } -#line 5685 "parser.cpp" +#line 5675 "parser.cpp" break; case 236: /* show_statement: SHOW DATABASES */ @@ -5690,7 +5680,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kDatabases; } -#line 5694 "parser.cpp" +#line 5684 "parser.cpp" break; case 237: /* show_statement: SHOW TABLES */ @@ -5699,7 +5689,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kTables; } -#line 5703 "parser.cpp" +#line 5693 "parser.cpp" break; case 238: /* show_statement: SHOW VIEWS */ @@ -5708,7 +5698,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kViews; } -#line 5712 "parser.cpp" +#line 5702 "parser.cpp" break; case 239: /* show_statement: SHOW CONFIGS */ @@ -5717,7 +5707,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kConfigs; } -#line 5721 "parser.cpp" +#line 5711 "parser.cpp" break; case 240: /* show_statement: SHOW CONFIG IDENTIFIER */ @@ -5729,7 +5719,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->var_name_ = std::string((yyvsp[0].str_value)); free((yyvsp[0].str_value)); } -#line 5733 "parser.cpp" +#line 5723 "parser.cpp" break; case 241: /* show_statement: SHOW PROFILES */ @@ -5738,7 +5728,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kProfiles; } -#line 5742 "parser.cpp" +#line 5732 "parser.cpp" break; case 242: /* show_statement: SHOW BUFFER */ @@ -5747,7 +5737,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kBuffer; } -#line 5751 "parser.cpp" +#line 5741 "parser.cpp" break; case 243: /* show_statement: SHOW MEMINDEX */ @@ -5756,7 +5746,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kMemIndex; } -#line 5760 "parser.cpp" +#line 5750 "parser.cpp" break; case 244: /* show_statement: SHOW QUERIES */ @@ -5765,7 +5755,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kQueries; } -#line 5769 "parser.cpp" +#line 5759 "parser.cpp" break; case 245: /* show_statement: SHOW QUERY LONG_VALUE */ @@ -5775,7 +5765,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kQuery; (yyval.show_stmt)->session_id_ = (yyvsp[0].long_value); } -#line 5779 "parser.cpp" +#line 5769 "parser.cpp" break; case 246: /* show_statement: SHOW TRANSACTIONS */ @@ -5784,7 +5774,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kTransactions; } -#line 5788 "parser.cpp" +#line 5778 "parser.cpp" break; case 247: /* show_statement: SHOW TRANSACTION LONG_VALUE */ @@ -5794,7 +5784,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kTransaction; (yyval.show_stmt)->txn_id_ = (yyvsp[0].long_value); } -#line 5798 "parser.cpp" +#line 5788 "parser.cpp" break; case 248: /* show_statement: SHOW SESSION VARIABLES */ @@ -5803,7 +5793,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kSessionVariables; } -#line 5807 "parser.cpp" +#line 5797 "parser.cpp" break; case 249: /* show_statement: SHOW GLOBAL VARIABLES */ @@ -5812,7 +5802,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kGlobalVariables; } -#line 5816 "parser.cpp" +#line 5806 "parser.cpp" break; case 250: /* show_statement: SHOW SESSION VARIABLE IDENTIFIER */ @@ -5823,7 +5813,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->var_name_ = std::string((yyvsp[0].str_value)); free((yyvsp[0].str_value)); } -#line 5827 "parser.cpp" +#line 5817 "parser.cpp" break; case 251: /* show_statement: SHOW GLOBAL VARIABLE IDENTIFIER */ @@ -5834,7 +5824,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->var_name_ = std::string((yyvsp[0].str_value)); free((yyvsp[0].str_value)); } -#line 5838 "parser.cpp" +#line 5828 "parser.cpp" break; case 252: /* show_statement: SHOW DATABASE IDENTIFIER */ @@ -5845,7 +5835,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->schema_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 5849 "parser.cpp" +#line 5839 "parser.cpp" break; case 253: /* show_statement: SHOW TABLE table_name */ @@ -5861,7 +5851,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].table_name_t)->table_name_ptr_); delete (yyvsp[0].table_name_t); } -#line 5865 "parser.cpp" +#line 5855 "parser.cpp" break; case 254: /* show_statement: SHOW TABLE table_name COLUMNS */ @@ -5877,7 +5867,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].table_name_t)->table_name_ptr_); delete (yyvsp[-1].table_name_t); } -#line 5881 "parser.cpp" +#line 5871 "parser.cpp" break; case 255: /* show_statement: SHOW TABLE table_name SEGMENTS */ @@ -5893,7 +5883,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].table_name_t)->table_name_ptr_); delete (yyvsp[-1].table_name_t); } -#line 5897 "parser.cpp" +#line 5887 "parser.cpp" break; case 256: /* show_statement: SHOW TABLE table_name SEGMENT LONG_VALUE */ @@ -5910,7 +5900,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->segment_id_ = (yyvsp[0].long_value); delete (yyvsp[-2].table_name_t); } -#line 5914 "parser.cpp" +#line 5904 "parser.cpp" break; case 257: /* show_statement: SHOW TABLE table_name SEGMENT LONG_VALUE BLOCKS */ @@ -5927,7 +5917,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->segment_id_ = (yyvsp[-1].long_value); delete (yyvsp[-3].table_name_t); } -#line 5931 "parser.cpp" +#line 5921 "parser.cpp" break; case 258: /* show_statement: SHOW TABLE table_name SEGMENT LONG_VALUE BLOCK LONG_VALUE */ @@ -5945,7 +5935,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->block_id_ = (yyvsp[0].long_value); delete (yyvsp[-4].table_name_t); } -#line 5949 "parser.cpp" +#line 5939 "parser.cpp" break; case 259: /* show_statement: SHOW TABLE table_name SEGMENT LONG_VALUE BLOCK LONG_VALUE COLUMN LONG_VALUE */ @@ -5964,7 +5954,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->column_id_ = (yyvsp[0].long_value); delete (yyvsp[-6].table_name_t); } -#line 5968 "parser.cpp" +#line 5958 "parser.cpp" break; case 260: /* show_statement: SHOW TABLE table_name INDEXES */ @@ -5980,7 +5970,7 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].table_name_t)->table_name_ptr_); delete (yyvsp[-1].table_name_t); } -#line 5984 "parser.cpp" +#line 5974 "parser.cpp" break; case 261: /* show_statement: SHOW TABLE table_name INDEX IDENTIFIER */ @@ -5999,7 +5989,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->index_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 6003 "parser.cpp" +#line 5993 "parser.cpp" break; case 262: /* show_statement: SHOW TABLE table_name INDEX IDENTIFIER SEGMENT LONG_VALUE */ @@ -6020,7 +6010,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->segment_id_ = (yyvsp[0].long_value); } -#line 6024 "parser.cpp" +#line 6014 "parser.cpp" break; case 263: /* show_statement: SHOW TABLE table_name INDEX IDENTIFIER SEGMENT LONG_VALUE CHUNK LONG_VALUE */ @@ -6042,7 +6032,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->segment_id_ = (yyvsp[-2].long_value); (yyval.show_stmt)->chunk_id_ = (yyvsp[0].long_value); } -#line 6046 "parser.cpp" +#line 6036 "parser.cpp" break; case 264: /* show_statement: SHOW LOGS */ @@ -6051,7 +6041,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kLogs; } -#line 6055 "parser.cpp" +#line 6045 "parser.cpp" break; case 265: /* show_statement: SHOW DELTA LOGS */ @@ -6060,7 +6050,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kDeltaLogs; } -#line 6064 "parser.cpp" +#line 6054 "parser.cpp" break; case 266: /* show_statement: SHOW CATALOGS */ @@ -6069,7 +6059,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kCatalogs; } -#line 6073 "parser.cpp" +#line 6063 "parser.cpp" break; case 267: /* show_statement: SHOW PERSISTENCE FILES */ @@ -6078,7 +6068,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kPersistenceFiles; } -#line 6082 "parser.cpp" +#line 6072 "parser.cpp" break; case 268: /* show_statement: SHOW PERSISTENCE OBJECTS */ @@ -6087,7 +6077,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kPersistenceObjects; } -#line 6091 "parser.cpp" +#line 6081 "parser.cpp" break; case 269: /* show_statement: SHOW PERSISTENCE OBJECT STRING */ @@ -6098,7 +6088,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt)->file_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 6102 "parser.cpp" +#line 6092 "parser.cpp" break; case 270: /* show_statement: SHOW MEMORY */ @@ -6107,7 +6097,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kMemory; } -#line 6111 "parser.cpp" +#line 6101 "parser.cpp" break; case 271: /* show_statement: SHOW MEMORY OBJECTS */ @@ -6116,7 +6106,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kMemoryObjects; } -#line 6120 "parser.cpp" +#line 6110 "parser.cpp" break; case 272: /* show_statement: SHOW MEMORY ALLOCATION */ @@ -6125,38 +6115,49 @@ YYLTYPE yylloc = yyloc_default; (yyval.show_stmt) = new infinity::ShowStatement(); (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kMemoryAllocation; } -#line 6129 "parser.cpp" +#line 6119 "parser.cpp" + break; + + case 273: /* show_statement: SHOW IDENTIFIER '(' ')' */ +#line 1959 "parser.y" + { + (yyval.show_stmt) = new infinity::ShowStatement(); + (yyval.show_stmt)->show_type_ = infinity::ShowStmtType::kFunction; + (yyval.show_stmt)->function_name_ = (yyvsp[-2].str_value); + free((yyvsp[-2].str_value)); +} +#line 6130 "parser.cpp" break; - case 273: /* flush_statement: FLUSH DATA */ -#line 1963 "parser.y" + case 274: /* flush_statement: FLUSH DATA */ +#line 1969 "parser.y" { (yyval.flush_stmt) = new infinity::FlushStatement(); (yyval.flush_stmt)->type_ = infinity::FlushType::kData; } -#line 6138 "parser.cpp" +#line 6139 "parser.cpp" break; - case 274: /* flush_statement: FLUSH LOG */ -#line 1967 "parser.y" + case 275: /* flush_statement: FLUSH LOG */ +#line 1973 "parser.y" { (yyval.flush_stmt) = new infinity::FlushStatement(); (yyval.flush_stmt)->type_ = infinity::FlushType::kLog; } -#line 6147 "parser.cpp" +#line 6148 "parser.cpp" break; - case 275: /* flush_statement: FLUSH BUFFER */ -#line 1971 "parser.y" + case 276: /* flush_statement: FLUSH BUFFER */ +#line 1977 "parser.y" { (yyval.flush_stmt) = new infinity::FlushStatement(); (yyval.flush_stmt)->type_ = infinity::FlushType::kBuffer; } -#line 6156 "parser.cpp" +#line 6157 "parser.cpp" break; - case 276: /* optimize_statement: OPTIMIZE table_name */ -#line 1979 "parser.y" + case 277: /* optimize_statement: OPTIMIZE table_name */ +#line 1985 "parser.y" { (yyval.optimize_stmt) = new infinity::OptimizeStatement(); if((yyvsp[0].table_name_t)->schema_name_ptr_ != nullptr) { @@ -6167,11 +6168,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].table_name_t)->table_name_ptr_); delete (yyvsp[0].table_name_t); } -#line 6171 "parser.cpp" +#line 6172 "parser.cpp" break; - case 277: /* optimize_statement: OPTIMIZE IDENTIFIER ON table_name with_index_param_list */ -#line 1990 "parser.y" + case 278: /* optimize_statement: OPTIMIZE IDENTIFIER ON table_name with_index_param_list */ +#line 1996 "parser.y" { (yyval.optimize_stmt) = new infinity::OptimizeStatement(); if((yyvsp[-1].table_name_t)->schema_name_ptr_ != nullptr) { @@ -6191,54 +6192,54 @@ YYLTYPE yylloc = yyloc_default; } delete (yyvsp[0].with_index_param_list_t); } -#line 6195 "parser.cpp" +#line 6196 "parser.cpp" break; - case 278: /* command_statement: USE IDENTIFIER */ -#line 2013 "parser.y" + case 279: /* command_statement: USE IDENTIFIER */ +#line 2019 "parser.y" { (yyval.command_stmt) = new infinity::CommandStatement(); ParserHelper::ToLower((yyvsp[0].str_value)); (yyval.command_stmt)->command_info_ = std::make_shared((yyvsp[0].str_value)); free((yyvsp[0].str_value)); } -#line 6206 "parser.cpp" +#line 6207 "parser.cpp" break; - case 279: /* command_statement: EXPORT PROFILES LONG_VALUE file_path */ -#line 2019 "parser.y" + case 280: /* command_statement: EXPORT PROFILES LONG_VALUE file_path */ +#line 2025 "parser.y" { (yyval.command_stmt) = new infinity::CommandStatement(); (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 6216 "parser.cpp" +#line 6217 "parser.cpp" break; - case 280: /* command_statement: SET SESSION IDENTIFIER ON */ -#line 2024 "parser.y" + case 281: /* command_statement: SET SESSION IDENTIFIER ON */ +#line 2030 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6227 "parser.cpp" +#line 6228 "parser.cpp" break; - case 281: /* command_statement: SET SESSION IDENTIFIER OFF */ -#line 2030 "parser.y" + case 282: /* command_statement: SET SESSION IDENTIFIER OFF */ +#line 2036 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6238 "parser.cpp" +#line 6239 "parser.cpp" break; - case 282: /* command_statement: SET SESSION IDENTIFIER IDENTIFIER */ -#line 2036 "parser.y" + case 283: /* command_statement: SET SESSION IDENTIFIER IDENTIFIER */ +#line 2042 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -6247,55 +6248,55 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].str_value)); free((yyvsp[0].str_value)); } -#line 6251 "parser.cpp" +#line 6252 "parser.cpp" break; - case 283: /* command_statement: SET SESSION IDENTIFIER LONG_VALUE */ -#line 2044 "parser.y" + case 284: /* command_statement: SET SESSION IDENTIFIER LONG_VALUE */ +#line 2050 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6262 "parser.cpp" +#line 6263 "parser.cpp" break; - case 284: /* command_statement: SET SESSION IDENTIFIER DOUBLE_VALUE */ -#line 2050 "parser.y" + case 285: /* command_statement: SET SESSION IDENTIFIER DOUBLE_VALUE */ +#line 2056 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6273 "parser.cpp" +#line 6274 "parser.cpp" break; - case 285: /* command_statement: SET GLOBAL IDENTIFIER ON */ -#line 2056 "parser.y" + case 286: /* command_statement: SET GLOBAL IDENTIFIER ON */ +#line 2062 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6284 "parser.cpp" +#line 6285 "parser.cpp" break; - case 286: /* command_statement: SET GLOBAL IDENTIFIER OFF */ -#line 2062 "parser.y" + case 287: /* command_statement: SET GLOBAL IDENTIFIER OFF */ +#line 2068 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6295 "parser.cpp" +#line 6296 "parser.cpp" break; - case 287: /* command_statement: SET GLOBAL IDENTIFIER IDENTIFIER */ -#line 2068 "parser.y" + case 288: /* command_statement: SET GLOBAL IDENTIFIER IDENTIFIER */ +#line 2074 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -6304,55 +6305,55 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].str_value)); free((yyvsp[0].str_value)); } -#line 6308 "parser.cpp" +#line 6309 "parser.cpp" break; - case 288: /* command_statement: SET GLOBAL IDENTIFIER LONG_VALUE */ -#line 2076 "parser.y" + case 289: /* command_statement: SET GLOBAL IDENTIFIER LONG_VALUE */ +#line 2082 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6319 "parser.cpp" +#line 6320 "parser.cpp" break; - case 289: /* command_statement: SET GLOBAL IDENTIFIER DOUBLE_VALUE */ -#line 2082 "parser.y" + case 290: /* command_statement: SET GLOBAL IDENTIFIER DOUBLE_VALUE */ +#line 2088 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6330 "parser.cpp" +#line 6331 "parser.cpp" break; - case 290: /* command_statement: SET CONFIG IDENTIFIER ON */ -#line 2088 "parser.y" + case 291: /* command_statement: SET CONFIG IDENTIFIER ON */ +#line 2094 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6341 "parser.cpp" +#line 6342 "parser.cpp" break; - case 291: /* command_statement: SET CONFIG IDENTIFIER OFF */ -#line 2094 "parser.y" + case 292: /* command_statement: SET CONFIG IDENTIFIER OFF */ +#line 2100 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6352 "parser.cpp" +#line 6353 "parser.cpp" break; - case 292: /* command_statement: SET CONFIG IDENTIFIER IDENTIFIER */ -#line 2100 "parser.y" + case 293: /* command_statement: SET CONFIG IDENTIFIER IDENTIFIER */ +#line 2106 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -6361,33 +6362,33 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-1].str_value)); free((yyvsp[0].str_value)); } -#line 6365 "parser.cpp" +#line 6366 "parser.cpp" break; - case 293: /* command_statement: SET CONFIG IDENTIFIER LONG_VALUE */ -#line 2108 "parser.y" + case 294: /* command_statement: SET CONFIG IDENTIFIER LONG_VALUE */ +#line 2114 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6376 "parser.cpp" +#line 6377 "parser.cpp" break; - case 294: /* command_statement: SET CONFIG IDENTIFIER DOUBLE_VALUE */ -#line 2114 "parser.y" + case 295: /* command_statement: SET CONFIG IDENTIFIER DOUBLE_VALUE */ +#line 2120 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); (yyval.command_stmt) = new infinity::CommandStatement(); (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 6387 "parser.cpp" +#line 6388 "parser.cpp" break; - case 295: /* command_statement: LOCK TABLE table_name */ -#line 2120 "parser.y" + case 296: /* command_statement: LOCK TABLE table_name */ +#line 2126 "parser.y" { (yyval.command_stmt) = new infinity::CommandStatement(); ParserHelper::ToLower((yyvsp[0].table_name_t)->schema_name_ptr_); @@ -6397,11 +6398,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].table_name_t)->table_name_ptr_); delete (yyvsp[0].table_name_t); } -#line 6401 "parser.cpp" +#line 6402 "parser.cpp" break; - case 296: /* command_statement: UNLOCK TABLE table_name */ -#line 2129 "parser.y" + case 297: /* command_statement: UNLOCK TABLE table_name */ +#line 2135 "parser.y" { (yyval.command_stmt) = new infinity::CommandStatement(); ParserHelper::ToLower((yyvsp[0].table_name_t)->schema_name_ptr_); @@ -6411,11 +6412,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].table_name_t)->table_name_ptr_); delete (yyvsp[0].table_name_t); } -#line 6415 "parser.cpp" +#line 6416 "parser.cpp" break; - case 297: /* compact_statement: COMPACT TABLE table_name */ -#line 2139 "parser.y" + case 298: /* compact_statement: COMPACT TABLE table_name */ +#line 2145 "parser.y" { std::string schema_name; if ((yyvsp[0].table_name_t)->schema_name_ptr_ != nullptr) { @@ -6428,41 +6429,41 @@ 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 6432 "parser.cpp" +#line 6433 "parser.cpp" break; - case 298: /* admin_statement: ADMIN SHOW CATALOGS */ -#line 2152 "parser.y" + case 299: /* admin_statement: ADMIN SHOW CATALOGS */ +#line 2158 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListCatalogs; } -#line 6441 "parser.cpp" +#line 6442 "parser.cpp" break; - case 299: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE */ -#line 2156 "parser.y" + case 300: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE */ +#line 2162 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowCatalog; (yyval.admin_stmt)->catalog_file_index_ = (yyvsp[0].long_value); } -#line 6451 "parser.cpp" +#line 6452 "parser.cpp" break; - case 300: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASES */ -#line 2161 "parser.y" + case 301: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASES */ +#line 2167 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListDatabases; (yyval.admin_stmt)->catalog_file_start_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->catalog_file_end_index_ = (yyvsp[-1].long_value); } -#line 6462 "parser.cpp" +#line 6463 "parser.cpp" break; - case 301: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE */ -#line 2167 "parser.y" + case 302: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE */ +#line 2173 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowDatabase; @@ -6470,11 +6471,11 @@ 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 6474 "parser.cpp" +#line 6475 "parser.cpp" break; - case 302: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLES */ -#line 2174 "parser.y" + case 303: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLES */ +#line 2180 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListTables; @@ -6483,11 +6484,11 @@ 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 6487 "parser.cpp" +#line 6488 "parser.cpp" break; - case 303: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE */ -#line 2182 "parser.y" + case 304: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE */ +#line 2188 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowTable; @@ -6497,11 +6498,11 @@ 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 6501 "parser.cpp" +#line 6502 "parser.cpp" break; - case 304: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE COLUMNS */ -#line 2191 "parser.y" + case 305: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE COLUMNS */ +#line 2197 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowColumn; @@ -6512,11 +6513,11 @@ 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 6516 "parser.cpp" +#line 6517 "parser.cpp" break; - case 305: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENTS */ -#line 2201 "parser.y" + case 306: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENTS */ +#line 2207 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListSegments; @@ -6527,11 +6528,11 @@ 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 6531 "parser.cpp" +#line 6532 "parser.cpp" break; - case 306: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENT LONG_VALUE */ -#line 2211 "parser.y" + case 307: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENT LONG_VALUE */ +#line 2217 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowSegment; @@ -6543,11 +6544,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->table_entry_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->segment_index_ = (yyvsp[0].long_value); } -#line 6547 "parser.cpp" +#line 6548 "parser.cpp" break; - case 307: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENT LONG_VALUE BLOCKS */ -#line 2222 "parser.y" + case 308: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE SEGMENT LONG_VALUE BLOCKS */ +#line 2228 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListBlocks; @@ -6559,11 +6560,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->table_entry_index_ = (yyvsp[-3].long_value); (yyval.admin_stmt)->segment_index_ = (yyvsp[-1].long_value); } -#line 6563 "parser.cpp" +#line 6564 "parser.cpp" break; - case 308: /* 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 */ -#line 2233 "parser.y" + case 309: /* 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 */ +#line 2239 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowBlock; @@ -6576,11 +6577,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->segment_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->block_index_ = (yyvsp[0].long_value); } -#line 6580 "parser.cpp" +#line 6581 "parser.cpp" break; - case 309: /* 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 */ -#line 2245 "parser.y" + case 310: /* 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 */ +#line 2251 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListColumns; @@ -6593,11 +6594,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->segment_index_ = (yyvsp[-3].long_value); (yyval.admin_stmt)->block_index_ = (yyvsp[-1].long_value); } -#line 6597 "parser.cpp" +#line 6598 "parser.cpp" break; - case 310: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE INDEXES */ -#line 2257 "parser.y" + case 311: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE INDEXES */ +#line 2263 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListIndexes; @@ -6608,11 +6609,11 @@ 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 6612 "parser.cpp" +#line 6613 "parser.cpp" break; - case 311: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE INDEX LONG_VALUE */ -#line 2267 "parser.y" + case 312: /* admin_statement: ADMIN SHOW CATALOG LONG_VALUE LONG_VALUE DATABASE LONG_VALUE LONG_VALUE TABLE LONG_VALUE LONG_VALUE INDEX LONG_VALUE */ +#line 2273 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowIndex; @@ -6624,11 +6625,11 @@ 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 6628 "parser.cpp" +#line 6629 "parser.cpp" break; - case 312: /* 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 */ -#line 2278 "parser.y" + case 313: /* 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 */ +#line 2284 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListIndexSegments; @@ -6641,11 +6642,11 @@ 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 6645 "parser.cpp" +#line 6646 "parser.cpp" break; - case 313: /* 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 */ -#line 2290 "parser.y" + case 314: /* 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 */ +#line 2296 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowIndexSegment; @@ -6659,129 +6660,129 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->index_entry_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->segment_index_ = (yyvsp[0].long_value); } -#line 6663 "parser.cpp" +#line 6664 "parser.cpp" break; - case 314: /* admin_statement: ADMIN SHOW LOGS */ -#line 2303 "parser.y" + case 315: /* admin_statement: ADMIN SHOW LOGS */ +#line 2309 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListLogFiles; } -#line 6672 "parser.cpp" +#line 6673 "parser.cpp" break; - case 315: /* admin_statement: ADMIN SHOW LOG LONG_VALUE */ -#line 2307 "parser.y" + case 316: /* admin_statement: ADMIN SHOW LOG LONG_VALUE */ +#line 2313 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowLogFile; (yyval.admin_stmt)->log_file_index_ = (yyvsp[0].long_value); } -#line 6682 "parser.cpp" +#line 6683 "parser.cpp" break; - case 316: /* admin_statement: ADMIN SHOW LOG LONG_VALUE INDEXES */ -#line 2312 "parser.y" + case 317: /* admin_statement: ADMIN SHOW LOG LONG_VALUE INDEXES */ +#line 2318 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListLogIndexes; (yyval.admin_stmt)->log_file_index_ = (yyvsp[-1].long_value); } -#line 6692 "parser.cpp" +#line 6693 "parser.cpp" break; - case 317: /* admin_statement: ADMIN SHOW LOG LONG_VALUE INDEX LONG_VALUE */ -#line 2317 "parser.y" + case 318: /* admin_statement: ADMIN SHOW LOG LONG_VALUE INDEX LONG_VALUE */ +#line 2323 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowLogIndex; (yyval.admin_stmt)->log_file_index_ = (yyvsp[-2].long_value); (yyval.admin_stmt)->log_index_in_file_ = (yyvsp[0].long_value); } -#line 6703 "parser.cpp" +#line 6704 "parser.cpp" break; - case 318: /* admin_statement: ADMIN SHOW CONFIGS */ -#line 2323 "parser.y" + case 319: /* admin_statement: ADMIN SHOW CONFIGS */ +#line 2329 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListConfigs; } -#line 6712 "parser.cpp" +#line 6713 "parser.cpp" break; - case 319: /* admin_statement: ADMIN SHOW VARIABLES */ -#line 2327 "parser.y" + case 320: /* admin_statement: ADMIN SHOW VARIABLES */ +#line 2333 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListVariables; } -#line 6721 "parser.cpp" +#line 6722 "parser.cpp" break; - case 320: /* admin_statement: ADMIN SHOW VARIABLE IDENTIFIER */ -#line 2331 "parser.y" + case 321: /* admin_statement: ADMIN SHOW VARIABLE IDENTIFIER */ +#line 2337 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowVariable; (yyval.admin_stmt)->variable_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 6732 "parser.cpp" +#line 6733 "parser.cpp" break; - case 321: /* admin_statement: ADMIN SHOW NODES */ -#line 2337 "parser.y" + case 322: /* admin_statement: ADMIN SHOW NODES */ +#line 2343 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kListNodes; } -#line 6741 "parser.cpp" +#line 6742 "parser.cpp" break; - case 322: /* admin_statement: ADMIN SHOW NODE STRING */ -#line 2341 "parser.y" + case 323: /* admin_statement: ADMIN SHOW NODE STRING */ +#line 2347 "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 6752 "parser.cpp" +#line 6753 "parser.cpp" break; - case 323: /* admin_statement: ADMIN SHOW NODE */ -#line 2347 "parser.y" + case 324: /* admin_statement: ADMIN SHOW NODE */ +#line 2353 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kShowCurrentNode; } -#line 6761 "parser.cpp" +#line 6762 "parser.cpp" break; - case 324: /* admin_statement: ADMIN SET ADMIN */ -#line 2351 "parser.y" + case 325: /* admin_statement: ADMIN SET ADMIN */ +#line 2357 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kSetRole; (yyval.admin_stmt)->admin_node_role_ = infinity::AdminNodeRole::kAdmin; } -#line 6771 "parser.cpp" +#line 6772 "parser.cpp" break; - case 325: /* admin_statement: ADMIN SET STANDALONE */ -#line 2356 "parser.y" + case 326: /* admin_statement: ADMIN SET STANDALONE */ +#line 2362 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kSetRole; (yyval.admin_stmt)->admin_node_role_ = infinity::AdminNodeRole::kStandalone; } -#line 6781 "parser.cpp" +#line 6782 "parser.cpp" break; - case 326: /* admin_statement: ADMIN SET LEADER USING STRING */ -#line 2361 "parser.y" + case 327: /* admin_statement: ADMIN SET LEADER USING STRING */ +#line 2367 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kSetRole; @@ -6789,11 +6790,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.admin_stmt)->node_name_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 6793 "parser.cpp" +#line 6794 "parser.cpp" break; - case 327: /* admin_statement: ADMIN CONNECT STRING AS FOLLOWER USING STRING */ -#line 2368 "parser.y" + case 328: /* admin_statement: ADMIN CONNECT STRING AS FOLLOWER USING STRING */ +#line 2374 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kSetRole; @@ -6803,11 +6804,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-4].str_value)); free((yyvsp[0].str_value)); } -#line 6807 "parser.cpp" +#line 6808 "parser.cpp" break; - case 328: /* admin_statement: ADMIN CONNECT STRING AS LEARNER USING STRING */ -#line 2377 "parser.y" + case 329: /* admin_statement: ADMIN CONNECT STRING AS LEARNER USING STRING */ +#line 2383 "parser.y" { (yyval.admin_stmt) = new infinity::AdminStatement(); (yyval.admin_stmt)->admin_type_ = infinity::AdminStmtType::kSetRole; @@ -6817,11 +6818,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-4].str_value)); free((yyvsp[0].str_value)); } -#line 6821 "parser.cpp" +#line 6822 "parser.cpp" break; - case 329: /* alter_statement: ALTER TABLE table_name RENAME TO IDENTIFIER */ -#line 2387 "parser.y" + case 330: /* alter_statement: ALTER TABLE table_name RENAME TO IDENTIFIER */ +#line 2393 "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; @@ -6831,11 +6832,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-3].table_name_t)->table_name_ptr_); delete (yyvsp[-3].table_name_t); } -#line 6835 "parser.cpp" +#line 6836 "parser.cpp" break; - case 330: /* alter_statement: ALTER TABLE table_name ADD COLUMN '(' column_def_array ')' */ -#line 2396 "parser.y" + case 331: /* alter_statement: ALTER TABLE table_name ADD COLUMN '(' column_def_array ')' */ +#line 2402 "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; @@ -6848,11 +6849,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-5].table_name_t)->table_name_ptr_); delete (yyvsp[-5].table_name_t); } -#line 6852 "parser.cpp" +#line 6853 "parser.cpp" break; - case 331: /* alter_statement: ALTER TABLE table_name DROP COLUMN '(' identifier_array ')' */ -#line 2408 "parser.y" + case 332: /* alter_statement: ALTER TABLE table_name DROP COLUMN '(' identifier_array ')' */ +#line 2414 "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; @@ -6864,38 +6865,38 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-5].table_name_t)->table_name_ptr_); delete (yyvsp[-5].table_name_t); } -#line 6868 "parser.cpp" +#line 6869 "parser.cpp" break; - case 332: /* expr_array: expr_alias */ -#line 2424 "parser.y" + case 333: /* expr_array: expr_alias */ +#line 2430 "parser.y" { (yyval.expr_array_t) = new std::vector(); (yyval.expr_array_t)->emplace_back((yyvsp[0].expr_t)); } -#line 6877 "parser.cpp" +#line 6878 "parser.cpp" break; - case 333: /* expr_array: expr_array ',' expr_alias */ -#line 2428 "parser.y" + case 334: /* expr_array: expr_array ',' expr_alias */ +#line 2434 "parser.y" { (yyvsp[-2].expr_array_t)->emplace_back((yyvsp[0].expr_t)); (yyval.expr_array_t) = (yyvsp[-2].expr_array_t); } -#line 6886 "parser.cpp" +#line 6887 "parser.cpp" break; - case 334: /* expr_array_list: '(' expr_array ')' */ -#line 2433 "parser.y" + case 335: /* expr_array_list: '(' expr_array ')' */ +#line 2439 "parser.y" { (yyval.expr_array_list_t) = new std::vector*>(); (yyval.expr_array_list_t)->push_back((yyvsp[-1].expr_array_t)); } -#line 6895 "parser.cpp" +#line 6896 "parser.cpp" break; - case 335: /* expr_array_list: expr_array_list ',' '(' expr_array ')' */ -#line 2437 "parser.y" + case 336: /* expr_array_list: expr_array_list ',' '(' expr_array ')' */ +#line 2443 "parser.y" { if(!(yyvsp[-4].expr_array_list_t)->empty() && (yyvsp[-4].expr_array_list_t)->back()->size() != (yyvsp[-1].expr_array_t)->size()) { yyerror(&yyloc, scanner, result, "The expr_array in list shall have the same size."); @@ -6917,57 +6918,57 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-4].expr_array_list_t)->push_back((yyvsp[-1].expr_array_t)); (yyval.expr_array_list_t) = (yyvsp[-4].expr_array_list_t); } -#line 6921 "parser.cpp" +#line 6922 "parser.cpp" break; - case 336: /* expr_alias: expr AS IDENTIFIER */ -#line 2470 "parser.y" + case 337: /* expr_alias: expr AS IDENTIFIER */ +#line 2476 "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 6932 "parser.cpp" +#line 6933 "parser.cpp" break; - case 337: /* expr_alias: expr */ -#line 2476 "parser.y" + case 338: /* expr_alias: expr */ +#line 2482 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 6940 "parser.cpp" +#line 6941 "parser.cpp" break; - case 343: /* operand: '(' expr ')' */ -#line 2486 "parser.y" + case 344: /* operand: '(' expr ')' */ +#line 2492 "parser.y" { (yyval.expr_t) = (yyvsp[-1].expr_t); } -#line 6948 "parser.cpp" +#line 6949 "parser.cpp" break; - case 344: /* operand: '(' select_without_paren ')' */ -#line 2489 "parser.y" + case 345: /* operand: '(' select_without_paren ')' */ +#line 2495 "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 6959 "parser.cpp" +#line 6960 "parser.cpp" break; - case 345: /* operand: constant_expr */ -#line 2495 "parser.y" + case 346: /* operand: constant_expr */ +#line 2501 "parser.y" { (yyval.expr_t) = (yyvsp[0].const_expr_t); } -#line 6967 "parser.cpp" +#line 6968 "parser.cpp" break; - case 356: /* match_tensor_expr: MATCH TENSOR '(' column_expr ',' common_array_expr ',' STRING ',' STRING ',' STRING optional_search_filter_expr ')' */ -#line 2511 "parser.y" + case 357: /* match_tensor_expr: MATCH TENSOR '(' column_expr ',' common_array_expr ',' STRING ',' STRING ',' STRING optional_search_filter_expr ')' */ +#line 2517 "parser.y" { auto match_tensor_expr = std::make_unique(); // search column @@ -6983,11 +6984,11 @@ YYLTYPE yylloc = yyloc_default; match_tensor_expr->SetOptionalFilter((yyvsp[-1].expr_t)); (yyval.expr_t) = match_tensor_expr.release(); } -#line 6987 "parser.cpp" +#line 6988 "parser.cpp" break; - case 357: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' USING INDEX '(' IDENTIFIER ')' with_index_param_list */ -#line 2529 "parser.y" + case 358: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' USING INDEX '(' IDENTIFIER ')' with_index_param_list */ +#line 2535 "parser.y" { infinity::KnnExpr* match_vector_expr = new infinity::KnnExpr(); (yyval.expr_t) = match_vector_expr; @@ -7033,11 +7034,11 @@ YYLTYPE yylloc = yyloc_default; Return1: ; } -#line 7037 "parser.cpp" +#line 7038 "parser.cpp" break; - case 358: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' IGNORE INDEX */ -#line 2575 "parser.y" + case 359: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' IGNORE INDEX */ +#line 2581 "parser.y" { infinity::KnnExpr* match_vector_expr = new infinity::KnnExpr(); (yyval.expr_t) = match_vector_expr; @@ -7076,11 +7077,11 @@ YYLTYPE yylloc = yyloc_default; Return2: ; } -#line 7080 "parser.cpp" +#line 7081 "parser.cpp" break; - case 359: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' with_index_param_list */ -#line 2614 "parser.y" + case 360: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' with_index_param_list */ +#line 2620 "parser.y" { infinity::KnnExpr* match_vector_expr = new infinity::KnnExpr(); (yyval.expr_t) = match_vector_expr; @@ -7123,11 +7124,11 @@ YYLTYPE yylloc = yyloc_default; Return3: ; } -#line 7127 "parser.cpp" +#line 7128 "parser.cpp" break; - case 360: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING optional_search_filter_expr ')' with_index_param_list */ -#line 2657 "parser.y" + case 361: /* match_vector_expr: MATCH VECTOR '(' expr ',' array_expr ',' STRING ',' STRING optional_search_filter_expr ')' with_index_param_list */ +#line 2663 "parser.y" { infinity::KnnExpr* match_vector_expr = new infinity::KnnExpr(); (yyval.expr_t) = match_vector_expr; @@ -7171,11 +7172,11 @@ YYLTYPE yylloc = yyloc_default; Return4: ; } -#line 7175 "parser.cpp" +#line 7176 "parser.cpp" break; - case 361: /* 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 2704 "parser.y" + case 362: /* 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 2710 "parser.y" { auto match_sparse_expr = new infinity::MatchSparseExpr(); (yyval.expr_t) = match_sparse_expr; @@ -7199,11 +7200,11 @@ YYLTYPE yylloc = yyloc_default; match_sparse_expr->index_name_ = (yyvsp[-2].str_value); free((yyvsp[-2].str_value)); } -#line 7203 "parser.cpp" +#line 7204 "parser.cpp" break; - case 362: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' IGNORE INDEX */ -#line 2728 "parser.y" + case 363: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' IGNORE INDEX */ +#line 2734 "parser.y" { auto match_sparse_expr = new infinity::MatchSparseExpr(); (yyval.expr_t) = match_sparse_expr; @@ -7226,11 +7227,11 @@ YYLTYPE yylloc = yyloc_default; match_sparse_expr->ignore_index_ = true; } -#line 7230 "parser.cpp" +#line 7231 "parser.cpp" break; - case 363: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' with_index_param_list */ -#line 2751 "parser.y" + case 364: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING ',' LONG_VALUE optional_search_filter_expr ')' with_index_param_list */ +#line 2757 "parser.y" { auto match_sparse_expr = new infinity::MatchSparseExpr(); (yyval.expr_t) = match_sparse_expr; @@ -7251,11 +7252,11 @@ YYLTYPE yylloc = yyloc_default; // topn and options match_sparse_expr->SetOptParams((yyvsp[-3].long_value), (yyvsp[0].with_index_param_list_t)); } -#line 7255 "parser.cpp" +#line 7256 "parser.cpp" break; - case 364: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING optional_search_filter_expr ')' with_index_param_list */ -#line 2772 "parser.y" + case 365: /* match_sparse_expr: MATCH SPARSE '(' expr ',' common_sparse_array_expr ',' STRING optional_search_filter_expr ')' with_index_param_list */ +#line 2778 "parser.y" { auto match_sparse_expr = new infinity::MatchSparseExpr(); (yyval.expr_t) = match_sparse_expr; @@ -7276,11 +7277,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 7280 "parser.cpp" +#line 7281 "parser.cpp" break; - case 365: /* match_text_expr: MATCH TEXT '(' STRING ',' STRING optional_search_filter_expr ')' */ -#line 2793 "parser.y" + case 366: /* match_text_expr: MATCH TEXT '(' STRING ',' STRING optional_search_filter_expr ')' */ +#line 2799 "parser.y" { infinity::MatchExpr* match_text_expr = new infinity::MatchExpr(); match_text_expr->fields_ = std::string((yyvsp[-4].str_value)); @@ -7290,11 +7291,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-2].str_value)); (yyval.expr_t) = match_text_expr; } -#line 7294 "parser.cpp" +#line 7295 "parser.cpp" break; - case 366: /* match_text_expr: MATCH TEXT '(' STRING ',' STRING ',' STRING optional_search_filter_expr ')' */ -#line 2802 "parser.y" + case 367: /* match_text_expr: MATCH TEXT '(' STRING ',' STRING ',' STRING optional_search_filter_expr ')' */ +#line 2808 "parser.y" { infinity::MatchExpr* match_text_expr = new infinity::MatchExpr(); match_text_expr->fields_ = std::string((yyvsp[-6].str_value)); @@ -7306,11 +7307,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-2].str_value)); (yyval.expr_t) = match_text_expr; } -#line 7310 "parser.cpp" +#line 7311 "parser.cpp" break; - case 367: /* query_expr: QUERY '(' STRING optional_search_filter_expr ')' */ -#line 2814 "parser.y" + case 368: /* query_expr: QUERY '(' STRING optional_search_filter_expr ')' */ +#line 2820 "parser.y" { infinity::MatchExpr* match_text_expr = new infinity::MatchExpr(); match_text_expr->matching_text_ = std::string((yyvsp[-2].str_value)); @@ -7318,11 +7319,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-2].str_value)); (yyval.expr_t) = match_text_expr; } -#line 7322 "parser.cpp" +#line 7323 "parser.cpp" break; - case 368: /* query_expr: QUERY '(' STRING ',' STRING optional_search_filter_expr ')' */ -#line 2821 "parser.y" + case 369: /* query_expr: QUERY '(' STRING ',' STRING optional_search_filter_expr ')' */ +#line 2827 "parser.y" { infinity::MatchExpr* match_text_expr = new infinity::MatchExpr(); match_text_expr->matching_text_ = std::string((yyvsp[-4].str_value)); @@ -7332,22 +7333,22 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[-2].str_value)); (yyval.expr_t) = match_text_expr; } -#line 7336 "parser.cpp" +#line 7337 "parser.cpp" break; - case 369: /* fusion_expr: FUSION '(' STRING ')' */ -#line 2831 "parser.y" + case 370: /* fusion_expr: FUSION '(' STRING ')' */ +#line 2837 "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 7347 "parser.cpp" +#line 7348 "parser.cpp" break; - case 370: /* fusion_expr: FUSION '(' STRING ',' STRING ')' */ -#line 2837 "parser.y" + case 371: /* fusion_expr: FUSION '(' STRING ',' STRING ')' */ +#line 2843 "parser.y" { auto fusion_expr = std::make_unique(); fusion_expr->method_ = std::string((yyvsp[-3].str_value)); @@ -7359,77 +7360,77 @@ YYLTYPE yylloc = yyloc_default; fusion_expr->JobAfterParser(); (yyval.expr_t) = fusion_expr.release(); } -#line 7363 "parser.cpp" +#line 7364 "parser.cpp" break; - case 371: /* sub_search: match_vector_expr */ -#line 2849 "parser.y" + case 372: /* sub_search: match_vector_expr */ +#line 2855 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7371 "parser.cpp" +#line 7372 "parser.cpp" break; - case 372: /* sub_search: match_text_expr */ -#line 2852 "parser.y" + case 373: /* sub_search: match_text_expr */ +#line 2858 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7379 "parser.cpp" +#line 7380 "parser.cpp" break; - case 373: /* sub_search: match_tensor_expr */ -#line 2855 "parser.y" + case 374: /* sub_search: match_tensor_expr */ +#line 2861 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7387 "parser.cpp" +#line 7388 "parser.cpp" break; - case 374: /* sub_search: match_sparse_expr */ -#line 2858 "parser.y" + case 375: /* sub_search: match_sparse_expr */ +#line 2864 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7395 "parser.cpp" +#line 7396 "parser.cpp" break; - case 375: /* sub_search: query_expr */ -#line 2861 "parser.y" + case 376: /* sub_search: query_expr */ +#line 2867 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7403 "parser.cpp" +#line 7404 "parser.cpp" break; - case 376: /* sub_search: fusion_expr */ -#line 2864 "parser.y" + case 377: /* sub_search: fusion_expr */ +#line 2870 "parser.y" { (yyval.expr_t) = (yyvsp[0].expr_t); } -#line 7411 "parser.cpp" +#line 7412 "parser.cpp" break; - case 377: /* sub_search_array: sub_search */ -#line 2868 "parser.y" + case 378: /* sub_search_array: sub_search */ +#line 2874 "parser.y" { (yyval.expr_array_t) = new std::vector(); (yyval.expr_array_t)->emplace_back((yyvsp[0].expr_t)); } -#line 7420 "parser.cpp" +#line 7421 "parser.cpp" break; - case 378: /* sub_search_array: sub_search_array ',' sub_search */ -#line 2872 "parser.y" + case 379: /* sub_search_array: sub_search_array ',' sub_search */ +#line 2878 "parser.y" { (yyvsp[-2].expr_array_t)->emplace_back((yyvsp[0].expr_t)); (yyval.expr_array_t) = (yyvsp[-2].expr_array_t); } -#line 7429 "parser.cpp" +#line 7430 "parser.cpp" break; - case 379: /* function_expr: IDENTIFIER '(' ')' */ -#line 2877 "parser.y" + case 380: /* function_expr: IDENTIFIER '(' ')' */ +#line 2883 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); ParserHelper::ToLower((yyvsp[-2].str_value)); @@ -7438,11 +7439,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_ = nullptr; (yyval.expr_t) = func_expr; } -#line 7442 "parser.cpp" +#line 7443 "parser.cpp" break; - case 380: /* function_expr: IDENTIFIER '(' expr_array ')' */ -#line 2885 "parser.y" + case 381: /* function_expr: IDENTIFIER '(' expr_array ')' */ +#line 2891 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); ParserHelper::ToLower((yyvsp[-3].str_value)); @@ -7451,11 +7452,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_ = (yyvsp[-1].expr_array_t); (yyval.expr_t) = func_expr; } -#line 7455 "parser.cpp" +#line 7456 "parser.cpp" break; - case 381: /* function_expr: IDENTIFIER '(' DISTINCT expr_array ')' */ -#line 2893 "parser.y" + case 382: /* function_expr: IDENTIFIER '(' DISTINCT expr_array ')' */ +#line 2899 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); ParserHelper::ToLower((yyvsp[-4].str_value)); @@ -7465,11 +7466,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->distinct_ = true; (yyval.expr_t) = func_expr; } -#line 7469 "parser.cpp" +#line 7470 "parser.cpp" break; - case 382: /* function_expr: operand IS NOT NULLABLE */ -#line 2902 "parser.y" + case 383: /* function_expr: operand IS NOT NULLABLE */ +#line 2908 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "is_not_null"; @@ -7477,11 +7478,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[-3].expr_t)); (yyval.expr_t) = func_expr; } -#line 7481 "parser.cpp" +#line 7482 "parser.cpp" break; - case 383: /* function_expr: operand IS NULLABLE */ -#line 2909 "parser.y" + case 384: /* function_expr: operand IS NULLABLE */ +#line 2915 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "is_null"; @@ -7489,11 +7490,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[-2].expr_t)); (yyval.expr_t) = func_expr; } -#line 7493 "parser.cpp" +#line 7494 "parser.cpp" break; - case 384: /* function_expr: NOT operand */ -#line 2916 "parser.y" + case 385: /* function_expr: NOT operand */ +#line 2922 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "not"; @@ -7501,11 +7502,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7505 "parser.cpp" +#line 7506 "parser.cpp" break; - case 385: /* function_expr: '-' operand */ -#line 2923 "parser.y" + case 386: /* function_expr: '-' operand */ +#line 2929 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "-"; @@ -7513,11 +7514,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7517 "parser.cpp" +#line 7518 "parser.cpp" break; - case 386: /* function_expr: '+' operand */ -#line 2930 "parser.y" + case 387: /* function_expr: '+' operand */ +#line 2936 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "+"; @@ -7525,11 +7526,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7529 "parser.cpp" +#line 7530 "parser.cpp" break; - case 387: /* function_expr: operand '-' operand */ -#line 2937 "parser.y" + case 388: /* function_expr: operand '-' operand */ +#line 2943 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "-"; @@ -7538,11 +7539,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7542 "parser.cpp" +#line 7543 "parser.cpp" break; - case 388: /* function_expr: operand '+' operand */ -#line 2945 "parser.y" + case 389: /* function_expr: operand '+' operand */ +#line 2951 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "+"; @@ -7551,11 +7552,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7555 "parser.cpp" +#line 7556 "parser.cpp" break; - case 389: /* function_expr: operand '*' operand */ -#line 2953 "parser.y" + case 390: /* function_expr: operand '*' operand */ +#line 2959 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "*"; @@ -7564,11 +7565,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7568 "parser.cpp" +#line 7569 "parser.cpp" break; - case 390: /* function_expr: operand '/' operand */ -#line 2961 "parser.y" + case 391: /* function_expr: operand '/' operand */ +#line 2967 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "/"; @@ -7577,11 +7578,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7581 "parser.cpp" +#line 7582 "parser.cpp" break; - case 391: /* function_expr: operand '%' operand */ -#line 2969 "parser.y" + case 392: /* function_expr: operand '%' operand */ +#line 2975 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "%"; @@ -7590,11 +7591,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7594 "parser.cpp" +#line 7595 "parser.cpp" break; - case 392: /* function_expr: operand '=' operand */ -#line 2977 "parser.y" + case 393: /* function_expr: operand '=' operand */ +#line 2983 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "="; @@ -7603,11 +7604,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7607 "parser.cpp" +#line 7608 "parser.cpp" break; - case 393: /* function_expr: operand EQUAL operand */ -#line 2985 "parser.y" + case 394: /* function_expr: operand EQUAL operand */ +#line 2991 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "="; @@ -7616,11 +7617,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7620 "parser.cpp" +#line 7621 "parser.cpp" break; - case 394: /* function_expr: operand NOT_EQ operand */ -#line 2993 "parser.y" + case 395: /* function_expr: operand NOT_EQ operand */ +#line 2999 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "<>"; @@ -7629,11 +7630,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7633 "parser.cpp" +#line 7634 "parser.cpp" break; - case 395: /* function_expr: operand '<' operand */ -#line 3001 "parser.y" + case 396: /* function_expr: operand '<' operand */ +#line 3007 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "<"; @@ -7642,11 +7643,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7646 "parser.cpp" +#line 7647 "parser.cpp" break; - case 396: /* function_expr: operand '>' operand */ -#line 3009 "parser.y" + case 397: /* function_expr: operand '>' operand */ +#line 3015 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = ">"; @@ -7655,11 +7656,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7659 "parser.cpp" +#line 7660 "parser.cpp" break; - case 397: /* function_expr: operand LESS_EQ operand */ -#line 3017 "parser.y" + case 398: /* function_expr: operand LESS_EQ operand */ +#line 3023 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "<="; @@ -7668,11 +7669,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7672 "parser.cpp" +#line 7673 "parser.cpp" break; - case 398: /* function_expr: operand GREATER_EQ operand */ -#line 3025 "parser.y" + case 399: /* function_expr: operand GREATER_EQ operand */ +#line 3031 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = ">="; @@ -7681,11 +7682,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7685 "parser.cpp" +#line 7686 "parser.cpp" break; - case 399: /* function_expr: EXTRACT '(' STRING FROM operand ')' */ -#line 3033 "parser.y" + case 400: /* function_expr: EXTRACT '(' STRING FROM operand ')' */ +#line 3039 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); ParserHelper::ToLower((yyvsp[-3].str_value)); @@ -7716,11 +7717,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[-1].expr_t)); (yyval.expr_t) = func_expr; } -#line 7720 "parser.cpp" +#line 7721 "parser.cpp" break; - case 400: /* function_expr: operand LIKE operand */ -#line 3063 "parser.y" + case 401: /* function_expr: operand LIKE operand */ +#line 3069 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "like"; @@ -7729,11 +7730,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7733 "parser.cpp" +#line 7734 "parser.cpp" break; - case 401: /* function_expr: operand NOT LIKE operand */ -#line 3071 "parser.y" + case 402: /* function_expr: operand NOT LIKE operand */ +#line 3077 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "not_like"; @@ -7742,11 +7743,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7746 "parser.cpp" +#line 7747 "parser.cpp" break; - case 402: /* conjunction_expr: expr AND expr */ -#line 3080 "parser.y" + case 403: /* conjunction_expr: expr AND expr */ +#line 3086 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "and"; @@ -7755,11 +7756,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7759 "parser.cpp" +#line 7760 "parser.cpp" break; - case 403: /* conjunction_expr: expr OR expr */ -#line 3088 "parser.y" + case 404: /* conjunction_expr: expr OR expr */ +#line 3094 "parser.y" { infinity::FunctionExpr* func_expr = new infinity::FunctionExpr(); func_expr->func_name_ = "or"; @@ -7768,11 +7769,11 @@ YYLTYPE yylloc = yyloc_default; func_expr->arguments_->emplace_back((yyvsp[0].expr_t)); (yyval.expr_t) = func_expr; } -#line 7772 "parser.cpp" +#line 7773 "parser.cpp" break; - case 404: /* between_expr: operand BETWEEN operand AND operand */ -#line 3097 "parser.y" + case 405: /* between_expr: operand BETWEEN operand AND operand */ +#line 3103 "parser.y" { infinity::BetweenExpr* between_expr = new infinity::BetweenExpr(); between_expr->value_ = (yyvsp[-4].expr_t); @@ -7780,44 +7781,44 @@ YYLTYPE yylloc = yyloc_default; between_expr->upper_bound_ = (yyvsp[0].expr_t); (yyval.expr_t) = between_expr; } -#line 7784 "parser.cpp" +#line 7785 "parser.cpp" break; - case 405: /* in_expr: operand IN '(' expr_array ')' */ -#line 3105 "parser.y" + case 406: /* in_expr: operand IN '(' expr_array ')' */ +#line 3111 "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 7795 "parser.cpp" +#line 7796 "parser.cpp" break; - case 406: /* in_expr: operand NOT IN '(' expr_array ')' */ -#line 3111 "parser.y" + case 407: /* in_expr: operand NOT IN '(' expr_array ')' */ +#line 3117 "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 7806 "parser.cpp" +#line 7807 "parser.cpp" break; - case 407: /* case_expr: CASE expr case_check_array END */ -#line 3118 "parser.y" + case 408: /* case_expr: CASE expr case_check_array END */ +#line 3124 "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 7817 "parser.cpp" +#line 7818 "parser.cpp" break; - case 408: /* case_expr: CASE expr case_check_array ELSE expr END */ -#line 3124 "parser.y" + case 409: /* case_expr: CASE expr case_check_array ELSE expr END */ +#line 3130 "parser.y" { infinity::CaseExpr* case_expr = new infinity::CaseExpr(); case_expr->expr_ = (yyvsp[-4].expr_t); @@ -7825,32 +7826,32 @@ YYLTYPE yylloc = yyloc_default; case_expr->else_expr_ = (yyvsp[-1].expr_t); (yyval.expr_t) = case_expr; } -#line 7829 "parser.cpp" +#line 7830 "parser.cpp" break; - case 409: /* case_expr: CASE case_check_array END */ -#line 3131 "parser.y" + case 410: /* case_expr: CASE case_check_array END */ +#line 3137 "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 7839 "parser.cpp" +#line 7840 "parser.cpp" break; - case 410: /* case_expr: CASE case_check_array ELSE expr END */ -#line 3136 "parser.y" + case 411: /* case_expr: CASE case_check_array ELSE expr END */ +#line 3142 "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 7850 "parser.cpp" +#line 7851 "parser.cpp" break; - case 411: /* case_check_array: WHEN expr THEN expr */ -#line 3143 "parser.y" + case 412: /* case_check_array: WHEN expr THEN expr */ +#line 3149 "parser.y" { (yyval.case_check_array_t) = new std::vector(); infinity::WhenThen* when_then_ptr = new infinity::WhenThen(); @@ -7858,11 +7859,11 @@ YYLTYPE yylloc = yyloc_default; when_then_ptr->then_ = (yyvsp[0].expr_t); (yyval.case_check_array_t)->emplace_back(when_then_ptr); } -#line 7862 "parser.cpp" +#line 7863 "parser.cpp" break; - case 412: /* case_check_array: case_check_array WHEN expr THEN expr */ -#line 3150 "parser.y" + case 413: /* case_check_array: case_check_array WHEN expr THEN expr */ +#line 3156 "parser.y" { infinity::WhenThen* when_then_ptr = new infinity::WhenThen(); when_then_ptr->when_ = (yyvsp[-2].expr_t); @@ -7870,11 +7871,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 7874 "parser.cpp" +#line 7875 "parser.cpp" break; - case 413: /* cast_expr: CAST '(' expr AS column_type ')' */ -#line 3158 "parser.y" + case 414: /* cast_expr: CAST '(' expr AS column_type ')' */ +#line 3164 "parser.y" { std::shared_ptr type_info_ptr{nullptr}; switch((yyvsp[-1].column_type_t).logical_type_) { @@ -7901,33 +7902,33 @@ YYLTYPE yylloc = yyloc_default; cast_expr->expr_ = (yyvsp[-3].expr_t); (yyval.expr_t) = cast_expr; } -#line 7905 "parser.cpp" +#line 7906 "parser.cpp" break; - case 414: /* subquery_expr: EXISTS '(' select_without_paren ')' */ -#line 3185 "parser.y" + case 415: /* subquery_expr: EXISTS '(' select_without_paren ')' */ +#line 3191 "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 7916 "parser.cpp" +#line 7917 "parser.cpp" break; - case 415: /* subquery_expr: NOT EXISTS '(' select_without_paren ')' */ -#line 3191 "parser.y" + case 416: /* subquery_expr: NOT EXISTS '(' select_without_paren ')' */ +#line 3197 "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 7927 "parser.cpp" +#line 7928 "parser.cpp" break; - case 416: /* subquery_expr: operand IN '(' select_without_paren ')' */ -#line 3197 "parser.y" + case 417: /* subquery_expr: operand IN '(' select_without_paren ')' */ +#line 3203 "parser.y" { infinity::SubqueryExpr* subquery_expr = new infinity::SubqueryExpr(); subquery_expr->subquery_type_ = infinity::SubqueryType::kIn; @@ -7935,11 +7936,11 @@ YYLTYPE yylloc = yyloc_default; subquery_expr->select_ = (yyvsp[-1].select_stmt); (yyval.expr_t) = subquery_expr; } -#line 7939 "parser.cpp" +#line 7940 "parser.cpp" break; - case 417: /* subquery_expr: operand NOT IN '(' select_without_paren ')' */ -#line 3204 "parser.y" + case 418: /* subquery_expr: operand NOT IN '(' select_without_paren ')' */ +#line 3210 "parser.y" { infinity::SubqueryExpr* subquery_expr = new infinity::SubqueryExpr(); subquery_expr->subquery_type_ = infinity::SubqueryType::kNotIn; @@ -7947,11 +7948,11 @@ YYLTYPE yylloc = yyloc_default; subquery_expr->select_ = (yyvsp[-1].select_stmt); (yyval.expr_t) = subquery_expr; } -#line 7951 "parser.cpp" +#line 7952 "parser.cpp" break; - case 418: /* column_expr: IDENTIFIER */ -#line 3212 "parser.y" + case 419: /* column_expr: IDENTIFIER */ +#line 3218 "parser.y" { infinity::ColumnExpr* column_expr = new infinity::ColumnExpr(); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -7959,11 +7960,11 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].str_value)); (yyval.expr_t) = column_expr; } -#line 7963 "parser.cpp" +#line 7964 "parser.cpp" break; - case 419: /* column_expr: column_expr '.' IDENTIFIER */ -#line 3219 "parser.y" + case 420: /* column_expr: column_expr '.' IDENTIFIER */ +#line 3225 "parser.y" { infinity::ColumnExpr* column_expr = (infinity::ColumnExpr*)(yyvsp[-2].expr_t); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -7971,21 +7972,21 @@ YYLTYPE yylloc = yyloc_default; free((yyvsp[0].str_value)); (yyval.expr_t) = column_expr; } -#line 7975 "parser.cpp" +#line 7976 "parser.cpp" break; - case 420: /* column_expr: '*' */ -#line 3226 "parser.y" + case 421: /* column_expr: '*' */ +#line 3232 "parser.y" { infinity::ColumnExpr* column_expr = new infinity::ColumnExpr(); column_expr->star_ = true; (yyval.expr_t) = column_expr; } -#line 7985 "parser.cpp" +#line 7986 "parser.cpp" break; - case 421: /* column_expr: column_expr '.' '*' */ -#line 3231 "parser.y" + case 422: /* column_expr: column_expr '.' '*' */ +#line 3237 "parser.y" { infinity::ColumnExpr* column_expr = (infinity::ColumnExpr*)(yyvsp[-2].expr_t); if(column_expr->star_) { @@ -7995,232 +7996,232 @@ YYLTYPE yylloc = yyloc_default; column_expr->star_ = true; (yyval.expr_t) = column_expr; } -#line 7999 "parser.cpp" +#line 8000 "parser.cpp" break; - case 422: /* constant_expr: STRING */ -#line 3241 "parser.y" + case 423: /* constant_expr: STRING */ +#line 3247 "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 8009 "parser.cpp" +#line 8010 "parser.cpp" break; - case 423: /* constant_expr: TRUE */ -#line 3246 "parser.y" + case 424: /* constant_expr: TRUE */ +#line 3252 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kBoolean); const_expr->bool_value_ = true; (yyval.const_expr_t) = const_expr; } -#line 8019 "parser.cpp" +#line 8020 "parser.cpp" break; - case 424: /* constant_expr: FALSE */ -#line 3251 "parser.y" + case 425: /* constant_expr: FALSE */ +#line 3257 "parser.y" { infinity::ConstantExpr* const_expr = new infinity::ConstantExpr(infinity::LiteralType::kBoolean); const_expr->bool_value_ = false; (yyval.const_expr_t) = const_expr; } -#line 8029 "parser.cpp" +#line 8030 "parser.cpp" break; - case 425: /* constant_expr: DOUBLE_VALUE */ -#line 3256 "parser.y" + case 426: /* constant_expr: DOUBLE_VALUE */ +#line 3262 "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 8039 "parser.cpp" +#line 8040 "parser.cpp" break; - case 426: /* constant_expr: LONG_VALUE */ -#line 3261 "parser.y" + case 427: /* constant_expr: LONG_VALUE */ +#line 3267 "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 8049 "parser.cpp" +#line 8050 "parser.cpp" break; - case 427: /* constant_expr: DATE STRING */ -#line 3266 "parser.y" + case 428: /* constant_expr: DATE STRING */ +#line 3272 "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 8059 "parser.cpp" +#line 8060 "parser.cpp" break; - case 428: /* constant_expr: TIME STRING */ -#line 3271 "parser.y" + case 429: /* constant_expr: TIME STRING */ +#line 3277 "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 8069 "parser.cpp" +#line 8070 "parser.cpp" break; - case 429: /* constant_expr: DATETIME STRING */ -#line 3276 "parser.y" + case 430: /* constant_expr: DATETIME STRING */ +#line 3282 "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 8079 "parser.cpp" +#line 8080 "parser.cpp" break; - case 430: /* constant_expr: TIMESTAMP STRING */ -#line 3281 "parser.y" + case 431: /* constant_expr: TIMESTAMP STRING */ +#line 3287 "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 8089 "parser.cpp" +#line 8090 "parser.cpp" break; - case 431: /* constant_expr: INTERVAL interval_expr */ -#line 3286 "parser.y" + case 432: /* constant_expr: INTERVAL interval_expr */ +#line 3292 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8097 "parser.cpp" +#line 8098 "parser.cpp" break; - case 432: /* constant_expr: interval_expr */ -#line 3289 "parser.y" + case 433: /* constant_expr: interval_expr */ +#line 3295 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8105 "parser.cpp" +#line 8106 "parser.cpp" break; - case 433: /* constant_expr: common_array_expr */ -#line 3292 "parser.y" + case 434: /* constant_expr: common_array_expr */ +#line 3298 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8113 "parser.cpp" +#line 8114 "parser.cpp" break; - case 434: /* common_array_expr: array_expr */ -#line 3296 "parser.y" + case 435: /* common_array_expr: array_expr */ +#line 3302 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8121 "parser.cpp" +#line 8122 "parser.cpp" break; - case 435: /* common_array_expr: subarray_array_expr */ -#line 3299 "parser.y" + case 436: /* common_array_expr: subarray_array_expr */ +#line 3305 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8129 "parser.cpp" +#line 8130 "parser.cpp" break; - case 436: /* common_array_expr: sparse_array_expr */ -#line 3302 "parser.y" + case 437: /* common_array_expr: sparse_array_expr */ +#line 3308 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8137 "parser.cpp" +#line 8138 "parser.cpp" break; - case 437: /* common_array_expr: empty_array_expr */ -#line 3305 "parser.y" + case 438: /* common_array_expr: empty_array_expr */ +#line 3311 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8145 "parser.cpp" +#line 8146 "parser.cpp" break; - case 438: /* common_sparse_array_expr: sparse_array_expr */ -#line 3309 "parser.y" + case 439: /* common_sparse_array_expr: sparse_array_expr */ +#line 3315 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8153 "parser.cpp" +#line 8154 "parser.cpp" break; - case 439: /* common_sparse_array_expr: array_expr */ -#line 3312 "parser.y" + case 440: /* common_sparse_array_expr: array_expr */ +#line 3318 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8161 "parser.cpp" +#line 8162 "parser.cpp" break; - case 440: /* common_sparse_array_expr: empty_array_expr */ -#line 3315 "parser.y" + case 441: /* common_sparse_array_expr: empty_array_expr */ +#line 3321 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8169 "parser.cpp" +#line 8170 "parser.cpp" break; - case 441: /* subarray_array_expr: unclosed_subarray_array_expr ']' */ -#line 3319 "parser.y" + case 442: /* subarray_array_expr: unclosed_subarray_array_expr ']' */ +#line 3325 "parser.y" { (yyval.const_expr_t) = (yyvsp[-1].const_expr_t); } -#line 8177 "parser.cpp" +#line 8178 "parser.cpp" break; - case 442: /* unclosed_subarray_array_expr: '[' common_array_expr */ -#line 3323 "parser.y" + case 443: /* unclosed_subarray_array_expr: '[' common_array_expr */ +#line 3329 "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 8187 "parser.cpp" +#line 8188 "parser.cpp" break; - case 443: /* unclosed_subarray_array_expr: unclosed_subarray_array_expr ',' common_array_expr */ -#line 3328 "parser.y" + case 444: /* unclosed_subarray_array_expr: unclosed_subarray_array_expr ',' common_array_expr */ +#line 3334 "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 8196 "parser.cpp" +#line 8197 "parser.cpp" break; - case 444: /* sparse_array_expr: long_sparse_array_expr */ -#line 3333 "parser.y" + case 445: /* sparse_array_expr: long_sparse_array_expr */ +#line 3339 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8204 "parser.cpp" +#line 8205 "parser.cpp" break; - case 445: /* sparse_array_expr: double_sparse_array_expr */ -#line 3336 "parser.y" + case 446: /* sparse_array_expr: double_sparse_array_expr */ +#line 3342 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8212 "parser.cpp" +#line 8213 "parser.cpp" break; - case 446: /* long_sparse_array_expr: unclosed_long_sparse_array_expr ']' */ -#line 3340 "parser.y" + case 447: /* long_sparse_array_expr: unclosed_long_sparse_array_expr ']' */ +#line 3346 "parser.y" { (yyval.const_expr_t) = (yyvsp[-1].const_expr_t); } -#line 8220 "parser.cpp" +#line 8221 "parser.cpp" break; - case 447: /* unclosed_long_sparse_array_expr: '[' int_sparse_ele */ -#line 3344 "parser.y" + case 448: /* unclosed_long_sparse_array_expr: '[' int_sparse_ele */ +#line 3350 "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); @@ -8228,30 +8229,30 @@ YYLTYPE yylloc = yyloc_default; delete (yyvsp[0].int_sparse_ele_t); (yyval.const_expr_t) = const_expr; } -#line 8232 "parser.cpp" +#line 8233 "parser.cpp" break; - case 448: /* unclosed_long_sparse_array_expr: unclosed_long_sparse_array_expr ',' int_sparse_ele */ -#line 3351 "parser.y" + case 449: /* unclosed_long_sparse_array_expr: unclosed_long_sparse_array_expr ',' int_sparse_ele */ +#line 3357 "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 8243 "parser.cpp" +#line 8244 "parser.cpp" break; - case 449: /* double_sparse_array_expr: unclosed_double_sparse_array_expr ']' */ -#line 3358 "parser.y" + case 450: /* double_sparse_array_expr: unclosed_double_sparse_array_expr ']' */ +#line 3364 "parser.y" { (yyval.const_expr_t) = (yyvsp[-1].const_expr_t); } -#line 8251 "parser.cpp" +#line 8252 "parser.cpp" break; - case 450: /* unclosed_double_sparse_array_expr: '[' float_sparse_ele */ -#line 3362 "parser.y" + case 451: /* unclosed_double_sparse_array_expr: '[' float_sparse_ele */ +#line 3368 "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); @@ -8259,266 +8260,266 @@ YYLTYPE yylloc = yyloc_default; delete (yyvsp[0].float_sparse_ele_t); (yyval.const_expr_t) = const_expr; } -#line 8263 "parser.cpp" +#line 8264 "parser.cpp" break; - case 451: /* unclosed_double_sparse_array_expr: unclosed_double_sparse_array_expr ',' float_sparse_ele */ -#line 3369 "parser.y" + case 452: /* unclosed_double_sparse_array_expr: unclosed_double_sparse_array_expr ',' float_sparse_ele */ +#line 3375 "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 8274 "parser.cpp" +#line 8275 "parser.cpp" break; - case 452: /* empty_array_expr: '[' ']' */ -#line 3376 "parser.y" + case 453: /* empty_array_expr: '[' ']' */ +#line 3382 "parser.y" { (yyval.const_expr_t) = new infinity::ConstantExpr(infinity::LiteralType::kEmptyArray); } -#line 8282 "parser.cpp" +#line 8283 "parser.cpp" break; - case 453: /* int_sparse_ele: LONG_VALUE ':' LONG_VALUE */ -#line 3380 "parser.y" + case 454: /* int_sparse_ele: LONG_VALUE ':' LONG_VALUE */ +#line 3386 "parser.y" { (yyval.int_sparse_ele_t) = new std::pair{(yyvsp[-2].long_value), (yyvsp[0].long_value)}; } -#line 8290 "parser.cpp" +#line 8291 "parser.cpp" break; - case 454: /* float_sparse_ele: LONG_VALUE ':' DOUBLE_VALUE */ -#line 3384 "parser.y" + case 455: /* float_sparse_ele: LONG_VALUE ':' DOUBLE_VALUE */ +#line 3390 "parser.y" { (yyval.float_sparse_ele_t) = new std::pair{(yyvsp[-2].long_value), (yyvsp[0].double_value)}; } -#line 8298 "parser.cpp" +#line 8299 "parser.cpp" break; - case 455: /* array_expr: long_array_expr */ -#line 3388 "parser.y" + case 456: /* array_expr: long_array_expr */ +#line 3394 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8306 "parser.cpp" +#line 8307 "parser.cpp" break; - case 456: /* array_expr: double_array_expr */ -#line 3391 "parser.y" + case 457: /* array_expr: double_array_expr */ +#line 3397 "parser.y" { (yyval.const_expr_t) = (yyvsp[0].const_expr_t); } -#line 8314 "parser.cpp" +#line 8315 "parser.cpp" break; - case 457: /* long_array_expr: unclosed_long_array_expr ']' */ -#line 3395 "parser.y" + case 458: /* long_array_expr: unclosed_long_array_expr ']' */ +#line 3401 "parser.y" { (yyval.const_expr_t) = (yyvsp[-1].const_expr_t); } -#line 8322 "parser.cpp" +#line 8323 "parser.cpp" break; - case 458: /* unclosed_long_array_expr: '[' LONG_VALUE */ -#line 3399 "parser.y" + case 459: /* unclosed_long_array_expr: '[' LONG_VALUE */ +#line 3405 "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 8332 "parser.cpp" +#line 8333 "parser.cpp" break; - case 459: /* unclosed_long_array_expr: unclosed_long_array_expr ',' LONG_VALUE */ -#line 3404 "parser.y" + case 460: /* unclosed_long_array_expr: unclosed_long_array_expr ',' LONG_VALUE */ +#line 3410 "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 8341 "parser.cpp" +#line 8342 "parser.cpp" break; - case 460: /* double_array_expr: unclosed_double_array_expr ']' */ -#line 3409 "parser.y" + case 461: /* double_array_expr: unclosed_double_array_expr ']' */ +#line 3415 "parser.y" { (yyval.const_expr_t) = (yyvsp[-1].const_expr_t); } -#line 8349 "parser.cpp" +#line 8350 "parser.cpp" break; - case 461: /* unclosed_double_array_expr: '[' DOUBLE_VALUE */ -#line 3413 "parser.y" + case 462: /* unclosed_double_array_expr: '[' DOUBLE_VALUE */ +#line 3419 "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 8359 "parser.cpp" +#line 8360 "parser.cpp" break; - case 462: /* unclosed_double_array_expr: unclosed_double_array_expr ',' DOUBLE_VALUE */ -#line 3418 "parser.y" + case 463: /* unclosed_double_array_expr: unclosed_double_array_expr ',' DOUBLE_VALUE */ +#line 3424 "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 8368 "parser.cpp" +#line 8369 "parser.cpp" break; - case 463: /* interval_expr: LONG_VALUE SECONDS */ -#line 3423 "parser.y" + case 464: /* interval_expr: LONG_VALUE SECONDS */ +#line 3429 "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 8379 "parser.cpp" +#line 8380 "parser.cpp" break; - case 464: /* interval_expr: LONG_VALUE SECOND */ -#line 3429 "parser.y" + case 465: /* interval_expr: LONG_VALUE SECOND */ +#line 3435 "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 8390 "parser.cpp" +#line 8391 "parser.cpp" break; - case 465: /* interval_expr: LONG_VALUE MINUTES */ -#line 3435 "parser.y" + case 466: /* interval_expr: LONG_VALUE MINUTES */ +#line 3441 "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 8401 "parser.cpp" +#line 8402 "parser.cpp" break; - case 466: /* interval_expr: LONG_VALUE MINUTE */ -#line 3441 "parser.y" + case 467: /* interval_expr: LONG_VALUE MINUTE */ +#line 3447 "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 8412 "parser.cpp" +#line 8413 "parser.cpp" break; - case 467: /* interval_expr: LONG_VALUE HOURS */ -#line 3447 "parser.y" + case 468: /* interval_expr: LONG_VALUE HOURS */ +#line 3453 "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 8423 "parser.cpp" +#line 8424 "parser.cpp" break; - case 468: /* interval_expr: LONG_VALUE HOUR */ -#line 3453 "parser.y" + case 469: /* interval_expr: LONG_VALUE HOUR */ +#line 3459 "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 8434 "parser.cpp" +#line 8435 "parser.cpp" break; - case 469: /* interval_expr: LONG_VALUE DAYS */ -#line 3459 "parser.y" + case 470: /* interval_expr: LONG_VALUE DAYS */ +#line 3465 "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 8445 "parser.cpp" +#line 8446 "parser.cpp" break; - case 470: /* interval_expr: LONG_VALUE DAY */ -#line 3465 "parser.y" + case 471: /* interval_expr: LONG_VALUE DAY */ +#line 3471 "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 8456 "parser.cpp" +#line 8457 "parser.cpp" break; - case 471: /* interval_expr: LONG_VALUE MONTHS */ -#line 3471 "parser.y" + case 472: /* interval_expr: LONG_VALUE MONTHS */ +#line 3477 "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 8467 "parser.cpp" +#line 8468 "parser.cpp" break; - case 472: /* interval_expr: LONG_VALUE MONTH */ -#line 3477 "parser.y" + case 473: /* interval_expr: LONG_VALUE MONTH */ +#line 3483 "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 8478 "parser.cpp" +#line 8479 "parser.cpp" break; - case 473: /* interval_expr: LONG_VALUE YEARS */ -#line 3483 "parser.y" + case 474: /* interval_expr: LONG_VALUE YEARS */ +#line 3489 "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 8489 "parser.cpp" +#line 8490 "parser.cpp" break; - case 474: /* interval_expr: LONG_VALUE YEAR */ -#line 3489 "parser.y" + case 475: /* interval_expr: LONG_VALUE YEAR */ +#line 3495 "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 8500 "parser.cpp" +#line 8501 "parser.cpp" break; - case 475: /* copy_option_list: copy_option */ -#line 3500 "parser.y" + case 476: /* copy_option_list: copy_option */ +#line 3506 "parser.y" { (yyval.copy_option_array) = new std::vector(); (yyval.copy_option_array)->push_back((yyvsp[0].copy_option_t)); } -#line 8509 "parser.cpp" +#line 8510 "parser.cpp" break; - case 476: /* copy_option_list: copy_option_list ',' copy_option */ -#line 3504 "parser.y" + case 477: /* copy_option_list: copy_option_list ',' copy_option */ +#line 3510 "parser.y" { (yyvsp[-2].copy_option_array)->push_back((yyvsp[0].copy_option_t)); (yyval.copy_option_array) = (yyvsp[-2].copy_option_array); } -#line 8518 "parser.cpp" +#line 8519 "parser.cpp" break; - case 477: /* copy_option: FORMAT IDENTIFIER */ -#line 3509 "parser.y" + case 478: /* copy_option: FORMAT IDENTIFIER */ +#line 3515 "parser.y" { (yyval.copy_option_t) = new infinity::CopyOption(); (yyval.copy_option_t)->option_type_ = infinity::CopyOptionType::kFormat; @@ -8550,11 +8551,11 @@ YYLTYPE yylloc = yyloc_default; YYERROR; } } -#line 8554 "parser.cpp" +#line 8555 "parser.cpp" break; - case 478: /* copy_option: DELIMITER STRING */ -#line 3540 "parser.y" + case 479: /* copy_option: DELIMITER STRING */ +#line 3546 "parser.y" { (yyval.copy_option_t) = new infinity::CopyOption(); (yyval.copy_option_t)->option_type_ = infinity::CopyOptionType::kDelimiter; @@ -8565,83 +8566,83 @@ YYLTYPE yylloc = yyloc_default; } free((yyvsp[0].str_value)); } -#line 8569 "parser.cpp" +#line 8570 "parser.cpp" break; - case 479: /* copy_option: HEADER */ -#line 3550 "parser.y" + case 480: /* copy_option: HEADER */ +#line 3556 "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 8579 "parser.cpp" +#line 8580 "parser.cpp" break; - case 480: /* copy_option: OFFSET LONG_VALUE */ -#line 3555 "parser.y" + case 481: /* copy_option: OFFSET LONG_VALUE */ +#line 3561 "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 8589 "parser.cpp" +#line 8590 "parser.cpp" break; - case 481: /* copy_option: LIMIT LONG_VALUE */ -#line 3560 "parser.y" + case 482: /* copy_option: LIMIT LONG_VALUE */ +#line 3566 "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 8599 "parser.cpp" +#line 8600 "parser.cpp" break; - case 482: /* copy_option: ROWLIMIT LONG_VALUE */ -#line 3565 "parser.y" + case 483: /* copy_option: ROWLIMIT LONG_VALUE */ +#line 3571 "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 8609 "parser.cpp" +#line 8610 "parser.cpp" break; - case 483: /* file_path: STRING */ -#line 3571 "parser.y" + case 484: /* file_path: STRING */ +#line 3577 "parser.y" { (yyval.str_value) = (yyvsp[0].str_value); } -#line 8617 "parser.cpp" +#line 8618 "parser.cpp" break; - case 484: /* if_exists: IF EXISTS */ -#line 3575 "parser.y" + case 485: /* if_exists: IF EXISTS */ +#line 3581 "parser.y" { (yyval.bool_value) = true; } -#line 8623 "parser.cpp" +#line 8624 "parser.cpp" break; - case 485: /* if_exists: %empty */ -#line 3576 "parser.y" + case 486: /* if_exists: %empty */ +#line 3582 "parser.y" { (yyval.bool_value) = false; } -#line 8629 "parser.cpp" +#line 8630 "parser.cpp" break; - case 486: /* if_not_exists: IF NOT EXISTS */ -#line 3578 "parser.y" + case 487: /* if_not_exists: IF NOT EXISTS */ +#line 3584 "parser.y" { (yyval.bool_value) = true; } -#line 8635 "parser.cpp" +#line 8636 "parser.cpp" break; - case 487: /* if_not_exists: %empty */ -#line 3579 "parser.y" + case 488: /* if_not_exists: %empty */ +#line 3585 "parser.y" { (yyval.bool_value) = false; } -#line 8641 "parser.cpp" +#line 8642 "parser.cpp" break; - case 490: /* if_not_exists_info: if_not_exists IDENTIFIER */ -#line 3594 "parser.y" + case 491: /* if_not_exists_info: if_not_exists IDENTIFIER */ +#line 3600 "parser.y" { (yyval.if_not_exists_info_t) = new infinity::IfNotExistsInfo(); (yyval.if_not_exists_info_t)->exists_ = true; @@ -8650,80 +8651,80 @@ YYLTYPE yylloc = yyloc_default; (yyval.if_not_exists_info_t)->info_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 8654 "parser.cpp" +#line 8655 "parser.cpp" break; - case 491: /* if_not_exists_info: %empty */ -#line 3602 "parser.y" + case 492: /* if_not_exists_info: %empty */ +#line 3608 "parser.y" { (yyval.if_not_exists_info_t) = new infinity::IfNotExistsInfo(); } -#line 8662 "parser.cpp" +#line 8663 "parser.cpp" break; - case 492: /* with_index_param_list: WITH '(' index_param_list ')' */ -#line 3606 "parser.y" + case 493: /* with_index_param_list: WITH '(' index_param_list ')' */ +#line 3612 "parser.y" { (yyval.with_index_param_list_t) = (yyvsp[-1].index_param_list_t); } -#line 8670 "parser.cpp" +#line 8671 "parser.cpp" break; - case 493: /* with_index_param_list: %empty */ -#line 3609 "parser.y" + case 494: /* with_index_param_list: %empty */ +#line 3615 "parser.y" { (yyval.with_index_param_list_t) = new std::vector(); } -#line 8678 "parser.cpp" +#line 8679 "parser.cpp" break; - case 494: /* optional_table_properties_list: PROPERTIES '(' index_param_list ')' */ -#line 3613 "parser.y" + case 495: /* optional_table_properties_list: PROPERTIES '(' index_param_list ')' */ +#line 3619 "parser.y" { (yyval.with_index_param_list_t) = (yyvsp[-1].index_param_list_t); } -#line 8686 "parser.cpp" +#line 8687 "parser.cpp" break; - case 495: /* optional_table_properties_list: %empty */ -#line 3616 "parser.y" + case 496: /* optional_table_properties_list: %empty */ +#line 3622 "parser.y" { (yyval.with_index_param_list_t) = nullptr; } -#line 8694 "parser.cpp" +#line 8695 "parser.cpp" break; - case 496: /* index_param_list: index_param */ -#line 3620 "parser.y" + case 497: /* index_param_list: index_param */ +#line 3626 "parser.y" { (yyval.index_param_list_t) = new std::vector(); (yyval.index_param_list_t)->push_back((yyvsp[0].index_param_t)); } -#line 8703 "parser.cpp" +#line 8704 "parser.cpp" break; - case 497: /* index_param_list: index_param_list ',' index_param */ -#line 3624 "parser.y" + case 498: /* index_param_list: index_param_list ',' index_param */ +#line 3630 "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 8712 "parser.cpp" +#line 8713 "parser.cpp" break; - case 498: /* index_param: IDENTIFIER */ -#line 3629 "parser.y" + case 499: /* index_param: IDENTIFIER */ +#line 3635 "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 8723 "parser.cpp" +#line 8724 "parser.cpp" break; - case 499: /* index_param: IDENTIFIER '=' IDENTIFIER */ -#line 3635 "parser.y" + case 500: /* index_param: IDENTIFIER '=' IDENTIFIER */ +#line 3641 "parser.y" { ParserHelper::ToLower((yyvsp[-2].str_value)); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -8734,11 +8735,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.index_param_t)->param_value_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 8738 "parser.cpp" +#line 8739 "parser.cpp" break; - case 500: /* index_param: IDENTIFIER '=' STRING */ -#line 3645 "parser.y" + case 501: /* index_param: IDENTIFIER '=' STRING */ +#line 3651 "parser.y" { ParserHelper::ToLower((yyvsp[-2].str_value)); ParserHelper::ToLower((yyvsp[0].str_value)); @@ -8749,11 +8750,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.index_param_t)->param_value_ = (yyvsp[0].str_value); free((yyvsp[0].str_value)); } -#line 8753 "parser.cpp" +#line 8754 "parser.cpp" break; - case 501: /* index_param: IDENTIFIER '=' LONG_VALUE */ -#line 3655 "parser.y" + case 502: /* index_param: IDENTIFIER '=' LONG_VALUE */ +#line 3661 "parser.y" { ParserHelper::ToLower((yyvsp[-2].str_value)); (yyval.index_param_t) = new infinity::InitParameter(); @@ -8762,11 +8763,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.index_param_t)->param_value_ = std::to_string((yyvsp[0].long_value)); } -#line 8766 "parser.cpp" +#line 8767 "parser.cpp" break; - case 502: /* index_param: IDENTIFIER '=' DOUBLE_VALUE */ -#line 3663 "parser.y" + case 503: /* index_param: IDENTIFIER '=' DOUBLE_VALUE */ +#line 3669 "parser.y" { ParserHelper::ToLower((yyvsp[-2].str_value)); (yyval.index_param_t) = new infinity::InitParameter(); @@ -8775,11 +8776,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.index_param_t)->param_value_ = std::to_string((yyvsp[0].double_value)); } -#line 8779 "parser.cpp" +#line 8780 "parser.cpp" break; - case 503: /* index_info: '(' IDENTIFIER ')' USING IDENTIFIER with_index_param_list */ -#line 3674 "parser.y" + case 504: /* index_info: '(' IDENTIFIER ')' USING IDENTIFIER with_index_param_list */ +#line 3680 "parser.y" { ParserHelper::ToLower((yyvsp[-1].str_value)); infinity::IndexType index_type = infinity::IndexType::kInvalid; @@ -8811,22 +8812,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 8815 "parser.cpp" +#line 8816 "parser.cpp" break; - case 504: /* index_info: '(' IDENTIFIER ')' */ -#line 3705 "parser.y" + case 505: /* index_info: '(' IDENTIFIER ')' */ +#line 3711 "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 8826 "parser.cpp" +#line 8827 "parser.cpp" break; -#line 8830 "parser.cpp" +#line 8831 "parser.cpp" default: break; } @@ -9055,7 +9056,7 @@ YYLTYPE yylloc = yyloc_default; return yyresult; } -#line 3712 "parser.y" +#line 3718 "parser.y" void diff --git a/src/parser/parser.y b/src/parser/parser.y index 0e3c5b79e6..d36089ae84 100644 --- a/src/parser/parser.y +++ b/src/parser/parser.y @@ -1955,6 +1955,12 @@ show_statement: SHOW DATABASES { | SHOW MEMORY ALLOCATION { $$ = new infinity::ShowStatement(); $$->show_type_ = infinity::ShowStmtType::kMemoryAllocation; +} +| SHOW IDENTIFIER '(' ')' { + $$ = new infinity::ShowStatement(); + $$->show_type_ = infinity::ShowStmtType::kFunction; + $$->function_name_ = $2; + free($2); }; /* diff --git a/src/parser/statement/show_statement.cpp b/src/parser/statement/show_statement.cpp index e71fe6efa8..c873272887 100644 --- a/src/parser/statement/show_statement.cpp +++ b/src/parser/statement/show_statement.cpp @@ -172,6 +172,10 @@ std::string ShowStatement::ToString() const { ss << "Show memory allocation"; break; } + case ShowStmtType::kFunction: { + ss << "Show function"; + break; + } } return ss.str(); } diff --git a/src/parser/statement/show_statement.h b/src/parser/statement/show_statement.h index 9a06d5e8bd..051cede4c5 100644 --- a/src/parser/statement/show_statement.h +++ b/src/parser/statement/show_statement.h @@ -58,6 +58,7 @@ enum class ShowStmtType { kMemory, kMemoryObjects, kMemoryAllocation, + kFunction }; class ShowStatement : public BaseStatement { @@ -71,6 +72,7 @@ class ShowStatement : public BaseStatement { std::string table_name_{}; std::optional index_name_{}; std::optional file_name_{}; + std::optional function_name_{}; std::optional segment_id_{}; std::optional block_id_{}; std::optional chunk_id_{}; diff --git a/src/planner/explain_ast.cpp b/src/planner/explain_ast.cpp index 06dc9425ea..2dbe4b64f6 100644 --- a/src/planner/explain_ast.cpp +++ b/src/planner/explain_ast.cpp @@ -723,6 +723,10 @@ Status ExplainAST::BuildShow(const ShowStatement *show_statement, SharedPtremplace_back(MakeShared("SHOW MEMORY ALLOCATION")); break; } + case ShowStmtType::kFunction: { + result->emplace_back(MakeShared("SHOW FUNCTION")); + break; + } } return Status::OK(); } diff --git a/src/planner/explain_logical_plan.cpp b/src/planner/explain_logical_plan.cpp index 27b14e6c20..42d8e04809 100644 --- a/src/planner/explain_logical_plan.cpp +++ b/src/planner/explain_logical_plan.cpp @@ -1939,6 +1939,24 @@ Status ExplainLogicalPlan::Explain(const LogicalShow *show_node, SharedPtremplace_back(MakeShared(show_str)); break; } + case ShowType::kShowFunction: { + String show_str; + if (intent_size != 0) { + show_str = String(intent_size - 2, ' '); + show_str += "-> SHOW FUNCTION"; + } else { + show_str = "SHOW FUNCTION"; + } + show_str += "("; + show_str += std::to_string(show_node->node_id()); + show_str += ")"; + result->emplace_back(MakeShared(show_str)); + + String output_columns_str = String(intent_size, ' '); + output_columns_str += " - output columns: [value]"; + result->emplace_back(MakeShared(output_columns_str)); + break; + } case ShowType::kInvalid: { String error_message = "Invalid show type"; UnrecoverableError(error_message); diff --git a/src/planner/logical_planner.cpp b/src/planner/logical_planner.cpp index e4f7e8495d..142bd2b4ef 100644 --- a/src/planner/logical_planner.cpp +++ b/src/planner/logical_planner.cpp @@ -1362,6 +1362,9 @@ Status LogicalPlanner::BuildShow(ShowStatement *statement, SharedPtr &bind_context_ptr) { + SharedPtr logical_show = MakeShared(bind_context_ptr->GetNewLogicalNodeId(), + ShowType::kShowFunction, + "", + "", + bind_context_ptr->GenerateTableIndex(), + None, + None, + None, + None, + None, + None, + None, + statement->function_name_); + + this->logical_plan_ = logical_show; + return Status::OK(); +} + Status LogicalPlanner::BuildFlush(const FlushStatement *statement, SharedPtr &bind_context_ptr) { switch (statement->type()) { case FlushType::kData: { diff --git a/src/planner/logical_planner.cppm b/src/planner/logical_planner.cppm index ac6b258d91..4e8b13cfe9 100644 --- a/src/planner/logical_planner.cppm +++ b/src/planner/logical_planner.cppm @@ -189,6 +189,8 @@ public: Status BuildShowMemoryAllocation(const ShowStatement *statement, SharedPtr &bind_context_ptr); + Status BuildShowFunction(const ShowStatement *statement, SharedPtr &bind_context_ptr); + // Flush Status BuildFlush(const FlushStatement *statement, SharedPtr &bind_context_ptr); diff --git a/src/planner/node/logical_show.cpp b/src/planner/node/logical_show.cpp index 97c841c9a2..3cc172586f 100644 --- a/src/planner/node/logical_show.cpp +++ b/src/planner/node/logical_show.cpp @@ -102,6 +102,8 @@ String ToString(ShowType type) { return "Show memory objects"; case ShowType::kShowMemoryAllocation: return "Show memory allocation"; + case ShowType::kShowFunction: + return "Show function"; case ShowType::kInvalid: { String error_message = "Invalid chunk scan type"; UnrecoverableError(error_message); diff --git a/src/planner/node/logical_show.cppm b/src/planner/node/logical_show.cppm index 10a0a5bac6..df17abc9c7 100644 --- a/src/planner/node/logical_show.cppm +++ b/src/planner/node/logical_show.cppm @@ -64,6 +64,7 @@ export enum class ShowType { kShowMemory, kShowMemoryObjects, kShowMemoryAllocation, + kShowFunction, }; export String ToString(ShowType type); @@ -81,9 +82,11 @@ public: Optional column_id = None, Optional index_name = None, Optional session_id = None, - Optional txn_id = None) + Optional txn_id = None, + Optional function_name = None) : LogicalNode(node_id, LogicalNodeType::kShow), show_type_(type), schema_name_(std::move(schema_name)), object_name_(std::move(object_name)), - table_index_(table_index), segment_id_(segment_id), block_id_(block_id), chunk_id_(chunk_id), column_id_(column_id), index_name_(index_name), session_id_(session_id), txn_id_(txn_id) {} + table_index_(table_index), segment_id_(segment_id), block_id_(block_id), chunk_id_(chunk_id), column_id_(column_id), + index_name_(index_name), session_id_(session_id), txn_id_(txn_id), function_name_(function_name) {} [[nodiscard]] Vector GetColumnBindings() const final; @@ -117,6 +120,8 @@ public: [[nodiscard]] inline const Optional index_name() const { return index_name_; } + [[nodiscard]] inline const Optional function_name() const { return function_name_; } + private: ShowType show_type_{ShowType::kInvalid}; String schema_name_; @@ -130,6 +135,7 @@ private: Optional index_name_{}; Optional session_id_{}; Optional txn_id_{}; + Optional function_name_{}; }; } // namespace infinity