@@ -25,7 +25,8 @@ Y_UNIT_TEST_SUITE(KqpSort) {
25
25
26
26
NJson::TJsonValue plan;
27
27
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
28
- auto node = FindPlanNodeByKv (plan, " Node Type" , " Limit-TableFullScan" ); // without `Sort`
28
+ Cout << plan;
29
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableFullScan" ); // without `Sort`
29
30
UNIT_ASSERT (node.IsDefined ());
30
31
auto read = FindPlanNodeByKv (node, " Name" , " TableFullScan" );
31
32
UNIT_ASSERT (read .IsDefined ());
@@ -60,13 +61,8 @@ Y_UNIT_TEST_SUITE(KqpSort) {
60
61
61
62
NJson::TJsonValue plan;
62
63
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
63
- auto node = FindPlanNodeByKv (plan, " Node Type" , " Limit-Filter-TableRangeScan" ); // without `Sort`
64
- if (!node.IsDefined ()) {
65
- node = FindPlanNodeByKv (plan, " Node Type" , " Filter-TableRangeScan" ); // without `Sort`
66
- }
67
- if (!node.IsDefined ()) {
68
- node = FindPlanNodeByKv (plan, " Node Type" , " Limit-TableRangeScan" ); // without `Sort`
69
- }
64
+ Cout << plan;
65
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableRangeScan" ); // without `Sort`
70
66
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
71
67
auto read = FindPlanNodeByKv (node, " Name" , " TableRangeScan" );
72
68
UNIT_ASSERT (read .IsDefined ());
@@ -100,7 +96,8 @@ Y_UNIT_TEST_SUITE(KqpSort) {
100
96
101
97
NJson::TJsonValue plan;
102
98
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
103
- auto node = FindPlanNodeByKv (plan, " Node Type" , " Limit-TableFullScan" ); // without `Sort`
99
+ Cout << plan;
100
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableFullScan" ); // without `Sort`
104
101
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
105
102
auto read = FindPlanNodeByKv (node, " Name" , " TableFullScan" );
106
103
UNIT_ASSERT (read .IsDefined ());
@@ -137,7 +134,8 @@ Y_UNIT_TEST_SUITE(KqpSort) {
137
134
138
135
NJson::TJsonValue plan;
139
136
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
140
- auto node = FindPlanNodeByKv (plan, " Node Type" , " TopSort-TableFullScan" );
137
+ Cout << plan;
138
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableFullScan" );
141
139
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
142
140
UNIT_ASSERT (!node.GetMapSafe ().contains (" Reverse" ));
143
141
}
@@ -173,13 +171,8 @@ Y_UNIT_TEST_SUITE(KqpSort) {
173
171
174
172
NJson::TJsonValue plan;
175
173
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
176
- auto node = FindPlanNodeByKv (plan, " Node Type" , " Limit-Filter-TableRangeScan" );
177
- if (!node.IsDefined ()) {
178
- node = FindPlanNodeByKv (plan, " Node Type" , " Filter-TableRangeScan" );
179
- }
180
- if (!node.IsDefined ()) {
181
- node = FindPlanNodeByKv (plan, " Node Type" , " Limit-TableRangeScan" );
182
- }
174
+ Cout << plan;
175
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableRangeScan" );
183
176
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
184
177
auto read = FindPlanNodeByKv (node, " Name" , " TableRangeScan" );
185
178
UNIT_ASSERT (read .IsDefined ());
@@ -218,12 +211,13 @@ Y_UNIT_TEST_SUITE(KqpSort) {
218
211
219
212
NJson::TJsonValue plan;
220
213
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
221
- auto node = FindPlanNodeByKv (plan, " Node Type" , " Limit-TableFullScan" );
214
+ Cout << plan;
215
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableFullScan" );
222
216
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
223
217
auto read = FindPlanNodeByKv (node, " Name" , " TableFullScan" );
224
218
UNIT_ASSERT (read .IsDefined ());
225
219
UNIT_ASSERT (read .GetMapSafe ().contains (" Reverse" ));
226
- auto limit = FindPlanNodeByKv (node , " Name" , " Limit" );
220
+ auto limit = FindPlanNodeByKv (plan , " Name" , " Limit" );
227
221
UNIT_ASSERT (limit.IsDefined ());
228
222
UNIT_ASSERT (limit.GetMapSafe ().contains (" Limit" ));
229
223
}
@@ -258,26 +252,15 @@ Y_UNIT_TEST_SUITE(KqpSort) {
258
252
259
253
NJson::TJsonValue plan;
260
254
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
261
- auto node = FindPlanNodeByKv (plan, " Node Type" , " Limit-Filter-TableRangeScan" );
262
- if (!node.IsDefined ()) {
263
- node = FindPlanNodeByKv (plan, " Node Type" , " Filter-TableRangeScan" );
264
- }
265
- if (!node.IsDefined ()) {
266
- node = FindPlanNodeByKv (plan, " Node Type" , " Limit-TableRangeScan" );
267
- }
255
+ Cout << plan;
256
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableRangeScan" );
257
+
268
258
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
269
259
auto read = FindPlanNodeByKv (node, " Name" , " TableRangeScan" );
270
260
UNIT_ASSERT (read .IsDefined ());
271
261
UNIT_ASSERT (read .GetMapSafe ().contains (" Reverse" ));
272
- auto limit = FindPlanNodeByKv (node, " Name" , " Limit" );
273
- if (!limit.IsDefined ()) {
274
- limit = FindPlanNodeByKv (node, " Name" , " Filter" );
275
- UNIT_ASSERT (limit.GetMapSafe ().contains (" Limit" ));
276
- } else {
277
- UNIT_ASSERT (limit.IsDefined ());
278
- UNIT_ASSERT (limit.GetMapSafe ().contains (" Limit" ));
279
- UNIT_ASSERT_C (result.GetAst ().Contains (" '\" ItemsLimit\" " ), result.GetAst ());
280
- }
262
+
263
+ UNIT_ASSERT_C (result.GetAst ().Contains (" '\" ItemsLimit\" " ), result.GetAst ());
281
264
}
282
265
283
266
{
@@ -311,7 +294,8 @@ Y_UNIT_TEST_SUITE(KqpSort) {
311
294
312
295
NJson::TJsonValue plan;
313
296
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
314
- auto node = FindPlanNodeByKv (plan, " Node Type" , " Limit-TableFullScan" );
297
+ Cout << plan;
298
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableFullScan" );
315
299
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
316
300
auto read = FindPlanNodeByKv (node, " Name" , " TableFullScan" );
317
301
UNIT_ASSERT (read .IsDefined ());
@@ -358,10 +342,8 @@ Y_UNIT_TEST_SUITE(KqpSort) {
358
342
359
343
NJson::TJsonValue plan;
360
344
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
361
- auto node = FindPlanNodeByKv (plan, " Node Type" , " TopSort-TableRangeScan" );
362
- if (!node.IsDefined ()) {
363
- node = FindPlanNodeByKv (plan, " Node Type" , " TopSort-Filter-TableRangeScan" );
364
- }
345
+ Cout << plan;
346
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableRangeScan" );
365
347
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
366
348
}
367
349
@@ -415,10 +397,8 @@ Y_UNIT_TEST_SUITE(KqpSort) {
415
397
416
398
NJson::TJsonValue plan;
417
399
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
418
- auto node = FindPlanNodeByKv (plan, " Node Type" , " TopSort-TableRangeScan" );
419
- if (!node.IsDefined ()) {
420
- node = FindPlanNodeByKv (plan, " Node Type" , " TopSort-Filter-TableRangeScan" );
421
- }
400
+ Cout << plan;
401
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableRangeScan" );
422
402
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
423
403
}
424
404
@@ -920,7 +900,8 @@ Y_UNIT_TEST_SUITE(KqpSort) {
920
900
921
901
NJson::TJsonValue plan;
922
902
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
923
- auto node = FindPlanNodeByKv (plan, " Node Type" , " Limit-TableFullScan" );
903
+ Cout << plan;
904
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableFullScan" );
924
905
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
925
906
}
926
907
@@ -966,8 +947,10 @@ Y_UNIT_TEST_SUITE(KqpSort) {
966
947
967
948
NJson::TJsonValue plan;
968
949
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
969
- auto node = FindPlanNodeByKv (plan, " Node Type" , " Limit-Filter-TableFullScan" );
950
+ Cout << plan;
951
+ auto node = FindPlanNodeByKv (plan, " Node Type" , " TableFullScan" );
970
952
UNIT_ASSERT_C (node.IsDefined (), result.GetPlan ());
953
+ node = FindPlanNodeByKv (plan, " Node Type" , " Limit-Filter" );
971
954
auto limit = FindPlanNodeByKv (node, " Limit" , " Min(1001,$limit)" );
972
955
UNIT_ASSERT (limit.IsDefined ());
973
956
}
@@ -1053,20 +1036,12 @@ Y_UNIT_TEST_SUITE(KqpSort) {
1053
1036
1054
1037
NJson::TJsonValue plan;
1055
1038
NJson::ReadJsonTree (result.GetPlan (), &plan, true );
1039
+ Cout << plan;
1056
1040
1057
- auto tableRangeRead = FindPlanNodeByKv (plan, " Node Type" , " Limit-Filter-TableRangeScan" );
1058
- size_t lookupIndex = 2 ;
1059
- if (!tableRangeRead.IsDefined ()) {
1060
- tableRangeRead = FindPlanNodeByKv (plan, " Node Type" , " Limit-TableRangeScan" );
1061
- lookupIndex = 1 ;
1062
- }
1041
+ auto tableRangeRead = FindPlanNodeByKv (plan, " Node Type" , " TableRangeScan" );
1063
1042
UNIT_ASSERT (tableRangeRead.IsDefined ());
1064
1043
1065
- auto & limitOp = tableRangeRead.GetMapSafe ().at (" Operators" ).GetArraySafe ().at (0 ).GetMapSafe ();
1066
- UNIT_ASSERT_VALUES_EQUAL (" Limit" , limitOp.at (" Name" ).GetStringSafe ());
1067
- UNIT_ASSERT_VALUES_EQUAL (" $limit" , limitOp.at (" Limit" ).GetStringSafe ());
1068
-
1069
- auto & rangeReadOp = tableRangeRead.GetMapSafe ().at (" Operators" ).GetArraySafe ().at (lookupIndex).GetMapSafe ();
1044
+ auto & rangeReadOp = tableRangeRead.GetMapSafe ().at (" Operators" ).GetArraySafe ().at (0 ).GetMapSafe ();
1070
1045
UNIT_ASSERT_VALUES_EQUAL (" TableRangeScan" , rangeReadOp.at (" Name" ).GetStringSafe ());
1071
1046
UNIT_ASSERT_VALUES_EQUAL (" index" , rangeReadOp.at (" Table" ).GetStringSafe ());
1072
1047
}
0 commit comments